Guest Untouchab1e Posted August 1, 2006 Report Posted August 1, 2006 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? :)
Guest nickcornaglia Posted August 1, 2006 Report Posted August 1, 2006 They are embedded in dll's so I'm not sure. But I'd like to find out as well.
Guest ateece Posted August 27, 2006 Report Posted August 27, 2006 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.
Guest ateece Posted August 27, 2006 Report Posted August 27, 2006 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.
Guest Fredde87 Posted August 27, 2006 Report Posted August 27, 2006 Thank you! Hopefully we will se a lot of new external screens soon. Good work!
Guest hylton Posted October 3, 2006 Report Posted October 3, 2006 (edited) @ 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 October 3, 2006 by hylton
Guest ccarrara Posted October 16, 2006 Report Posted October 16, 2006 Well? Any new External Screen designs yet??
Guest trublu01 Posted October 30, 2006 Report Posted October 30, 2006 Well? Any new External Screen designs yet?? Any answer to hylton's question? BUMP
Guest spazzwig Posted November 3, 2006 Report Posted November 3, 2006 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...
Guest th1rt3en Posted November 13, 2006 Report Posted November 13, 2006 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
Guest ccarrara Posted November 15, 2006 Report Posted November 15, 2006 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.....
Guest hylton Posted November 15, 2006 Report Posted November 15, 2006 (edited) 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 November 15, 2006 by hylton
Guest ateece Posted November 15, 2006 Report Posted November 15, 2006 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
Guest th1rt3en Posted November 16, 2006 Report Posted November 16, 2006 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..
Guest hylton Posted November 16, 2006 Report Posted November 16, 2006 (edited) 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 November 16, 2006 by hylton
Guest th1rt3en Posted November 18, 2006 Report Posted November 18, 2006 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.
Guest hylton Posted November 22, 2006 Report Posted November 22, 2006 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
Guest th1rt3en Posted November 22, 2006 Report Posted November 22, 2006 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
Guest hylton Posted November 23, 2006 Report Posted November 23, 2006 So do you still have a copy of your Cingular 3125 DLL file? If so, lemme know Yes, still have both. Do you want copies ?
Guest th1rt3en Posted November 23, 2006 Report Posted November 23, 2006 yes please, the 3125 one if you could. my email is [email protected] thanks ahead of time
Guest hylton Posted December 12, 2006 Report Posted December 12, 2006 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
Guest hylton Posted December 12, 2006 Report Posted December 12, 2006 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
Guest kingbear2 Posted December 14, 2006 Report Posted December 14, 2006 Can you please give us some way to download this DLL along with exact instructions on how to load it onto our smartphone? Thank so much.
Guest hylton Posted December 14, 2006 Report Posted December 14, 2006 (edited) 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 December 14, 2006 by hylton
Guest BrumBrum74 Posted January 10, 2007 Report Posted January 10, 2007 Can't get the file SdkCerts.cab to work. Says file is corrupted.
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now