Jump to content

More external clocks?


Guest Untouchab1e

Recommended Posts

Guest Untouchab1e

Just wondering: Right now i have one of the analog clocks on my external Qtek 8500 display since i dont like any of the digital ones. Still, its hard to tell the exact time with the analoges, and I was wondering if its possible to make more clocks? :)

Link to comment
Share on other sites

  • 4 weeks later...
Guest ateece

The image resources are all stored in SubDisplayDll.dll

This includes the characters, etc for the clocks, which are just segments of an image.

I have been opening the file with VS2005, but it refuses to save it. Maybe a dedicated resource DLL file editor will be more use.

If i manage to update the file, and get my 8500 to like it I will post more details.

Link to comment
Share on other sites

Guest ateece

DONE IT!!!!!!!!!

Ok, what have i done... Made the bluetooth icon on the external screen blue instead of white. You may think this is small, but actually it was just my test. I can no modify any resource in the subdisplay.dll file (clocks, all icons, etc).

This took alot of research because of the WM5 code signing. Basically, I edited the file with PE Explorer - a quick google will get you that.

Problem was, that when i uploaded the file to my phone, my external screen no longer worked. This was because it wasnt a signed with a trusted certificate, and although my device has had all the application unlocking routines run, device drivers must always be signed.

So i have installed the developer certificates from the WM5.0 smartphone sdk (http://www.microsoft.com/downloads/thankyo...2bsdk%26meta%3d) and then signed my updated DLL. Copied it to the device, and hey presto, new icon!

See http://msdn.microsoft.com/library/default..../wmsecurity.asp for details of the code signing.

Also worth mentioning is that sometimes i had problems overwriting subdisplay.dll, so i stopped it from loading on startup by deleting the HKLM\Services\Subdisplay registry key AFTER EXPORTING IT TO A FILE. Restart my phone. Updated my file. The imported the export file again. Restart my phone.

Any questions. Just ask.

Link to comment
Share on other sites

  • 1 month later...
Guest hylton

@ ateece,

question for you if you don't mind. on the cingular 3125, there seems to be a bug in this file somewhere, or the MUI file that goes with it regarding missed calls and voicemail. after a call comes thru and hits voicemail, the external screen displays the icon associated w/ that, which i found the position/reference for that in the resource part of the dll. but, above the image, currently a non-standard character is displayed ( Ä„ ), it's an 'A' w/ a tail on it, for lack of a better term (I believe the correct term would be Ogonek), probably from an EU language set.

Anyway...trying to figure out what text is suppose to go there, but in the resource section of the DLL, nothing that references voicemail, only missed calls, and that looks like standard english text. So I was curious if you had any thoughts or would like to take a look at this DLL from the 3125 to compare it to the one from your 8500 (or vice versa, send me your dll if you don't mind).

If I can find the problem, I thought I might try your technique of editing it and putting the sig back on it and try it out on my phone.

Thanks in advance,

Chris

Edited by hylton
Link to comment
Share on other sites

  • 2 weeks later...
  • 2 weeks later...
Guest spazzwig

I too see this display issue (the "tailed A" noted by hylton) with Cingular's ROM. I didn't back up my Qtek ROM before updating... else I would provide the Qtek dll to play with. The Qtek ROM didn't have any display issues that I saw while I had it, so it likely is a good reference to build from.

I would also like to change the "Bliss" grassy hill image that is part of the Cingular version...

Link to comment
Share on other sites

  • 2 weeks later...
Guest th1rt3en

anyone with the cingular 3125... If you set your external screen to digital clock(1 or 2).. how does it display?

I have the I-Mate Smartflip, and its pestering me because it displays like this to me: 2006/11/13 for november 13... does the cingular do the same? If not, do you mind posting your SubDisplayDll.dll(Im assuming i can just copy and paste it to my smartflip, as the cingular dll is signed just like the smartflip)... Lemme know

Link to comment
Share on other sites

Guest ccarrara
anyone with the cingular 3125... If you set your external screen to digital clock(1 or 2).. how does it display?

I have the I-Mate Smartflip, and its pestering me because it displays like this to me: 2006/11/13 for november 13... does the cingular do the same? If not, do you mind posting your SubDisplayDll.dll(Im assuming i can just copy and paste it to my smartflip, as the cingular dll is signed just like the smartflip)... Lemme know

The Cingular 3125 displays the date dependant on ho you have it set in the Settings menu. So if I set it to YYYY/MM/DD that is how is shows up on external display. If I set it to MM/DD/YYYY then that is how it displays.....

Link to comment
Share on other sites

I too see this display issue (the "tailed A" noted by hylton) with Cingular's ROM. I didn't back up my Qtek ROM before updating... else I would provide the Qtek dll to play with. The Qtek ROM didn't have any display issues that I saw while I had it, so it likely is a good reference to build from.

I would also like to change the "Bliss" grassy hill image that is part of the Cingular version...

If anyone has the ExternalScreen.dll and ExternalScreen.0409.dll from their Imate, Qtek, Dopod, shoot it my way. I'm at cchylton (@hotmail.com). I would be willing to drop them on my 3125 and see what happens.

ateece was going to give me a yell back when he had time, his StrTrk was 'in the shop' w/ HTC when I talked to him a few weeks back. haven't heard from him, but as i've poked thru the resource part of the DLL I haven't found a single thing that defines the image and text for voicemail in the 3125 version of the DLL. The date on the DLL on the 3125 is just before the 3125's release, so I'm guessing it got tweaked for some reason right near the end, somebody probably screwed it up.

Might even be possible to simply drop the DLL from another StrTrk version onto my 3125 and reboot...again, if someone has them, shoot me an email.

I've just been busy, not a ton of time to look into this, and ateece is probably more knowlegable than me regarding DLL editing, but I'm willing to give anything a try...a hard reset is always there to save me if I screw up.

Chris

Edited by hylton
Link to comment
Share on other sites

Sorry for being a little quiet guys.

As hylton said, my Qtek was in the shop after dropping it onto the pavement (which didnt leave a single mark on the case! - Just made the device crash after 1 - 2 minutes!) - All back now though.

hylton will hopefully be trying the subdisplay from a Qtek soon, so we'll c how that goes, but i'm not that hopeful.

What might be worth a look is differences in the font files though.

Lets just see what / if there are differences between the Qtek and Cingular's roms.

If anyone else wants the subdisplay to try, see attachment.

SubDisplay.zip

Link to comment
Share on other sites

Guest th1rt3en
The Cingular 3125 displays the date dependant on ho you have it set in the Settings menu. So if I set it to YYYY/MM/DD that is how is shows up on external display. If I set it to MM/DD/YYYY then that is how it displays.....

Ive tried that numerous times, didn't work.

Would you mind posting your SubDisplayDll.dll? If that does it, that'd be great..

Link to comment
Share on other sites

Here's what I've found so far. Image 244 is the one that is displaying for voicemail on the 3125.

I dropped the 8500 dll and 0409 mui onto my 3125 and rebooted. Then I left myself a voicemail. The funky character is gone, only the missed call image appears, the missed call image you see when no voicemail is left, not 244 (since it doesn't exist in the 8500 dll). The missed call counter shows up. No indicator at all though that I have a voicemail. With the 3125 file, you get the goofy character, no count, but you do get one of the voicemail icons (245-248) at the top of the display, similar to what you see on the internal display iconbar for a voicemail.

i can't seem to locate where the image is matched up w/ a resource string, like when you have missed calls...something in the dll has to be able to match up the '%d missed call(s)' string w/ the missed call image...but i can't seem to find where that is, much less where it is getting the goofy character matched up with image 244.

more to come, but for now at least, i don't have that stupid character and i get to see how many missed calls i have...maybe i'll be able to get the VM counter working eventually.

bitmaps differences

138 GPRS available (images different)

209-214 GPRS connected (images different)

229 EDGE available (images different)

230-235 EDGE connected (images different)

bitmaps on 3125, not on 8500

243 speaker muted, external media controls

244 missed call, voicemail

245-248 voicemail icons for external iconbar

Edited by hylton
Link to comment
Share on other sites

Guest th1rt3en

Is that the only file I would need to change the Imate Smartflip external display to look like the Cingular 3125 display?

just: SubDisplayDLL.dll?

Any help would be greatly appreciated.

Link to comment
Share on other sites

Is that the only file I would need to change the Imate Smartflip external display to look like the Cingular 3125 display?

just: SubDisplayDLL.dll?

Any help would be greatly appreciated.

Yes, seems to be. I am running the Qtek 8500 display on my 3125 and it works great, and I don't have that odd character. I haven't had any errors or things not work and that's the only file I've overwritten.

I'm planning (over Thanksgiving) to replace alot of the resource stuff in the iconbar area, but probably not the clock, with other images. I'm at least going to replace the GPRS/EDGE icons and signal bars in the 8500 version of the DLL with what was on my 3125, color the BT icon blue, maybe change the battery bar to transition from green, to yellow, to red as the battery levels drop.

Might look into the clock thing later, dunno, i kinda like the existing analog clock display.

Also, FYI, I've been trying to decompile the DLL, after ateece suggested to me it might be a .NET managed code DLL, but it doesn't seem to have a CLI Header, which would mean it's not .NET code unless they've done something to it after it was compiled. Anyway...I was hoping to be able to totally re-engineer the external display, but at this point it seems it may only be possible to replace resource stuff.

Chris

Link to comment
Share on other sites

Guest th1rt3en
Yes, seems to be. I am running the Qtek 8500 display on my 3125 and it works great, and I don't have that odd character. I haven't had any errors or things not work and that's the only file I've overwritten.

I'm planning (over Thanksgiving) to replace alot of the resource stuff in the iconbar area, but probably not the clock, with other images. I'm at least going to replace the GPRS/EDGE icons and signal bars in the 8500 version of the DLL with what was on my 3125, color the BT icon blue, maybe change the battery bar to transition from green, to yellow, to red as the battery levels drop.

Might look into the clock thing later, dunno, i kinda like the existing analog clock display.

Also, FYI, I've been trying to decompile the DLL, after ateece suggested to me it might be a .NET managed code DLL, but it doesn't seem to have a CLI Header, which would mean it's not .NET code unless they've done something to it after it was compiled. Anyway...I was hoping to be able to totally re-engineer the external display, but at this point it seems it may only be possible to replace resource stuff.

Chris

So do you still have a copy of your Cingular 3125 DLL file? If so, lemme know

Link to comment
Share on other sites

  • 3 weeks later...

Just to update anyone that might be interested in this, but I finally got around to messing w/ this and did some image replacing in the DLL.

Since the 8500 dll resolved the goofy voicemail character that displayed when running the 3125 dll, I took the 8500 DLL, changed the BT icon to a blue one, imported the block style EDGE images from the 3125 DLL to overlay the plain text versions in the 8500 dll, resigned it using the signtool utility in Visual Studio (used the priv developer cert and private key), and boom, works perfectly.

One other thing I discovered, while you can't copy over the DLL while it's running, you can rename it. So rather than have to make those registry entries that ateece mentioned, you can simply name your new DLL something like SubDisplayDLL.dll.new, copy it to the phone, rename the existing SubDisplayDLL.dll to something like SubDisplayDLL.dll.original, then rename your new dll back to the main filename, SubDisplayDLL.dll...then reboot. No registry editing necessary.

From what I can tell, this DLL is not .NET managed code, so the only editing that's really possible (at least w/ my skills) is to change the resource stuff. I guess if you know enough to decipher hex code, you can edit other parts of the file, but that's not a skill in my toolbox, nor will it be.

I also extended ateece's research to the GenTimer application I purchased recently. I never liked the background images that were stock on that app, and they were 'embedded' in the EXE. I edited those to things I liked, resigned, copied to the phone, works fine. So, I can now 're-skin' that app the way I want it.

Next stop, CommManager.exe, to make that screen totally black, w/ white buttons.

A big THANKS to ateece for figuring this out...lot's of possibilities here...

Chris

Link to comment
Share on other sites

forgot to mention, i did have a problem w/ my initial attempt at signing my DLL, it signed but it wouldn't run, blank external display after a reboot. i resigned the same DLL again, making sure I used the cert and key mentioned above and it worked the second time.

only thing I did was to install the SdkCert.cab found in the smartphone SDK. So, it was either that (having all those certs on the phone) or i could have chosen the wrong cert/key combination the first time out.

Chris

Link to comment
Share on other sites

Sure...

http://members.cox.net/chris.hylton/SubDisplayDll.dll.3125

http://members.cox.net/chris.hylton/SubDisplayDll.dll.8500

http://members.cox.net/chris.hylton/SubDis...Dll.dll.8500MOD

http://members.cox.net/chris.hylton/SdkCerts.cab

Regarding the three dll files above, .3125 is the original DLL found on the 3125, .8500 is the original DLL found on the 8500, .8500MOD is the modified DLL that I made. .8500MOD includes a 'blue' bluetooth icon and replaced the text based EDGE and GPRS icons in the original 8500 file w/ those found in the 3125 file (the 3125 EDGE and GPRS icons are white squares w/ an E or G inside). The .8500MOD file has been signed w/ a Microsoft SDK cert and key found in the WM5 Smartphone SDK.

So, the first thing you need to do is install the SdkCert.cab on your phone. A word of WARNING here...use these at your own risk. They will not impact your device, they are valid certs from MS meant for development. But, in theory, if a destructive program or virus were written and executed on your phone, and it had been signed w/ one of these certs, it would run w/o warning. I personally didn't have a problem w/ this, but it's up to you.

Once the SdkCert.cab is installd, to install the DLL on your phone...

1. Connect via ActiveSync, navigate to the \Windows directory.

2. Copy the file you want to run (from above) to the \Windows directory.

3. Find the original file, named SubDisplayDll.dll on your phone and rename it to SubDisplayDll.dll

4. Find the file you just copied to the phone, and remove the .8500 or .8500MOD portion of the filename so that it is then named as the production file SubDisplayDll.dll.

5. Soft reset your phone.

If you get a blank/black external display after restarting, then the certs didn't install or you didn't name the files correctly.

Basically, if you just want to get rid of the strange 'A' character when voicemails are left, run the .8500 file, if you want the other changes I describe above in the .8500MOD version, run that one.

If anyone has any suggestions of other things they'd like to see changed, I can play around over the holiday's w/ it...week after Christmas, just post back.

Have fun...

Chris

Edited by hylton
Link to comment
Share on other sites

  • 4 weeks later...

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.