Drivers and tools to run Windows XP on newer hardware

Discussion in 'Windows XP / Older OS' started by daniel_k, Apr 25, 2020.

  1. genieautravail

    genieautravail MDL Junior Member

    Sep 17, 2014
    52
    1
    0
  2. genieautravail

    genieautravail MDL Junior Member

    Sep 17, 2014
    52
    1
    0
    @Andalu

    The russian patch is installed on one of my main computers since two years and I have a lot of issues with it like numberous BSOD caused by SRWare Iron 49. :mad:
    Fortunately, by the boot.ini file I can on/off the patch. :p
    But to be be honest, I have never formated a drive on this computer.
    Tomorrow I will try to format a drive and see what is happening.
     
  3. genieautravail

    genieautravail MDL Junior Member

    Sep 17, 2014
    52
    1
    0
    @daniel_k

    Just a confirmation that the issue is resolved by replacing the original usbport.ys file by the one from W2k3. :D

    Have a nice day!
     
  4. genieautravail

    genieautravail MDL Junior Member

    Sep 17, 2014
    52
    1
    0
    @Andalu

    With the russian patch I can format a drive on a USB 2.0 port.
    It's logical as the patch has replaced the original uspport.sys file by the one from W2k3. :rolleyes:
     
  5. bear_aussie

    bear_aussie MDL Member

    Jun 8, 2015
    228
    201
    10
    :confused:
    pae (& pse-36) give u 64gb not 128
    pse-40 gives u 1tb
    (but pse-40 is a 64bit cpu feature so u mite as well run windows 64 at that point :))
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  6. Andalu

    Andalu MDL Novice

    Apr 25, 2020
    10
    0
    0
    I was referring to "Dibya's ram PAE limit patch addon" from the Ryanvm.net website. In the readme file attached to the patch is reported: "This patch will remove 3.25Gb Ram limit of xp sp3 32bit and extend the limit to 128GB". But it never worked on my system so I can't confirm or deny its real effectiveness.
     
  7. daniel_k

    daniel_k MDL Member

    Jan 21, 2019
    157
    242
    10
    @genieautravail

    To check if a driver might be susceptible to PAE issues, just see if it calls IoGetDmaAdapter.

    From the list of files of the russian PAE patch, you'll see that only usbport.sys calls IoGetDmaAdapter.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  8. genieautravail

    genieautravail MDL Junior Member

    Sep 17, 2014
    52
    1
    0
    #108 genieautravail, Oct 19, 2020
    Last edited: Oct 19, 2020
    OK, but what tool do you use for list the calls of a .sys file ? :confused:

    Have a nice day!
     
  9. daniel_k

    daniel_k MDL Member

    Jan 21, 2019
    157
    242
    10
    For this specific case, just open a Command Prompt and type:
    Code:
    find /C "IoGetDmaAdapter" *.sys
    should return something like:
    Code:
    ---------- USBPORT.SYS: 1
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  10. genieautravail

    genieautravail MDL Junior Member

    Sep 17, 2014
    52
    1
    0
    OK, after scanning my Drivers folder, I get the following results :

    ---------- C:\WINDOWS\SYSTEM32\DRIVERS\CINEMST2.SYS: 1 CineMaster C 1.2 WDM Driver
    ---------- C:\WINDOWS\SYSTEM32\DRIVERS\FDC.SYS: 1 Floppy Disk Controller Driver (I don't have a floppy drive)
    ---------- C:\WINDOWS\SYSTEM32\DRIVERS\IASTOR.SYS: 1 Intel Rapid Storage Technology driver - x86
    ---------- C:\WINDOWS\SYSTEM32\DRIVERS\NDIS.SYS: 1 NDIS 5.1 wrapper driver
    ---------- C:\WINDOWS\SYSTEM32\DRIVERS\NVATA.SYS: 1 NVIDIA® nForce(TM) IDE Performance Drive (I don't use this driver, I'am in AHCI mode)
    ---------- C:\WINDOWS\SYSTEM32\DRIVERS\NVATABUS.SYS: 1 NVIDIA® nForce(TM) IDE Performance Drive (I don't use this driver, I'am in AHCI mode)
    ---------- C:\WINDOWS\SYSTEM32\DRIVERS\PCI.SYS: 1 Plug-and-Play PCI Enumerator for NT
    ---------- C:\WINDOWS\SYSTEM32\DRIVERS\PCIIDEX.SYS: 1 PCI IDE Bus Driver Extension
    ---------- C:\WINDOWS\SYSTEM32\DRIVERS\PCMCIA.SYS: 1 PCMCIA Bus Driver (most of my laptops have a PCMCIA ExpressCard connector)
    ---------- C:\WINDOWS\SYSTEM32\DRIVERS\PORTCLS.SYS: 1 Port Class (Class Driver for Port/Miniport Devices)
    ---------- C:\WINDOWS\SYSTEM32\DRIVERS\RUSB3XHC.SYS: 1 Renesas USB 3.0 Hub Driver
    ---------- C:\WINDOWS\SYSTEM32\DRIVERS\SCSIPORT.SYS: 1 SCSI Port Driver
    ---------- C:\WINDOWS\SYSTEM32\DRIVERS\SDBUS.SYS: 1 SecureDigital Bus Driver
    ---------- C:\WINDOWS\SYSTEM32\DRIVERS\STREAM.SYS: 1 WDM CODEC Class Device Driver 2.0
    ---------- C:\WINDOWS\SYSTEM32\DRIVERS\USBPORT.SYS: 1
    ---------- C:\WINDOWS\SYSTEM32\DRIVERS\VIDEOPRT.SYS: 1 Video Port Driver

    What do you think about that ?
    Will I have some troubles with these drivers when WINXPPAE is enabled ? ;)

    Have a nice day !
     
  11. daniel_k

    daniel_k MDL Member

    Jan 21, 2019
    157
    242
    10
    Just telling you that a badly written driver that calls that function may misbehave when PAE is enabled.
    When Microsoft removed PAE from SP2+, they also "broke" usbport.sys.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  12. genieautravail

    genieautravail MDL Junior Member

    Sep 17, 2014
    52
    1
    0
    Phew!

    I am relieved ! :)

    Have a nice day !
     
  13. Wong Ting Lun

    Wong Ting Lun MDL Novice

    Jun 26, 2020
    11
    2
    0
    Win7 already has good news. The <modded ACPI.sys> that allows Win7 to support ACPI 5.0+ will be released on the SMXDIY forum. Hope that XP will also have similar good news.
     
  14. George King

    George King MDL Addicted

    Aug 5, 2009
    647
    491
    30
    @daniel_k

    Is there any chance for new switches, to specify which files I would like to patch using WinXPPAE v2 patcher?
    According to XP2ESD which uses Russian MyFactory, that using Longhorn bootloader with /detectHAL on first boot which uses dtecthal.inf that install correct files.

    boot.ini
    Code:
    [boot loader]
    timeout=15
    default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
    [operating systems]
    multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP"  /fastdetect /noexecute=alwaysoff /detecthal
    multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="1.Standart PC"  /fastdetect /noexecute=alwaysoff /hal=halstd.dll /kernel=ntkrnlst.exe
    multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="2.ACPI PC"  /fastdetect /noexecute=alwaysoff /hal=halacpi.dll /kernel=ntkrnlst.exe
    multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="3.ACPI Uniprocessor PC"  /fastdetect /noexecute=alwaysoff /hal=halaacpi.dll /kernel=ntkrnlst.exe
    multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="4.ACPI Multiprocessor PC"  /fastdetect /noexecute=alwaysoff /hal=halmacpi.dll /kernel=ntkrnlmp.exe
    multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="5.Uniprocessor PC with MPS"  /fastdetect /noexecute=alwaysoff /hal=halapic.dll /kernel=ntkrnlst.exe
    multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="6.Multiprocessor PC with MPS"  /fastdetect /noexecute=alwaysoff /hal=halmps.dll /kernel=ntkrnlmp.exe
    multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Safe mode boot"  /fastdetect /noexecute=alwaysoff /safeboot:minimal /sos /bootlog /noguiboot
    
    dtechal.inf
    Code:
    ;Autogenerated multihall loader 
    
    [Version] 
    signature="$Windows NT$"
    DriverVer=07/01/2001 
    
    [hal] 
    MPS_MP         = halmps.dll 
    MPS_UP         = halapic.dll 
    E_ISA_UP       = halstd.dll 
    ACPIPIC_UP     = halacpi.dll 
    ACPIAPIC_UP    = halaacpi.dll 
    ACPIAPIC_MP    = halmacpi.dll 
     
    [ACPIOptions] 
    ACPIEnable = 2 
    ACPIBiosDate = 01,01,1999 
    It would be great if we can use your patcher from WinPE before first boot with specified files to patch.
    Currently it's not possible to use this patcher on running system, that is deployed with XP2ESD. I have no idea how I can change this Longhorn feature with HALs - as I'm happy it brings solution for deploying images to different HW configuration without problems.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  15. daniel_k

    daniel_k MDL Member

    Jan 21, 2019
    157
    242
    10
    Maybe later, but can't promise you anything.

    Have been busy lately and on my little spare time I'm working on other stuff.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  16. genieautravail

    genieautravail MDL Junior Member

    Sep 17, 2014
    52
    1
    0
    @daniel_k

    Do you have read my post above ?

    Regards
     
  17. daniel_k

    daniel_k MDL Member

    Jan 21, 2019
    157
    242
    10
    @genieautravail

    Check if the entries below are correct, that's all I can suggest to you.

    HKLM\SYSTEM\CurrentControlSet\Control\ServiceGroupOrder
    List (reg_multi_sz)
    System Reserved
    WdfLoadGroup
    Boot Bus Extender
    System Bus Extender
    ,,,

    HKLM\System\CurrentControlSet\Services\Wdf01000
    Group (reg_sz)
    WdfLoadGroup

    HKLM\SYSTEM\CurrentControlSet\Control\GroupOrderList
    WdfLoadGroup (binary)
    01,00,00,00,01,00,00,00
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  18. Vineet Garg

    Vineet Garg MDL Novice

    Aug 4, 2016
    21
    5
    0
  19. genieautravail

    genieautravail MDL Junior Member

    Sep 17, 2014
    52
    1
    0
    #120 genieautravail, Jan 25, 2021
    Last edited: Jan 25, 2021
    As @daniel_k wrote in the readme file:

    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.


    How to test the patched files without messing with original files:

    - Run the WinXPPAE.exe with proper command line switches
    - Rename ntkrpamp.exe to ntkrpae.exe
    - Rename halmacpi.dll to halpae.dll
    - Copy both files to \Windows\System32 folder.

    Add this to the end of the [operating systems] section of boot.ini:
    multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows XP (PAE Test)" /noexecute=optin /fastdetect /HAL=halpae.dll /KERNEL=ntkrpae.exe

    The multi(0)disk(0)rdisk(0)partition(1)\WINDOWS string must match the already existing entry.

    Restart and select that boot option.