Log in

View Full Version : flipHack of Pocket PC


cwpun
08-30-2002, 12:58 PM
I am a part-time windows ce developer. I am now working on a program that invert the screen in my leisure time. I think it is very useful when you need to show the content of your pocket pc to the opposite person. The function of the software is just like the "flipHack" in the palm platform.

I have done some research and programming on this software. I have to code at least two drivers. One is display driver and the other one is touch panel driver. Also, I need a program communicating with two drivers, but it is not a problem for me. I successfully code the touch panel driver. I use functiion GetProcAddress get the exported functions of the original driver touch.dll and substitute with my functions. That means the driver I coded resides between the kernel and touch.dll. This works prefectly and I can easily alter the returned coordinates by touch.dll.

However, I have some difficulties in the display driver. I use the same method on display driver. Although I can replace all the ddi functions exported by the original display driver ddi.dll. I have no idea how to change the value passed to or returned by ddi.dll. I had tried to create the PDEV handle myself and useed function EngCreateDeviceSurface to create the device surface myself. But both did not sucess because I do not know how to create them exactly.

I have thought of using the GPE class provided by microsoft, but it means i need to program with the hardware directly. This is not universal when dealing with other machines. Also, I have thought of using some game libraries, but most game libraries use gx.dll which depends on the display driver. I think this do not work. The second problem is that I have no debugging platform for this software because I do not know how to debug with my pocket pc using platform builder.

I am very amazed with what JimmySofware Landscape and Nyditot Virtual Display have done. It does exceed what I require, but I just need the ability of inverting screen. Could anyone have rich device driver experience help me? In fact, I have some experience on windows device driver, but it do not help.