Jump to content

reboot12

Member
  • Posts

    437
  • Joined

  • Last visited

  • Donations

    0.00 USD 
  • Country

    Poland

Posts posted by reboot12

  1. Which patch for WinXP SP2 ? I tried WinXPPAE_v35.7z but patch only ntkrnl*.exe

    Search for differences
    
    1. C:\WINDOWS\system32\ntkrnlpa.exe: 2 015 232 bytes
    2. C:\WINDOWS\system32\ntkrnl2.exe: 2 015 232 bytes
    Offsets: hexadec.
    
       138:	D9	23
       139:	22	1E
    15BF1B:	07	00
    15BF20:	01	02
    160F0E:	74	EB
    1B07CC:	10	00
    1B07CD:	00	02
    1B07E2:	1B	00
    1B07EA:	FC	F8
    1B07EE:	01	02
    
    10 difference(s) found. 

    I try use patched files from Dibya128GB -> ntkrnlpa.exe + hal.dll but OS not boot and only black screen.

  2.  

    14 hours ago, NewcomerAl said:

    For uefiseven I suggest to rename "csmwrap.efi" to "u7.original.efi" for chainload.
    Or write a shell script.

    No, chainload not work:

      UefiMain Found Windows Boot Manager at '\u7.original.efi'
        Launch Loaded 'PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x4,0xFFFF,0x0)/HD(1,MBR,0xD5AED5AE,0x800,0x32000)/\u7.original.efi'
        Launch Addresss behind FileImageHandle=C1B43718
        Launch File does not match an EFI loader signature

    but I fix and compile special version U7 no load Windows Boot Manager :cool: - use verbose=1 in UefiSeven.ini to display this info on screen:
    u7nwbm.png u7nwbm1.png

    u7nwbm2.png

    but CSMWrap replace C0000 memory using VBIOS PCIe or SeaVGABIOS. I wonder if you compile a special version of CSMWrap that doesn't change anything in memory under C0000 and if Windows would boot into the vga.sys driver ?

    https://www.mediafire.com/file/o1mp9mbx11iyudm/u7nwbm.efi/file

  3. 3 hours ago, Dietmar said:

    Do you have an idea, how to come back to the UEFI shell,

    after using u7.efi

    Simply not use u7.original.efi file - after u7 start set resolution and put fake int10 in C0000 memory but display error than not found u7.original.efi and after press Enter go back to shell:

    FileExists Unable to open file '\u7.original.efi' for reading (error: Not Found)
    UefiMain Could not find Windows Boot Manager at '\u7.original.efi'
    UefiMain Press Enter to continue.

    https://github.com/FlyGoat/CSMWrap/issues/37#issuecomment-2961137267

  4. @Dietmar

    For CSMWrap to use VBIOS PCIe card I use this bios settings:
    PCIe-Primary.png

    For new iGPU no drivers for xp then this is best way to use xp on modern desktop compi (for Haswell I have xp drivers so that's why I use the Multi-Monitor option)

    The iGPU cannot be set as the Primary Display in the bios because then CSMWrap will load SeaVGABIOS and you can't install a graphics driver on it

  5. To display the image on the monitor WinXP does not care what is in memory under C0000 if the graphics card manufacturer's driver is installed.

    • Asus B85 with two graphics cards: iGPU Haswell (has legacy & GOP but this is not important), PCIe AMD6450 (has both legacy & GOP and this is very important)
    • in bios settings CSM Disabled. Primary Display PCIE because CSMWrap can use VBIOS this card for xp32 on vga.sys if use ntldr loader. Multi-monitor Enabled for xp32 see both in Device Manager

    What I did:

    • boot PC in pure UEFI 64-bit to UEFI Shell > run CSMWrap 64-bit 1.2.1 > SeaBIOS boot xp from HDD using ntldr
    • install AMD graphics driver
    • reboot
    • install Haswell graphics driver
    • reboot
    • now possible use any loader ntldr or bootmgr to boot xp - in xp display settings I set Primary display iGPU to make this pictures:

    ntldr.png bootmgr.png

    I make boot.bmp 640x480 4-bit logo and put in WINDOWS folder, then add to boot.ini switch /bootlogo /noguiboot - thank to this on screen stay this logo after xp boot if you use ntldr loader.

    If the bootmgr loader is used, the aurora logo from winload.exe is left on the screen.

    On both card I have 3D acceleration :-) and possible change primary monitor or enable extend desktop. In C0000 memory is always VBIOS from PCIe card

  6. @Dietmar

    I tested the files on Haswell with iGPU, but they absloutely do not change anything compared to the original files.

    Also try build PCIOpRom then load in UEFI Shell but command loadpcirom load only UEFI part (GOP) from file igpu.rom:

    efirom -f 0x8086 -i 0x0412 -b vbios.rom -ec gop.efi -r 0x0000 --pci23 -l 0x030000 -o igpu.rom

    I tried also boot MS-DOS 6.22 from USB, then using rambios.com load iGPU vbios.rom but screen make black then PC hangs:

    rambios /i vbios.rom


    msdos-rambios.jpg

  7. On 6/7/2025 at 2:02 AM, Dietmar said:

    After soso much crazy tests and hacks I succeed with the Nvidia GT 730 graphik card for to boot XP SP3 with full 32 bit 3D graphik

    on the Arrow Lake Gigabyte board B860 DS3H under pure Uefi, means no csm at all.

    Write what hacks you applied to boot xp on this motherboard with a PCIe GT 730 graphics card.

  8. @Dietmar

    I think that rom builded using efirom can work and CSMWrap will be able to use the legacy part from the loaded rom file. In uefi bios legacy VBIOS iGPU is in RAW area in CSMCORE module and CSMWrap not know where. But if you use loadpcirom legacy+uefi.rom your graphics card then maybe CSMwrap see legacy part using PCI I/O protocol same as use legacy rom from PCIe graphics card.

    raw-in-CSMCORE.png

  9. 42 minutes ago, Dietmar said:

    PS: Is there a possibility, at an UEFI shell,

           to load the Legacy VGA Option Rom from that connected graphik card to C0000 in memory?

    RAW OpROM (55 AA beginning) probably not but maybe after make efi rom image using efirom.exe tool possible - look at this:

    https://msfn.org/board/topic/178182-xp-pro-x64-os-boot-nvme/page/3/#comment-1227538

    On 10/18/2022 at 7:16 PM, reboot12 said:

    I built a new ROM (legacy+UEFI) using efirom.exe for my Samsung 970 EVO (144D A808):
    efirom -f 0x144d -i 0xa808 -b legacya808.bin -ec ext.efi -r 0x0000 --pci23 -l 0x000002 -o image_A808.rom

  10. @Dietmar

    I test, test and test WinXP 32-bit SP2 with CSMWrap 1.2.1 on Asus B85M-E

    Config:

    • iGPU Haswell, monitor connected over HDMI-HDMI cable (has both legacy and GOP VBIOS)
    • PCIe AMD6450 in second PCIe slot x16 work at x4, same monitor connected over DP-HDMI (second HDMI port on monitor) (has both legacy on PCIe card chip and GOP VBIOS inserted to motherboard bios)
    • Monitor THOMSON 1360x768 native resolution with 3 HDMI port input

    XP boot OK on vga.sys :

    • on Haswell need set Primary Display iGPU in bios, work on bootmgr+BCD+winload.exe 5472 > boot on SeaVGABIOS from CSMWrap:
      XP desktop in 1024x768 32-bit on full monitor area if boot PC from bios Boot Menu then select HDD
      XP desktop in 640x480 32-bit on top left corner monitor area if PC auto boot from HDD
      not possible install Intel Haswell graphics driver - no free resources (yes there are Haswell iGPU drivers for XP and they work in normal legacy mode)
    • on AMD need set Primary Display PCIE in bios, work on ntldr > boot on legacy VBIOS AMD6450
      XP desktop in 1024x768 32-bit on full monitor area
      possible install AMD drivers and works 3D

    If I swap loaders:

    • ntldr for Haswell iGPU then black screen and xp hangs but if set VGA Enable 1 before run CSMWrap (mm 0001003e 8 -pci) then boot OK but black screen
    • winload.exe for PCIe AMD then stay on aurora boot screen but boot OK

    Running bios Boot Menu set GOP to 1024x768 then xp works in same resolution. Instead Boot Menu possible use u7.efi 1.31 with UefiSeven.ini set to 1024x768 without u7.original.efi to make error in U7 then fallback to UEFI Shell - I use startup.nsh

    @echo -off
    
    if exist fs0:\EFI\Boot\121.efi then
    set base "fs0:"
    endif
    if exist fs1:\EFI\Boot\121.efi then
    set base "fs1:"
    endif
    if exist fs2:\EFI\Boot\121.efi then
    set base "fs2:"
    endif
    if exist fs3:\EFI\Boot\121.efi then
    set base "fs3:"
    endif
    if exist fs4:\EFI\Boot\121.efi then
    set base "fs4:"
    endif
    if exist fs5:\EFI\Boot\121.efi then
    set base "fs5:"
    endif
    if exist fs6:\EFI\Boot\121.efi then
    set base "fs6:"
    endif
    if exist fs7:\EFI\Boot\121.efi then
    set base "fs7:"
    endif
    if exist fs8:\EFI\Boot\121.efi then
    set base "fs8:"
    endif
    if exist fs9:\EFI\Boot\121.efi then
    set base "fs9:"
    endif
    if exist fsa:\EFI\Boot\121.efi then
    set base "fsa:"
    endif
    if exist fsb:\EFI\Boot\121.efi then
    set base "fsb:"
    endif
    
    %base%
    u7.efi
    EFI\Boot\121.efi
    	
  11. 2 hours ago, Dietmar said:

    The Bios or XP notice (!), if there is a monitor connected to that card in Slot1 or not.

    Try change in bios Primary Display from Auto to PCIE if you use PCIe graphics card. If you have second monitor connected to iGPU disconnect it.

  12. 1 hour ago, Dietmar said:

    It has an Legacy VGA Option Rom.

    With my post from above I only want you to know, how I succeed with full 32 bit graphik on the Arrow Lake board.

    OK, but before you write on the forum about something new that you discovered, first write back to the previous post because it looks like you are ignoring which is very annoying :angry:

  13. 31 minutes ago, Dietmar said:

    I just check again: The GT 730 does not have an Legacy VGA Option Rom.

    I don't believe it. I asked you to take a screenshot in xp in SlicTool Kit (slic.exe):
    https://www.mediafire.com/file/zuxxznjxjjnn3u1/memory_check.zip/file

    At the moment I'm not interested in whether the card works on ArrowLake with CSMwrap just whether it actually has VBIOS - connect card to other old motherboard run xp in legacy mode and please use slic tool kit.

  14. 16 minutes ago, Dietmar said:

    The AMD has Legacy VGA Option Rom, the Nvidia GT 730 not.

    It is impossible that such an old graphics card GT 730 does not have a Legacy vbios, after all, you booted the computer with this card in Legacy mode using CSMWrap - right?
    https://msfn.org/board/topic/186793-csmwrap-boot-csm-on-uefi-only-systems/page/10/#findComment-1280463

    This is proof that it has vbios - show what the SLIC ToolKit memory dump at C0000 shows:
    https://msfn.org/board/topic/186793-csmwrap-boot-csm-on-uefi-only-systems/page/9/#findComment-1280402

  15. @Dietmar

    I noticed an interesting thing - I did the xp32 tests with CSMWrap described in the last few posts on the original xp sp2 files including acpi.sys and there were no problems with acpi. Today I wanted to test something, I set CSM Enabled in the bios, I run the system without CSMWrap and there is BSOD A5.

    I replaced the acpi.sys outside of the running system with the ones from you - modded acpi.sys 5.2 and the system boots fine - but it seems to be related to the fact that I use winload.exe and it has a problem with the original acpi.sys - I seem to have written about it before (in 2019 and 2020) on BA about xp 64-bit + winload.exe:
    https://www.betaarchive.com/forum/viewtopic.php?p=445453&sid=c0c23f5574a1881384f2de47f5f59987#p445453

    https://www.betaarchive.com/forum/viewtopic.php?p=447734&sid=c0c23f5574a1881384f2de47f5f59987#p447734

    Very interesting that with CSMWrap work ok original acpi.sys + winload.exe

  16.  

    6 hours ago, Dietmar said:

    Please tell me step by step, how you integrated amd-gop from that card into Bios on board of a compi,

    which tool you need and can this be done for other graphik cards also

    GOP not from this one but from a similar HD7450

    Did you read this post? I described on betaarchive.com with pictures:
    https://msfn.org/board/topic/186793-csmwrap-boot-csm-on-uefi-only-systems/page/9/#findComment-1280411

    Insert .ffs file using UEFITool:
    https://www.mediafire.com/file/hdkw8v22lhixv8c/AMD-GOP.zip/file

    Instruction step-by-step on other example driver:
    https://github.com/pbatard/efifs/wiki/Adding-a-driver-to-a-UEFI-firmware

    Read tutorial from Adding the module to the firmware

  17. @Dietmar

    Yes, VGA Enable 1 help boot xp32 on iGPU using normal ntldr - black screen but OS works - I have Remote Administrator installed and OS works in 640x480 4-bit (Memory Remap Enabled or Disabled):
    VGA-Enable-i-GPU-ntldr-radmin.png

    00 01 00 - bridge to which the graphics card iGPU is connected
    00 02 00 - iGPU

    No need set I/O acces and Bus master 'Command (4)' for iGPU because is default set to 7 - only VGA Enable for bridge:

    mm 0001003e 8 -pci
    CSMWrap121.efi

    If VGA Enable is 0 then OS hang for some minutes (about ~3) and in WinDbg BSOD 0x4000008a:

    Microsoft (R) Windows Debugger Version 6.12.0002.633 AMD64
    Copyright (c) Microsoft Corporation. All rights reserved.
    
    Opened \\.\com3
    Waiting to reconnect...
    Connected to Windows XP 2600 x86 compatible target at (Fri Jun  6 15:34:42.574 2025 (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 XP Kernel Version 2600 MP (1 procs) Free x86 compatible
    Built by: 2600.xpsp_sp2_rtm.040803-2158
    Machine Name:
    Kernel base = 0x804d7000 PsLoadedModuleList = 0x8055c700
    System Uptime: not available
    watchdog!WdUpdateRecoveryState: Recovery enabled.
    
    *** Fatal System Error: 0x4000008a
                           (0x89ECE990,0xB9D7DA60,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.
    
    *********************************************************************
    * 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: 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 - 
    *******************************************************************************
    *                                                                             *
    *                        Bugcheck Analysis                                    *
    *                                                                             *
    *******************************************************************************
    
    Use !analyze -v to get detailed debugging information.
    
    BugCheck 4000008A, {89ece990, b9d7da60, 0, 0}
    
    ***** Kernel symbols are WRONG. Please fix symbols to do analysis.
    
    *** ERROR: Symbol file could not be found.  Defaulted to export symbols for halmacpi.dll - 
    *** 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                                     ***
    ***                                                                   ***
    *************************************************************************
    *************************************************************************
    ***                                                                   ***
    ***                                                                   ***
    ***    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 : ntkrpamp.exe ( nt!KeRegisterBugCheckReasonCallback+77c )
    
    Followup: MachineOwner
    ---------
    
    nt!DbgBreakPointWithStatus+0x4:
    8052a5d8 cc              int     3
    

    I tried install Haswell iGPU driver, install OK but after reboot and VGA Enable is error Code 12 (not free resources) and still works on 4-bit:
    i-GPU-Code12.png

    But if use bootmgr+winload.exe+BCD+vga.sys (haswell iGPU uninstalled) no need set VGA Enable 1 then OS boot in e.g. 800x600 32-bit

    VGA Enable is only helpful for ntldr loader

  18. @Dietmar

    I need to remember and practice because I don't remember exactly.

    pci - list all PCI devices

    For graphics card you need set register Command (4): 0007

    mm xxyyzz04 7 -pci

    For PCI Bridge you need set register VGA Enable in Bridge Control (3E) (the bridge to which the graphics card is connected)

    mm xxyyzz3E 8 -pci

    xxyyzz is PCI bus dev func of PCI Bridge device

    https://forums.macrumors.com/threads/win7-x64-booting-natively-via-efi-no-bios-emulation.696523/post-14778765

    https://forums.macrumors.com/threads/win7-x64-booting-natively-via-efi-no-bios-emulation.696523/post-14776170

    This is example in my PC:

    00 1C 04 - PCI bridge to which the graphics card is connected
    04 00 00 - PCIe graphics card

    mm 001c043e 8 -pci    VGA Enable
    mm 04000004 7 -pci    I/O acces and Bus master

    For check changes:

    pci -i 00 1c 04 -b
    pci -i 04 00 00 -b

    To check bridge to which the graphics card is connected use:

    devtree -b

    and dh handle_number

    devtree.png bridge-001c04.png amd6450.png

  19. On 6/4/2025 at 8:11 AM, Dietmar said:

    but that on the Arrow Lake boards everything is connected to PCI-bus 0 (meaning only one PCI-bus at all).

    But before, the PCI-e Graphik card was always connected to PCI-Bus 1, alone with its HD driver.

    And Seabios follows this old path, but PCI-bus 1 just do not exist on the Arrow Lake board

    Try set VGA Enable in UEFI Shell before run CSMWrap:
    https://www.betaarchive.com/forum/viewtopic.php?p=434759#p434759

×
×
  • Create New...