jaclaz Posted April 8, 2020 Posted April 8, 2020 (edited) It seems like ASUS has its own version of the touchpad driver, called AsusTP.SYS. Here: https://www.driverscape.com/manufacturers/asus/laptops-desktops/tp300la/186917 is such a driver - allegedly for XP - that has ACPI\ETD0108 listed. Queerly, this is seemingly a "one size fits all" driver: Quote [ASUS.Mfg.NTx86] %PS2.ELANDeviceDesc% = ATP0105_Inst, ACPI\ETD0105 ; Image Sensor %PS2.ELANDeviceDesc% = ATP0105_Inst, ACPI\ETD0107 ; Image Sensor %PS2.ELANDeviceDesc% = ATP0105_Inst, ACPI\ETD0108 ; Image Sensor %PS2.ELANDeviceDesc% = ATP0105_Inst, ACPI\ETD0109 ; Image Sensor %PS2.ELANDeviceDesc% = ATP0105_Inst, ACPI\ETD010A ; Image Sensor %PS2.ELANDeviceDesc% = ATP0105_Inst, ACPI\ETD010B ; Image Sensor %PS2.ELANDeviceDesc% = ATP0105_Inst, ACPI\ETD010D ; Image Sensor %PS2.ELANDeviceDesc% = ATP0105_Inst, ACPI\ETD010E ; Image Sensor %PS2.ELANDeviceDesc% = ATP0105_Inst, ACPI\ETD0110 ; Smart Pad %PS2.ELANDeviceDesc% = ATP0105_Inst, ACPI\ETD0111 ; Image Sensor i.e. *any* from 0105 to 0111 use the same "ATP0105" install and driver. jaclaz Edited April 8, 2020 by jaclaz
Dave-H Posted April 8, 2020 Author Posted April 8, 2020 (edited) I've now tried replicating the 8.1 installation on XP, copied all the files and registry entries. Also manually updated the mouse driver, which is now an "ASUS Touchpad", using AsusTP.sys in addition to the normal MS files. I used the INF file in the Windows 7 x86 folder. I now even have an icon in the system tray for Asus Smart Gesture, but it's inactive. Trying to run the control panel fails unfortunately, because virtually every executable file says it's not a valid win32 application. Surprisingly, not all though. AsusTPLoader.exe, which is presumably producing the system tray icon, is running quite happily! So, should I try CFF explorer on all the executable files? The registry settings are all as they are on 8.1, but of course they're not doing anything! Edited April 8, 2020 by Dave-H Typo
Dave-H Posted April 8, 2020 Author Posted April 8, 2020 Oops, our posts crossed! That driver is just AsusTP.sys as far as I can see, no settings panel or anything. As I seem to be using AsusTP.sys already, is there any reason to try a different one?
jaclaz Posted April 8, 2020 Posted April 8, 2020 6 minutes ago, Dave-H said: So, should I try CFF explorer on all the executable files? Yep. 2 minutes ago, Dave-H said: Oops, our posts crossed! That driver is just AsusTP.sys as far as I can see, no settings panel or anything. As I seem to be using AsusTP.sys already, is there any reason to try a different one? No, let's first see how the CFF modified files behave. What I was hinting is that - maybe, just maybe - there is a more complete package for XP without the ETD0108 but with the ETD0105, which this finding demonstrates using the same driver. jaclaz
Dave-H Posted April 8, 2020 Author Posted April 8, 2020 OK, I'll do that and report back! It may be a while as I've got to go off and do some other stuff now.
Dave-H Posted April 8, 2020 Author Posted April 8, 2020 OK, with some more registry transplants from 8.1 I now have an icon for the Smart Gesture control panel in the Windows Control Panel. That runs AsusTPConfigure.exe, which reports as not a valid win32 application. Started on that with CFF Explorer VII (the version I already had, I hope that's OK) and I have changed the MajorOperatingSystemVersion value in the "Optional Header" section to "0005", and the MinorOperatingSystemVersion value to "0001". It hasn't made any difference, is that all I should need to do? The Dependency Walker section doesn't seem to show any errors. I notice it was built with Microsoft Visual C++ 8. Is that an issue?
jaclaz Posted April 8, 2020 Posted April 8, 2020 That is in two places: MajorOperatingSystemVersion 5 MinorOperatingSystemVersion 1 MajorSubsystemVersion 5 MinorSubsystemVersion 1 jaclaz
Dave-H Posted April 8, 2020 Author Posted April 8, 2020 (edited) Ah, right! They were set to "0006" and "0000" originally, Vista of course, which looks hopeful that the program will work on Windows 7 if I end up having to go down that route. Now I've changed them both, I'm getting a different error message - "The application failed to start because dwmapi.dll was not found. Re-installing the application may fix this problem." That file does not exist on the XP drive, but does exist on the 8.1 drive in \System32. Copied that across and the message is now "The procedure entry point -CxxFrameHandler3 could not be located in the dynamic link library msvcrt.dll". Looking at the Asus file in standalone Dependency Walker there are quite a few error reported, as you would imagine. Shall I send you a copy of the file to analyse yourself? If it's possible for that file to be made to work without errors, I think there's a fair chance that the rest can be. It is part of the control panel though, so would it perhaps be better to concentrate on the actual driver files? I really couldn't care if the control panel doesn't work, the important thing is that I can change the settings and they work, even if I have to do it in the registry! Edited April 8, 2020 by Dave-H Typo
win32 Posted April 8, 2020 Posted April 8, 2020 You should try using the dwmapi.dll from this library of wrapper DLLs intended for XP: https://github.com/tumagonx/xompie/ That 8.1 one relies on a tonne of stuff not in XP.
Dave-H Posted April 8, 2020 Author Posted April 8, 2020 With that dwmapi.dll now I'm getting "The procedure entry point LCMapStringEx could not be located in the dynamic link library KERNEL32.DLL". That looks much more like the sort of message I'd expect, but doesn't look too optimistic!
win32 Posted April 8, 2020 Posted April 8, 2020 1 hour ago, Dave-H said: With that dwmapi.dll now I'm getting "The procedure entry point LCMapStringEx could not be located in the dynamic link library KERNEL32.DLL". Actually, there is a solution. At the same link, you will find a wrapper for kernel32.dll; rename it to kernel33.dll, place in system32, and then open dwmapi.dll in CFF Explorer, go to the "import table" and change kernel32 to kernel33. Also check dependency walker for other dependencies and change as necessary.
Dave-H Posted April 8, 2020 Author Posted April 8, 2020 I assume this is the file called "kernelxp.dll"? I've renamed it to "kernel33.dll" and put it in the system32 folder. Opening dwmapi.dll in CFF Explorer, I can see something called "Import Directory" and something called "Import Adder", but no "Import Table".
win32 Posted April 8, 2020 Posted April 8, 2020 1 hour ago, Dave-H said: Opening dwmapi.dll in CFF Explorer, I can see something called "Import Directory" and something called "Import Adder", but no "Import Table". sorry, I meant import directory, which does contain a table.
Dave-H Posted April 8, 2020 Author Posted April 8, 2020 (edited) Thanks, I made that change, and the same change on "Import Directory" on AsusTPConfigure.exe, but I'm still getting the same error about "LCMapStringEx" when I try to run it. Edited April 8, 2020 by Dave-H Typo
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now