Content Type
Profiles
Forums
Events
Everything posted by Mov AX, 0xDEAD
-
Windows XP/2003 x32 on Modern Hardware FAQ
Mov AX, 0xDEAD replied to Mov AX, 0xDEAD's topic in Windows XP
@pappyN4 You cannot reference to "end of file", dll is PE format. PE format is collection of segments mapped to near regions of memory hal.dll has many segment, you can use only segment marked as .TEXT or one of .PAGE*, don't use .INIT look at end of each segment to see how much bytes are free before address of next segment 1) for example halmaci.dll sp3 v5512 has free ~120 bytes in .text from .text:8001900D to .data:80019080 2) in any PE Editor increase .text segment virtual(mapped to memory) size from 0x8C0D to raw(size in file) size 0x8C80 -
@sonyu This topic about XP/W2003 ACPI.SYS, if you have some BSOD A5 on XP with latest (pre-v4) compiled driver - this info can be helpfull, you don't need even install XP, just run any XP-based LiveCD/WinPE/Install ISO from USB with updated acpi.sys Info about BSOD A5 on other windows is useless for XP because each windows has own acpi.sys.
-
Hi All This issue has no workaround, ACPI.SYS already has algorithm to check for doubled _HID+_UID but only for childs and siblings of current device, not full tree. My idea is to change _UID to random (it's safe) if we already have same combination, but it is difficult to enumerate all devices in tree
-
every device in ssdt7 is dublicate it has some unknow workaround, CreateNameSpaceObject() itself generate rc=ERROR, but then this error is bypassed somewhere at parent call, you need setup kernel remote connection in W8.1 if you want to know, but it doesnt help much to fix it in XP because debuglog will not show how errors was ignored
-
@Damnation SSDT7 is copy of DSDT, many deviced defined in DSDT, then again in SSDT, nice BIOS from gigabyte There is no simple workaround, i have three options 1) You can try to bypass creating doubled devices: rc will be STATUS_SUCCESS, pns = NULL So device WT1A will not be created again, but then acpi will want to create names _ADR,_HID and many methods and link to "we don't created new" device, i dont know what will happens, check log again after patching normal creation by DSDT: 2) If CreateNameSpaceObject() found already existed device, it will patch it's name to make it unique: DSDT creates WT1A SSDT creates zT1A W->z just as example, maybe some other rare allowed symbol This option can make mess if WT1A reports about some claimed resources, zT1A will report same resources. There is other autoexecuted methods like _STA or _INI 3) Totaly ignore device and all child names and child methods but i dont know to make it, too much work :)
-
I can't help with it, as i wrote few times before, BIOS reconfig DSDT/SSDT tables before running OS Then you overwrite dynamic DSDT with static DSDT from registry and get two assertions from kernel and bsod from acpi with "Arg0=0xa,)AMLI_ERROR(c0140004): Index is too big" My old https://github.com/MovAX0xDEAD/ACPI-Patcher patches BIOS's DSDT copy, so it is actual on every reboot
-
I think better to split 1) Windows 7/8/8.1/10 EMULATION and 2) LEGACY XP Question is which variant is preferrable... When i see code like this, i want to use only Legacy XP for XP _DEP() returns empty package (if S0ID != One) for Windows10 _DEP() return depended package PEPD PEPD is big device with a lot of sub-packages inside with EMULATION version, XP must handle this garbage and nobody know how correctly