View Single Post
Old 10-07-04, 03:36 PM   #1 (permalink)
spikedmonster
Aximsite Prospect
 
Join Date: Oct 2004
Posts: 1
Thanked 0 Times in 0 Posts
DISABLE PIXEL DOUBLING in WM2003SE - Run legacy programs in TRUE VGA mode!!!

DISABLE PIXEL DOUBLING in WM2003SE - Run legacy programs in TRUE VGA mode!!!

I recently upgraded my Toshiba E800 OS to the latest-greatest WM2003SE. Having done that, boy was I pleased to see the fabulous looking VGA screen (480x640) !!!!

However, when I ran Pocket Streets I noticed that the application looked almost like it was running in a 240x320 resolution - Thanks to the PIXEL-QUADRUPLING in WM2003SE. That really sucked.

So after searching frantically on the net, I read an article in MSDN that mentioned that any WindowsCE application with subsystem version number 4.20 or less will be considered legacy application and will undergo pixel doubling in VGA mode.

So just for the heck of it, I used a binary editor to change the subsystem version number of Pocket Streets EXE file to 4.21

And BINGO!!!! Pocket Streets now runs in true VGA mode without any pixel doubling.

This tweak is only for those (legacy) apps to be able to, if at all possible, benefit from the new VGA screen size. Pocket Streets is definitely one such app. I have't seen Streets 2004 (may be they fixed it there).

This will not work for applications that use GAPI or implement hardcoded 240x320 values in their GUI.

All you need to do to disable pixel doubling is change the subsystem to 4.21 or higher (not sure if a higher value renders the EXE invalid). I used the Visual C++ editor to open the EXE in binary mode. In order to find out where the subsytem version is located in the header, I used the trial version of "PE Explorer" (also a desktop program) that allows you to view (and also supposedly modify) such information for EXE and DLL files. Note that the location of this data may vary from EXE to EXE.
spikedmonster is offline   Reply With Quote