views:

568

answers:

2

Hi,

I have a new Toshiba Satellite Pro S300 laptop (running Windows XP) which sports a 3D accelerometer for HDD protection. I'd like to tap into the data sent by this sensor. Older Toshiba laptop/Tablets had a DLL that could be accessed to extract the acceleration data. Unfortunately, the S300 does not seem to have this DLL (The DLL hack has been documented elsewhere, e.g. here).

The HDD Protection app (which has a cute 3D visualization of a rotating HDD that rotates in synch with the laptop's position and motion) doesn't seem to depend on any "non-standard"/custom DLLs (according to DependencyWalker). It seems that the data is accessed either through a service and/or through a .sys device driver. I think I managed to identify the relevant files, but I have no idea how to find, name, access, load (or "disassemble") the relevant functions.

How can I discover and use the accelerometer data?

+2  A: 

Generally speaking, your tools will be:

  • Sysinternals Process Monitor - can give you a general overview of what Toshiba's process does: which devices it opens (CreateFile) and which I/O control requests it makes (DeviceIoControl).
  • a disassembler -- my favorite would be IDA

You might be lucky and find out that Toshiba's process includes extra debug information which IDA would happily make use of. Then, with all the available information, you'd have to make sense of things on your own.

Good luck!

Ilya
Thanks. I'll try that let you know.
Adi
+1 for recommending excellent debugging tools.
Till
A: 

For the record, I've just filed a tightly related issue into Gecko (Firefox et. al. set of applications) accelerometer support, whose support for several devices might be able to ship with the next major version. :-)

Helder Magalhães

related questions