My weapon of choice. I've tweaked a few to satisfaction. That said I can't be exact on tweaks etc. without going into my archives. I did find these notes which I made when I had to hack a driver. The links are recommended:
Chipset: Intel 945
Southbridge Intel 82801 GB (ICH7R)
Dev_27c0
http://www.win-raid.com/t22f23-Guid...s-into-a-Windows-XP-W-k-W-k-CD-2.html#msg3144
PCI\VEN_8086&DEV_27C0&SUBSYS_01D21028&REV_01
PCI\VEN_8086&DEV_27C0&SUBSYS_01D21028
PCI\VEN_8086&DEV_27C0&CC_01018F
PCI\VEN_8086&DEV_27C0&CC_0101
Is this it?
Yes, the Intel SATA Controller of your system is listed as "Intel(R) N10/ICH7 Family Serial ATA Storage Controller - 27C0" within the file named "ich78id.inf", which you can find within the folder named "All" of the extracted Intel Chipset Device Software ("Intel INF Update Utility"). That means, that your SATA Controller is running in IDE mode.
Since your Intel SATA Controller is neither running in AHCI nor in RAID mode, none of Intel's AHCI/RAID drivers can be used by the OS. So you should not try to load (F6) or to integrate any Intel textmode driver, when you are going to install Windows XP.
*************************************************************************************
http://forum.driverpacks.net/viewtopic.php?id=4493
After a few days of failed installs, I found that removing the extra blank line in the ich78id2.inf file
(in the I1 folder) allowed the installation to complete successfully.
(partial copy and paste

Before:
<<
%PCI\VEN_8086&DEV_2828.DeviceDesc%=intelide_Inst, PCI\VEN_8086&DEV_2828
%PCI\VEN_8086&DEV_2850.DeviceDesc%=intelide_Inst, PCI\VEN_8086&DEV_2850
[INTEL_HDC.NTamd64]
%PCI\VEN_8086&DEV_27C0.DeviceDesc%=intelide_Inst, PCI\VEN_8086&DEV_27C0
%PCI\VEN_8086&DEV_27C4.DeviceDesc%=intelide_Inst, PCI\VEN_8086&DEV_27C4
>>
After:
<<
%PCI\VEN_8086&DEV_2828.DeviceDesc%=intelide_Inst, PCI\VEN_8086&DEV_2828
%PCI\VEN_8086&DEV_2850.DeviceDesc%=intelide_Inst, PCI\VEN_8086&DEV_2850
[INTEL_HDC.NTamd64]
%PCI\VEN_8086&DEV_27C0.DeviceDesc%=intelide_Inst, PCI\VEN_8086&DEV_27C0
%PCI\VEN_8086&DEV_27C4.DeviceDesc%=intelide_Inst, PCI\VEN_8086&DEV_27C4
>>
This extra carriage return/blank line appears in the "ich78id2.inf" file,
NOT the similarly named "ich78ide.inf" file.
____________________________________________
The only difference between ich78id2.inf and ich78ide.inf (other than the extra space) is that ich78id2.inf is supposed to be for Windows 2000 and ich78ide.inf is for XP.
Unfortunately, there is no real difference in the content of either .inf. They have some renamed headers, but the content is identical.
Removing the extra space would only break signing and force the system to use (rightly) the ich78ide.inf for XP.
The XP .inf does not follow M$ standard conventions for XP-specific entries (IE. .ntx86) and is poorly written.