Related
Hi everybody out there!!!
I decide to start this thread, because many of us have same problems when try to translate a rom.
To start with something here is a basic procedure in translation:
- You have to change the MUI dll for one of your lenguage. I use a stock rom as base.
- Have to change the Initflashfiles.txt. Many "cookers" said to delete the first two bytes and save, other are not completly accord with that. I try both ways.
- Have to change the MUI and NUI values in registry
- Have to change the welcome.exe by the one in your base rom.
With this you can obtain a translated rom, but with no menor problems:
- Contacts doesn't open
- Phone doesn't open
- Many times the commanager doesn't work
Clearly I miss something (probably many things)
Hopping that the "Translators" of the forum can give us some advices or directions
Great initiative Humrod.
I'm hoping too that some Guru may help us.
Anyway i'm reserving this post as a memo of every steps i had to do to translate my current WWE ROM to a FR ROM.
Edit 30 Nov 2008
Here is the exact steps i use to translate the 3.07.707.02 Elfin WWE ROM to French.
I've use 3 Rom to achieve this goal
3.07.707.02 Elfin WWE (this is my base)
an Elfin French rom
a French shipped Diamond rom (from where i've taken the mui)
Ok, so hand on :
Extract the 3 ROMs
Remove all OEM\*0409 folder from 3.07.707.02
Remove all SYS\*0409 folder from 3.07.707.02
Copy the folder OEM_Lang_040C from any elfin french rom to the destination rom (you could also translate manually the rgu and provxml contained in the OEM_Lang_0409 folder).
Copy at least SYS\*040C folders to the 3.07.707.02 rom.
Cook, reboot! and voila your translated rom is ready.
Humrod, by following those steps you won't need to replace any programs or anything else... it's just working.
Good initiative Although I dont see this discussion device specific, so moving it to dev & hacking
ababrekar said:
Good initiative Although I dont see this discussion device specific, so moving it to dev & hacking
Click to expand...
Click to collapse
great Humrod! i think thid thread is gonna be very helpfull for all of us that have been discovering how to cook in other languajes than WWE with the metod of test and failure... maybe these thread even could have a link in the cooking class...
actually, i have made my custom room, ultra fast, but i've been trying to translate it into 0C0A, have everyhing done bt it doesn't boot...
@Ababreaker: im pretty sure humrod meant these thread for his elfin...
Very nice thread. A more detailed tutorial about the procedure will be nice too.
As for the apps that don't work, I beleive that the reason is the incompatible mui files from wm6 to wm6.1. I didn't have problems with any application in wm6, but in wm6.1 some apps like phone, messaging, task manager doesn't work. For phone app I descover that the tapres.dll mui file is responsible, and for messages I think that is the mms..something(I don't remember the name). And for others I think that is the shellres.dll mui file that does the main programs translations. So I think that these three, at least files(and maybe more) needed to translated again for wm6.1.
Hope these info will be helpful for you.
Yeah! dancer69 i think so that there are diferences between wm6 and wm 6.1
in fact one of the first thing i did was translate the MUI files. After tedious work it was not inoff. You have to change the soo too. The problem is when you want to upgrade the system.
Right know i think the right way could be to elect and share one rom to work togheter. I have a very clean Onix, very clean AB UC DXS 14.1 and for spanish speakers the Hto Ultra clean 6.1
BTW: I post it on Elfin because think is not the same on other devices, and we need to share comments with elfin translators.
First of all sorry for my english, i hope everybody can understandme....
Ok, i think it would be good to start with a little basics ("procedure") of translating the rom... off course modifications/corrections are welcome...
I think the tools we need are these:
- A good resource editor, i've try some of them, and IMHO, these are the best: XN Explorer (Freeware), and PE Explorer (Paid, 30 days trial)
- MSigner in order to sign the translated muis or anything
- Initflashfiles editor or simply use a text editor which doesn´t add the (un)famous two bytes to the files and change the .dat for .txt
- HV editor (This tool adds the double-slashes for directories in registry)
The last two tools often are part of kitchens, as Hyper Core (the one I use) or the Hybrid Kitchen
Ok, those tools are the ones that I´ve been using, if somebody wants to add more, well welcome...
I won´t go deep in the fact that you need to dump the ROM and get it into Packages... how this is made?, in this forum there are several threads about that, I recommend you this for excellence...
Once you´ve got the packages, notice that there are folders that have some of the following four caracters, depending on the original ROM language:
Code:
0401 Arabic ARA.MUI
0402 Bulgarian BG.MUI
041a Croatian HR.MUI
0405 Czech CS.MUI
0406 Danish da.MUI
0413 Dutch (Standard) NL.MUI
0425 Estonian ET.MUI
040b Finnish FI.MUI
040c French (Standard) FR.MUI
0407 German GER.MUI
0408 Greek EL.MUI
0409 World Wide English (WWE).MUI
040d Hebrew HEB.MUI
040e Hungarian hu.MUI
0410 Italian IT.MUI
0411 Japanese JPN.MUI
0412 Korean KOR.MUI
0426 Latvian LV.MUI
0427 Lithuanian LT.MUI
0414 Norwegian no.MUI
0415 Polish pl.MUI
0416 Portuguese (Brazil) Br.MUI
0816 Portuguese (Standard) PT.MUI
0418 Romanian RO.MUI
0419 Russian RU.MUI
0804 Simplified Chinese CHS.MUI
0c0a Spanish (Modern Sort) ES.MUI
041b Slovak SK.MUI
0424 Slovenian SL.MUI
041d Swedish SV.MUI
041e Thai TH.MUI
0404 Traditional Chinese CHH.MUI
041f Turkish TR.MUI
and more....
- Yes, you must rename those language codes of the folder name, with the one you want to translate the ROM into. And inside of those folders, there will be some files with extension .mui (I´m assuming you know what these MUIS are, if not: Wikipedia). These files have the language code in their name, and yes, you must replace (NOT RENAME) them with the correspondent in your language but... Where you get them? you can translate them one by one , or you can get them one by one from a dumped ROM in your language ... or just download them from this thread, fortunately they post all the needed MUIs and help html´s of several languages, so you can get it from there.
- Once you've collect them, all you have to do (an this is the tedious part), is look every folder of the "target" ROM and find in which folder goes each mui and place them there...
There will always be some mui or dll that you can´t find in your language, so the only alternative is to translate it yourself:
- Open the resource editor of your choice (links above), find the MUI and translate everything you see that can be translated... Save it (dah!)
- You must Sign the file or it won´t work at all...whit Msigner (link above) you can do that.
- That´s all with the translation thing...
I think this post is too big, so i´ll continue in the next
- Now, you have to modify a file named initflashfiles.dat (look for it in folder OEM_Lang_XXXX inside SYS), This initflashfiles.dat contains and creates all the addresses to all the folders that exist in the ROM. Just use the Initflashfiles Editor (links above) and follow the instructions.... You must carefully translate what you need to translate (like My Documents, My Music, Program Files, etc. I recommend you not to translate folders like Application data, or System, or some folders inside Windows...) It is very important to remember or write down what changes you´ve made, because you will need them in order to modify the registry... Follow the instructions of the Initflashfiles Editor or the Editor of your preferred Kitchen. Return it to SYS/OEM_Lang_XXXX
- The next thing to do is modify the registry....there are several parts of the registry in different places of the ROM folders, there are three types of files we´ll modify: user.hv and default.hv, all of the .rgu inside any folder and all of the .provxml inside any folder.
- Default.hv and User.hv: these are the main parts of the registry, you can find them inside the folder SYS/Metadata. Modify them with HV Editor (links above) and follow instructions, remember to save in Unicode and add the word REGISTRY4 at the beginning of the file and a blank line at the end (just follow the instructions of the Editor). What you need to change is all reference to all the folders with the information that you already change in initflashfile.dat, and many other information you see you can translate.
Use the find tool to find all reference to the "Original ROM Language Code", and replace it with the "Target ROM Language Code", don´t do "Replace all" because there are CLASS´s or strings that can contain those numbers and have nothing to do whit language.... (THIS GOES TO .HV, .RGU AND .PROVXML). Look especially for:
Code:
[HKEY_LOCAL_MACHINE\MUI]
"Enable"="1"
"SysLang"="0409" (for example, you don´t have to use necessary 0409 English...)
[HKEY_LOCAL_MACHINE\System\Autoupdate]
"ClientLCID"="0409"
[HKEY_LOCAL_MACHINE\nls]
"SystemLCID"="0409"
"DefaultLCID"="0409" (Tip: This entry modifies the "Regional Setting" country of your choice see [URL="http://msdn.microsoft.com/en-us/library/ms834426.aspx#locplatform30_codepages"]here[/URL] for detail)
[HKEY_LOCAL_MACHINE\nls\overrides]
"LCID"="0409" (Tip: This entry modifies the "Regional Setting" country of your choice)
[HKEY_CURRENT_USER\MUI]
"CurLang"="0409"
I can´t tell you what exactly to change or translate, because you´ll see how big the registry is (yes, it will take a long time to edit it), all i can is give you some tips:
- Find strings like @="Something", usually these are Titles or Names, or strings like Nm="blahblah", BUT NOT ALWAYS, be carefull...
- Find descriptions, like "Audio File" or "Google Maps KMZ", BUT NOT ALWAYS, be carefull...
- References to folders (did you write down the changes you made in initflashfiles.dat? i told you to...), be sure that all references to folders have double backslashes (\\) like ...="\\Windows\\animated.gif"
- Do not change nothing if you´re not sure, better ask before re-do everything again.
Once you modified those hv´s, follow the instructions to save them, and return them to SYS/Metadata.
- .rgu files: you´ll find them in almost every folder in the Packages! In OEM and SYS, but not all of them contains things you can translate, you must open each one whit Notepad, DEACTIVATE "Word Wrap", and look carefully, in many cases, strings you already translated in the hives (default and user.hv), need to be translated here again. I don´t recommend you to just to erase them from the hives or the rgu, at least you´re pretty sure what you´re doing.... Follow the tips of the hives as well.... And when you´re done, SAVE AS UNICODE (generally these files are protected, so you must modify this attribute before you can save it).
- .provxml: these are just XML files, and usually have the language code in the name change it. You can edit it with notepad, and save as UNICODE. Same as above....But!... is not necessary to add double backslash in the folder references...
Ok, that´s it but not all... you need to change some files like welcome.exe, notes.exe and others that can come out dependig on what you´re including in your ROM...that´s the reason of this thread!!
Well, i hope this would be usefull people.
Remember, any correction/suggestion/modification are very welcome....
Happy cooking!!
Thanks jonbus for this tutorial... some very valuable tips, i'm sure lot of people will appreciate.
Anyway, jonbus don't you have to make others modifications like CLSID in registry too?
In my current WWE to French rom translation, i'm facing a strange situation where some programs do not work note.exe, phone (cprog.exe) and contacts but the rest of the ROM is fully functionnal...
EDIT :
Ok you've edited so i'll edit too
For the French translation :
There is no need to change welcome.Exe
You must change note.exe
Don't know what to do for the phone to work
Don't know what to do for the contacts to work
Demo[95] said:
Thanks jonbus for this tutorial... some very valuable tips, i'm sure lot of people will appreciate.
Anyway, jonbus don't you have to make others modifications like CLSID in registry too?
In my current WWE to French rom translation, i'm facing a strange situation where some programs do not work note.exe, phone (cprog.exe) and contacts but the rest of the ROM is fully functionnal...
EDIT :
Ok you've edited so i'll edit too
For the French translation :
There is no need to change welcome.Exe
You must change note.exe
Don't know what to do for the phone to work
Don't know what to do for the contacts to work
Click to expand...
Click to collapse
Yes off course! in CLSID you will find references to folders (CSLID are identifiers, so they must refer to some archive in some moment..) as I said, it´s a tedious thing to modify registry, is waaay to big...you have to be extra-careful and have your eyes wide open 8)
About those files...yes that strange, changing welcome.exe and notes does not work in all ROM, dunno why...anyway, you can check it with a resource editor to see whats inside it, just for curiosity...
For phone and contacts, have you try to replace tapres.dll? because not always we can find their respective mui file (tapres.dll.xxxx.mui)... or try to find the mui....
Good luck!!
Hola jonbus, good tutorial!!
we can talk in Spa, but for the others in forum, you know
I'm not sure about the chage of the MUI files. I made some experiments and after change, the lenguage is still english (in my case). When i cook in prophet, this works perfect, but in Elfin......so so.
Ok. I'm in the same situaction of Demo95: I have a full working translated rom but for the phone and contacts. I resolve the phone issue, by change not either the phone related files, but the com manager too, but for me this solution is not too good, because the result is a rom partially actualized.
As first conclusion is evident that some in the system related for this files is imcompatible with the lenguage in change and I'm focused now in the Xip.
In case of some results i will post it here.
I think that the problem is the specific mui files, that maybe are for a different version of these applications. I don't know much about cooking but I have more experience in mui translations. I suggest to make a translation of these mui files(maybe a part of them just for testing) from the original english rom's files and copy them to device to test them on the fly.
Don't forget to unsign and resign them before use them(and be sure that the signing is successful). For phone application I've found that the mui is the tapres, witch I think it haven't a lot of strings for translation.
the way I do it is like this..
I download a shiped rom in the language any device will do. Then I dump that rom and then just use all the folder that end with _0XXX (_040C is french) copy them to my rom. now most of the things will work out of the box.
now you will mostly only have to work within the OEM_Lang_0XXX because thats where the most customacation of the device is done. Initflashfile.dat and the .rgu are what would be needed some changes but in many cases Initflashfile will work without editing. the rgu has the button mapping.
also there is a oemTranslate.xml or HTCtransulate.xml (might be spelled wrong don't have a kitchen here) this one translates the backlight deviceinfo and such into the right language. ther might be some missing or some to many in there if you used a shiped rom for an other divices.. and can cause a blank icon in settings/system.
What I did with my multilanguage roms.. I copied all the lang files into the same kitchen and made Option.xml files for all of them.
excample:
Code:
<?xml version="1.0" encoding="UTF-16" standalone="yes"?>
<Items>
<Item name="French" group="Language" checked="False">
<Tip></Tip>
<Guid type="p">76129d77-24e3-493f-b0fb-597ed4c04c6d</Guid>
</Item>
</Items>
you need to add a Guid type line with the number of all dsm files that are related for that language in this case french. now make a new txt document and save it as unicode and name it package.dsm you can do this to as many languages you like.
place the Option.xml and package.dsm file in a folder for them self one for each language.
this methot can also be used when making several roms lets say Full, medium and small.
I used the offical kaiser roms to make the multiroms but they don't work on some of the newer builds where I had to use language files from diamond.
hope this will help someone
humrod said:
Hola jonbus, good tutorial!!
we can talk in Spa, but for the others in forum, you know
I'm not sure about the chage of the MUI files. I made some experiments and after change, the lenguage is still english (in my case). When i cook in prophet, this works perfect, but in Elfin......so so.
Ok. I'm in the same situaction of Demo95: I have a full working translated rom but for the phone and contacts. I resolve the phone issue, by change not either the phone related files, but the com manager too, but for me this solution is not too good, because the result is a rom partially actualized.
As first conclusion is evident that some in the system related for this files is imcompatible with the lenguage in change and I'm focused now in the Xip.
In case of some results i will post it here.
Click to expand...
Click to collapse
Claro Humrod!
I agree with you about a ROM partially actualized, but, that´s the reason , i presume, for the malfunction or incompatibility of the MUIs, probably the are several differences betwen an update and another...
dancer_69 said:
I think that the problem is the specific mui files, that maybe are for a different version of these applications. I don't know much about cooking but I have more experience in mui translations. I suggest to make a translation of these mui files(maybe a part of them just for testing) from the original english rom's files and copy them to device to test them on the fly.
Don't forget to unsign and resign them before use them(and be sure that the signing is successful). For phone application I've found that the mui is the tapres, witch I think it haven't a lot of strings for translation.
Click to expand...
Click to collapse
Well, as i told yu, the tapres did the job! Yes that´s what we must do, translate the muis that are giving problem...
gullum said:
the way I do it is like this..
I download a shiped rom in the language any device will do. Then I dump that rom and then just use all the folder that end with _0XXX (_040C is french) copy them to my rom. now most of the things will work out of the box.
now you will mostly only have to work within the OEM_Lang_0XXX because thats where the most customacation of the device is done. Initflashfile.dat and the .rgu are what would be needed some changes but in many cases Initflashfile will work without editing. the rgu has the button mapping.
also there is a oemTranslate.xml or HTCtransulate.xml (might be spelled wrong don't have a kitchen here) this one translates the backlight deviceinfo and such into the right language. ther might be some missing or some to many in there if you used a shiped rom for an other divices.. and can cause a blank icon in settings/system.
What I did with my multilanguage roms.. I copied all the lang files into the same kitchen and made Option.xml files for all of them.
excample:
Code:
<?xml version="1.0" encoding="UTF-16" standalone="yes"?>
<Items>
<Item name="French" group="Language" checked="False">
<Tip></Tip>
<Guid type="p">76129d77-24e3-493f-b0fb-597ed4c04c6d</Guid>
</Item>
</Items>
you need to add a Guid type line with the number of all dsm files that are related for that language in this case french. now make a new txt document and save it as unicode and name it package.dsm you can do this to as many languages you like.
place the Option.xml and package.dsm file in a folder for them self one for each language.
this methot can also be used when making several roms lets say Full, medium and small.
I used the offical kaiser roms to make the multiroms but they don't work on some of the newer builds where I had to use language files from diamond.
hope this will help someone
Click to expand...
Click to collapse
I´ve made that in a couple of rom i cooked, i leave two or three folders OEM_LANG and so, but obviusly it was a big rom....and not only those folders need to be changed, inside every OEM package sometimes you can find some language files, not only Muis, but dlls and exes, just like the case of welcome.exe (tapres.dll has its own Mui), and, not always you can find an oficial rom in your language, and if you use two different updates of diferent languages there´s not always compatibility, thats what happen with these 3.07 and 3.10...
I´ve use two of your roms and they were awsome! specially the manila2d
Lets keep on it and see how to figure it out!
P.D.
In htc.com, we can find the update but you must type your device serial, i don´t know why mine doesn´t work, maybe there we can find the oficial update in our language....has somebody tried?
jonbus said:
In htc.com, we can find the update but you must type your device serial, i don´t know why mine doesn´t work, maybe there we can find the oficial update in our language....has somebody tried?
Click to expand...
Click to collapse
I've tried but it didn't work for me too... It's simply because HTC block phone serial that have been sold by a provider... I've tried to find the last originale rom on GOOGLE but without success..
Hi gullum, i'm follow your work since I was on a prophet, and learn a lot.
About your comment: you change the hole file or just the mui inside?
is possible to create a mui for a file that originally haven't?
seems that this tread is for our interest only.....
we can continue by PM...
Well it seems nobody care....
Anyway i guess i've finally found a way to completely translate from WWE to French; I haven't enought time to explain how i did it right now but will write it down tomorrow.
Ok sounds good, I'll be expecting
humrod said:
Hi gullum, i'm follow your work since I was on a prophet, and learn a lot.
About your comment: you change the hole file or just the mui inside?
is possible to create a mui for a file that originally haven't?
Click to expand...
Click to collapse
It's possible if the program supports mui translation. You can rename an exe or dll file to exe.0xxx.mui or dll.0xxx.mui and translate all strings in another language. I have done this with resco explorer 6 with succsess and some other apps that I don't remember the names.
I finally found a way to overcome space issue that cause BuildIMGFS throw error when you put too many files in the ROM using captaintrip's kitchen
The repack used imgfsfromdump instead of buildimgfs which avoid the size issue and in additon can reduce the final size of flash.dio
The usage are the same with captaintrip's kitchen, I only rename the bat to "iPAQ61x_91x flex kitchen" since this works for both 61x and 91x
You will need to rename flash.dio to TEMPLATE.ROM and put it under ROM folder, when you run iPAQ61x_91x flex kitchen.bat it will also prompt you,follow instruction
keep in mind if you use flex kitchen to build your rom won't be able to extract it properly, anyone want to edit your room will need your kitchen instead. If you don't have buildimgfs issue you may want to stick with the old way of building rom
use iPAQ614c Rom Kitchen.bat if you want to build your rom in old way
Updated July 7th: attached new cecompr_nt.dll that fixed memory leak, necessary for LZX compression, replace the one under TOOLS folder
Download (v0.3):
mediafire
Updated: Dec 9th ,09
v4 Beta:
-improve ability to decompose ROM, however the packages in SYS and OEM portion is usually mix up so you have to manually move them to correct folder after extraction
Download:
21501 kitchen
21215 kitchen
Rom folder for w version for 21215 (Rename it to ROM if you want to build w version)
21232 kitchen
21234 kitchen
21725 kitchen - removed due to too many issue, use 21728 kitchen instead
21728 WWE Kitchen
21728 ITA Kitchen
21728 GER Kitchen
21728 FRA Kitchen
21812 WWE Kitchen
21815 WWE Kitchen
23001 WWE Kitchen
23001 CHT Kitchen
23004 WWE Kitchen
21921 WWE Kitchen
23009 Hybrid WWE Kitchen
23016 18.1 WWE Kitchen
21854 WWE Kitchen
23047 WWE Kitchen
23052 WWE Kitchen
21867 WWE Manila 24M2 Kitchen
21869 WWE Kitchen
21869 WWE Manila 25M Kitchen
23088 WWE Kitchen
28002 WWE Kitchen
28011 WWE Kitchen Beta 29
28011 WWE Beta 29_2 Kitchen - kitchen of Beta 29.2
note: you can replace WinCENLS_Lang_0404 with WinNLS_WWE (from other rom kitchen) to save ROM space
-arcsoft streaming player & codec can be removed if you don't need them
23515 xip (use with 23518 SYS)
23518 CHT Kitchen (LZX)
23518 WWE kitchen
21888 WWE Kitchen
23529 WWE Kitchen
28230 WWE Kitchen
23544 WWE Kitchen
23563 WWE Kitchen
91x 28011 WWE Kitchen -not tested since i don't own 91x device so use as your own risk, use dnw in the worst case
91x 23518(23515)/21888 untested xip
Official WM 6.5 Tookit/SDK/Emulator: here
FCC Information for 610c
FCC information for 910c
----------------------------------
Structure Overview
XIP is the kernel, this is also what you see those 2xxxx build mean, the whole term is called "Execute in Place", i.e execute files in rom directly without copying to ram, this is for boot process, anything wrong mean you will stuck in clean boot
OEM is for device/manufacturer specific program/drivers
SYS is for Windows Mobile system files
A package is a folder with at least a dsm file,all other files are extra
-rgu file is just reg file which you can use notepad to edit
-default all files goto Windows directory (obviously exclude rgu file)
-initflashfiles.dat/txt is a text file with instruction to move files to different directory
Files vs Modules
Modules are folder with ".dll" in their names. Inside the folder there is imageinfo.bin, S00X where x is a digit. When they are cooked into ROM they will become dll with proper relocation (done by WMReloc/G'Reloc). Supposedly being modules would make them load faster(because no need to relocate at runtime?) and some dlls must be in modules or else some program will not work properly. However there are also cases that modules must be converted to files.
Technically you can put everything in SYS since at the end buildOS will merge everything together but it is easier to manage if you follow the OEM/SYS structure
Common Issues TroubleShooting
hang on 1st boot screen (HP Logo)
-XIP porting issue, .rom , .vm file not correct .etc
hang on 2nd boot screen (WM splash screen)
-module did not relocate properly (did you run WMReloc or GReloc?)
-XIP (lower possibility, i don't think it affect..just in case you should keep in mind)
hang/crash on today screen
-software conflict/missing .etc , check your SYS/OEM files
Endless HP update/customization engine
-happens because of different model uses different customization engine, using one from other model/region will cause it to rerun every boot time, the only solution seem to prevent it to run from start by removing it from initflashfiles.dat. Convert all the fix into packages and integrate to the rom instead
installed SIP(virtual keyboard) cannot be switched
-use recmod (under tools folder) to convert all modules into files in browsingie folder
cannot compose new sms/email .etc
-replace redist_lang_[lang_code] folder with one that worked before
wifi cannot turn off after boot
-set HKLM/Comm/SDIO86861/Wireless to 1
XIP
To insert ported xip, run this command: osnbtool -c TEMPLATE.ROM 1 xip_out.bin
where xip_out.bin is your new XIP file
xip porting tutorial can be found all over the place in xda/ppcgeek .etc
Also make sure in ROM folder, the boot.rgu is from your device xip (the kitchen I provided only contains 61x xip so to cook for 91x you need to put 91x boot.rgu instead)
Phone Radio
rilgsm.dll is needed but usually it is in OEM folder
PagePool
Overview: xda wiki
edit using pagepool_by_wlodixon under flash folder, copy your flash.dio and run the appropriate cmd
The only exception is if the rom set pagepool to 0 (Dynamic PagePool), it won't able to recognize and you have to hex edit
hex edit the xip.bin at 0x000A75E4, change all 4 bytes to your desired value (all 0 for dynamic pagepool)
Convert cab to OEM
get package creator here
use it to open cab, then wince cab analyzer opened, choose extract folder icon, after close wince cab analyzer, you will be present with shortcut screen, do you things and hit done, finally hit complete package unless you want to change some option
Create simple cab for file/reg changes
get QuickCab
Xt9
corresponding lang files in OEMApp/OEMLang_#### where #### is the 4 digits lang ID
-[2letter langs code]hpd.ldb
-[2letter langs code]lbUN_xt9s/lsUn/.etc].kdb
-et9.SQR.[Language].bmp [Optional, some language like Polish/Portuguese just point to english bmp in registry]
-[a bunch of number/digit known as GUID].rgu (if you open it up you will find there is registry on xt9)
also under OEM\OEM_Lang_[Lang number]
-initflashfiles.dat (actually you can use notepad to open it and seacrh for ldb/kbd/bmp to see which lang files )
cooking different language
-you will need your language OEM folders from original HP rom
-your language wince.nls
-replace all language mui (e.g 0409=English) with your language mui
-some languages may added extra folders, be sure to copy them into SYS too
-sometime the hp customization/update will end up endless run in every start, in this case you will need to prevent it from running and integrate all updates into the ROM
OptionXML Addon
I have written this small .Net 3.5 App to generate option.xml for SYS packages which will allow you to select the common package and different language more easily without moving folders all the time, just unzip the zip to kitchen which will overwrite the existing batch file and put the exe under TOOLS folder.
To select/UnSelect a category in BuildOS, you can click on the Category group (e.g click on 0409 will select all 0409 packages in SYS), then click on one of the packages will select/unselect the whole group
Reserved for extra space in case
-------------Step by Step guide for xip porting-----------------------
Make sure you read this tutorial first
1. copy(either get it from kitchen or dump it using osnbtool) the existing xip_out.bin and rename it to xip.bin, open xipport, click dump xip.bin and you will get a OUT folder
2. choose write map then make packages , now rename this out folder to some other name
3. dump the new xip(from other device) using osnbtool, rename it to xip.bin & do the same as step 2 with xipport
4. now copy MSXIPKernel & MSXIPKernelLTK under Modules and Files folders from OUT folder(from step3) and overwrite to corresponding 61x OUT folder(from step1)
4.5 as said in the xda tutorial, remove hd.dll, osaxst0.dll folders and their corresponding text files under modules to avoid physical address overlap
5. use xipport to undo and then realloc and write maps. Then you check map files to make sure there is no !!!(memory address overlap) I recommend using XIP address tools to check for overlap, sometime you will get error when you realloc (key already exist .etc), use xip address tool and set work folder to OUT then you will see error on first dll addr which you have to fix all highlighted red cell(overlapped address). Note that to fix first dll addr address you have to highlight the cell, enter the new start address on the V address cell in bottom, click modify, then use mouse to highlight the 1A cell above, and change the D address cell to the same as V then click modify button(on the right of V cell). You should see the change in table then. For virtual base overlap you only need to modify V cell only
Note: first dll addr overlap will result error when you click realloc in xipport.
The goal is have no overlap as shown in MAP.txt. When there is no more overlap, use xipport to build xip_out.bin and then insert the xip into the dio file using osnbtool
Commands:
extract xip: osnbtool -d flash.dio 1 xip.bin
insert xip: osnbtool -c flash.dio 1 xip.bin
also make sure your ROM\boot.rgu is from your device xip
-----------------------------------
IPAQ 91x boot keys:
Clean bOOt - Voice Commander + OK + Reset
Download Image - Volume Down + OK + Reset
Calc Checksum - Volume Up + OK + Reset - disconnected, SD card out
RUU - Volume Up + OK + Reset - UsbConnected, SDcard out
SDloader - Volume Up + OK + Reset - USB disconnected,SDcard in SDloader
Modem_CAL - Voice COmmander + Volume Up + Reset
Diagnostics - Voice Commander + Volume Down + Reset
-------------------------------------
LZX Compression:
The default compression algorithm for ROM is XPR, if you must include lots of files that causes your resulting rom >80mb under XPR(81920kb - ROM Size limit for 61x, bigger than this the device won't boot), you need to use LZX compression. It reduces rom size by ~13% but with ~1-3% performance hit(from other post I read, I never verify the performance hit).
To use LZX compression, you need to replace the cecompr.dll folder in XIP Modules with the one attached in this post. Re-port the xip (realloc + write map + build xip_out.bin) and then use osnbtool to inject the xip inot TEMPLATE.ROM.
Then hex edit the imgfs_raw_data.bin in the rom kitchen, replace the first string "XPR" without quote you found with "LZX" without quote.
Make sure you have replace the cecompr_nt.dll under tools folder of the kitchen with the one I attached in 1st post to avoid memory leak
Now just build normally, you will notice the time to inject file will take much longer because of the compression
Is there any ROM kitchen tools for hp iPAQ h6365 WM2003?
Wow great kitchen. Thanks for sharing.
here, here! keyx you da man
One thing though - when you say this:
Phone Radio
if you are using SYS from other device, make sure you replace ril.dll and phone.dll from a working rom in phoneRedist or you will get a phone radio not installed which disable phone function
rilgsm.dll is also needed but usually it is in OEM folder
Click to expand...
Click to collapse
I'm not sure that is actually correct. I've been using ril.dll and phone.dll from all kinds of donor SYS; these are OS files that should be generic. It is only rilgsm.dll that is manufacturer-specific.
you are right, I corrected the post
I think I do anything wrong...
If I extract your ROM(WM 6.5 Beta 3.81) and put it together to a ROM again, it is 10MB smaller.....After extracting this, its 1MB smaller...
Question is, why?
Greets
chucknican
actually for unknown reason if you use my kitchen to build rom, you won't able to extract it properly...i am not sure why. But currently it is the only solution for me to overcome buildimgfs error
so the solution is that I use captaintrip's kitchen to extract and yours to build it together again?
I can't get this kitchen to build my ROM. The after WMReloc does the modules rebase, I get the following feedback...
Code:
Injecting files ...
Input file imgfs_raw_data.bin cannot be opened. Exiting.
In fact, when I watch the temp folder during this process, I see no imgfs_raw_data.bin at all. In your new script, I can't see where this file would come from anyway.
Help?
chucknican said:
so the solution is that I use captaintrip's kitchen to extract and yours to build it together again?
Click to expand...
Click to collapse
no in fact i will need to upload a kitchen as the result rom using my flex kitchen will not be extracted properly
benjaminries said:
I can't get this kitchen to build my ROM. The after WMReloc does the modules rebase, I get the following feedback...
Code:
Injecting files ...
Input file imgfs_raw_data.bin cannot be opened. Exiting.
In fact, when I watch the temp folder during this process, I see no imgfs_raw_data.bin at all. In your new script, I can't see where this file would come from anyway.
Help?
Click to expand...
Click to collapse
you have to run "prepare_imgfs flash.dio -nosplit" to get the imgfs_raw_data.bin first, this process is done when you extract a rom before but if you just directly use it to build a rom you need to manually run the command on a flash.dio first
Also keep in mind if you use flex kitchen your rom won't be able to extract properly, anyone want to edit your room will need your kitchen instead. If you don't have buildimgfs issue you may want to stick with the old way of building rom
keyx said:
no in fact i will need to upload a kitchen as the result rom using my flex kitchen will not be extracted properly
you have to run "prepare_imgfs flash.dio -nosplit" to get the imgfs_raw_data.bin first, this process is done when you extract a rom before but if you just directly use it to build a rom you need to manually run the command on a flash.dio first
Also keep in mind if you use flex kitchen your rom won't be able to extract properly, anyone want to edit your room will need your kitchen instead. If you don't have buildimgfs issue you may want to stick with the old way of building rom
Click to expand...
Click to collapse
So... these files go in the root folder? That's what works for me anyway. Hmm... I think this could be easily added to the script, if you ever have to release an update to the kitchen. Anyway, thanks.
21501 kitchen added on 1st post
EDITED: kitchen updated to detect missing of imgfs_raw_data.bin and extract it automatically, I also updated some tools versions
ADC and Ipaq Data Connect
Are both of these necessary? When both are installed the ADC seems to run first and configures a "Proxy Internet" Profile in the Connection Manager which lists all 3 possible connections for my data carrier, even though I can only use the internet2.voicestream.com with T-Mobile. Maybe I am not using this correctly, but once I removed the ADC, the ipaq data connection worked fine and I was able to connect to the internet without a problem. Is this all this app does, or is there another usage that I should leave it installed for?
Thank-you
you can remove ADC if you don't want it, i think it just help to setup data connections
Customization
Keyz
I have removed some of the OEMs from the kitchen, but am not sure that I modified the initflashfile.dat correctly,will you look at it for me and see (I highlighted what I have removed)? If I remove the entire last 3 lines that contain the Utility file the device does not reboot from sdlauncher when installing. When I leave the last line in it is very speedy to install and reboot, but I have the empty utility Folder in my programs folder! I also had tried to add the BSPropCab.cab to the OEM folder but cannot get it to install correctly. I saw that you had it installed in one of your previous roms along with the other 2 arc cabs. The arc cabs I can get to work, but I really dont want to put them in, just the bsprop. Is this possible?
In OEM I added Coreplayer, PdaNet, SKTools5, Live Search, Google Search and WM5torage1.9. I had to add Google Search in here because I could not get it to work by adding the original files back into the OEM App folder: In Systems I removed ADC, VOIP and One Note, replaced NETCF with NETCF3.5, and added Transcriber back in. I thought about removing WMWidgets, I use all SPB Software, but I dont understand all of its functions, I have Googled it and there really isnt alot out there about it. What I did find though makes me think Microsoft will add more function to it once the official 6.5 is officially released-So I will keep that. For me this is a very good ROM, you have done an excellent job with modifying the kitchen.
Thank-you
Sunday
Where do you test the new roms? In the device or in somekind of emulator?
gkleding said:
Keyz
I have removed some of the OEMs from the kitchen, but am not sure that I modified the initflashfile.dat correctly,will you look at it for me and see (I highlighted what I have removed)? If I remove the entire last 3 lines that contain the Utility file the device does not reboot from sdlauncher when installing. When I leave the last line in it is very speedy to install and reboot, but I have the empty utility Folder in my programs folder! I also had tried to add the BSPropCab.cab to the OEM folder but cannot get it to install correctly. I saw that you had it installed in one of your previous roms along with the other 2 arc cabs. The arc cabs I can get to work, but I really dont want to put them in, just the bsprop. Is this possible?
In OEM I added Coreplayer, PdaNet, SKTools5, Live Search, Google Search and WM5torage1.9. I had to add Google Search in here because I could not get it to work by adding the original files back into the OEM App folder: In Systems I removed ADC, VOIP and One Note, replaced NETCF with NETCF3.5, and added Transcriber back in. I thought about removing WMWidgets, I use all SPB Software, but I dont understand all of its functions, I have Googled it and there really isnt alot out there about it. What I did find though makes me think Microsoft will add more function to it once the official 6.5 is officially released-So I will keep that. For me this is a very good ROM, you have done an excellent job with modifying the kitchen.
Thank-you
Sunday
Click to expand...
Click to collapse
what do you mean by bsprop not installed correctly? if you convert it to OEM folder correctly it should work but if you leave the customization engine run on startup there is no point to preinstall bsprop since it will reinstall again from ipaq file store(unless you did not install the update before).
Also if you modify initflashfiles.dat i believe you should use hex editor to remove the FF FE header added by notepad.
Sometime when you flash a lot the device will act weird & does not reboot from flashing, you can try to clean boot it or reflash. I think you can remove all highlighted entries without issue. You may need to leave a blank line at the end of file though.
wmwidget is a widget engine that can run apps that use pie as a container/interface, for me it looks kinda like a shortcut to a webpage, msn weather/money .etc are the sample widget come with 6.5 for now. You can remove it if you don't use it.
SwimmerBoy said:
Where do you test the new roms? In the device or in somekind of emulator?
Click to expand...
Click to collapse
device only until i figure out the emulator issue
Post 2: Virtual Memory and Windows Mobile 6.5
Post 3: Registry tips for Windows Mobile 6.5
Post 4: Tutorial on language porting with Visual Kitchen
(new!) Post 5: Description of all packages found in Rollup
(new!) Post 6: Description of the different branches of WM development.
ace10134's Post: Tutorial on porting a new build to "old style" kitchen
+ Que PPC's Post: Tutorial on porting a new build to Ervius Visual Kitchen
indagroove's Post: Tutorial on porting xip.bin for Ervius Visual Kitchen
rgb-rgb's .pdf: Tutorial on porting XIP/SYS to Da_G's Raphael Kitchen
CRACING's: Placing an Custom Image in the About Dialog/Window
WM 6.5.5 Build 23563 - All Langs, All DPI, All Resolutions
Edit: If this download link is dead, then search this thread or the stickied build thread for the build number and mirror.
Language Localization Packages
0401 SAU Arabic المملكة العربية السعودية
0403 ESP Catalan España
0404 CHT Chinese Traditional 台灣
0405 CSY Czech Česká republika
0406 DAN Danish Danmark
0407 DEU German Deutschland
0408 ELL Greek Ellas
0409 USA English United States
040B FIN Finnish Suomen tasavalta
040C FRA French République française
040D HEB Hebrew מְדִינַת יִשְׂרָאֵל
0410 ITA Italian Repubblica Italiana
0411 JPN Japanese 日本
0412 KOR Korean 한국
0413 NLD Dutch Nederland
0414 NOR Norwegian Bokmål
0415 PLK Polish Polska
0416 PTB Portuguese Brasil
0419 RUS Russian Россия
041D SVD Swedish Sverige
0804 CHS Chinese Simplified 中华人民共和国
0816 PTG Portugese Portugal
0c0a ESN Spanish España
images taken down to comply with DMCA notice
This thread is dedicated to porting past/current devices to WM 6.5/Windows Phone and future versions, The latest release of XIP/SYS, issues that might come up when porting it to pre-WM6.5 devices, compatibility with "OEM" Packages, etc.
This is intended as a followup to the thread Here, which contains a mountain of useful info, attachments, etc, but is getting very long in the tooth and is device-specific, whereas this thread will be used for all devices. (that one was anyway!)
The Native Kernel Partition (XIP)
This is generally Partition 2 in the Partition table (following ULDR, and preceeding OS). It is split up into 2 Major ROM Packages, and several possible Minor ROM Packages. OEMXIPKernel makes up the device-specific part of NK, and MSXIPKernel makes up the device-agnostic part of NK. When porting from your current WM version to 6.5, you want to keep OEMXIPKernel as is, and only change the MSXIPKernel files and modules. An important module to consider in OEMXIPKernel is nk.exe - this module is the Native Kernel for the device and handles Virtual Memory, which has changed for WM 6.5, and is discussed in the following post.
You can check to see if you have a 6.5 Native Kernel by dumping xip.bin, and opening nk.exe/s000 in a hex editor. Search for the ASCII string "platform" - near this string should be the build number this nk.exe was compiled against. WM 6.5 builds began around 21100, and nk.exe compiled against them can take advantage of the new memory model discussed below. WM 6.1 and previous builds will be <=21058. nk.exe compiled against these builds will not be able to use the new memory model.
The Operating System Partition (imgfs.bin)
In your kitchen, you want to use the new /SYS from the same build that matches the MSXIPKernel if possible. Occasionally the builds do not match up, this is normal. The /OEM folder generally does not change, but when coming from WM 6.1, you will need to update your initflashfiles.dat with the new shortcuts and folders introduced in WM 6.5.
Virtual Memory in Windows Mobile 6.5 and how it differs from 6.1 and 6.0, important when porting to a device that does not have a WM 6.5 Native Kernel
What is Virtual Memory?
Virtual Memory as it applies to the Windows CE 5.2 Kernel
There's a 32 bit address space available - a total of 4GB potential memory on WM. This total 4gb address space is split in half - 2gb to the Kernel, 2gb to the User. Kernel address space is only accessible by processes/threads with kernel level access, whereas user address space is accessible by all processes/threads. The user address space is from 0x00000000 to 0x7FFFFFFF, and the kernel address space is from 0x80000000 to 0xFFFFFFFF.
The user address space is split into 64 slots of 32mb a piece. (64x32=2048, or 2gb) - The first 33 slots (slot 0 and 1-32) are used for processes, and the remaining slots for object store, memory mapped files, and resources.
Each slot is easy to visualize in hex, you just increment a digit. Slot 0: 0x00000000 to 0x01FFFFFF, Slot 1: 0x02000000 to 0x03FFFFFF, Slot 2: 0x04000000 to 0x05FFFFFF, and so on. Each process gets assigned it's own slot, there are 33 total, minus the kernel process which is always running, so that's where you get the 32 process limit (which is always lower in practice, since there are always processes running in windows mobile to support the OS) - this is also the reason for a 32mb limit per process - you can see that's all the address space available in one slot.
How does that all apply to our situation with modules? When you create a module, you are telling Windows Mobile that you want that module to be memory-mapped, so that each time it loads, it's loading to the same, known area of ram - saving space in slot 0 - this is done on the computer-side, during 'cooking' and is the job of wmreloc, g'reloc, bepe's Platform Rebuilder, etc. Virtual allocations are aligned to a 64KB border, so if you memory map a .dll that's only 3Kb large, it's still going to eat up 64KB of memory space.
There are also pages that can be allocated to these slots, that are aligned to a 4KB boundry, and process/general allocations that take place during normal operation. The way the system handles this is that modules allocated on rom build-time (modules we allocate with g'reloc et. al.) are allocated from top-down (for slot 1 for example, starting at 0x03FFFFFF for the first module, taking up space to the nearest 64kb boundry, then the next module, in a line down to the 0x02000000 address, which is the beginning of the slot) - General allocations that take place during normal system operations are allocated in the remaining space, from the bottom-up (so again with slot 1 as an example, starting at 0x02000000 and ending at 0x03FFFFFF) - As you fill up these slots more and more with modules, that leaves less space for windows to dynamically allocate other, general allocations, which can, and does result in out of memory errors (even when the device has plenty of physical memory left, it cannot address this memory when virtual memory is full)
Here's where the kicker comes in for the difference between 6.0/6.1/6.5 - There are a total of 4 slots that can be used for module allocation, slot 0, 1, 60, and 61. 63 is also available to modules that contain no code (resource only modules, like .mui's)
WinMo 6 could allocate slot 0, 1 - (in order of 1 first, 0 last) for a total of 64mb of vm space for modules/files (and the running process is always mapped to slot 0, so once you encroach on this memory space, you are removing available memory to each application running) - you can see how tight this is.
WinMo 6.1 improved on this by opening up slot 60 and 61 (now the allocation order is 61, 60, 1, 0) - but modules could not be allocated here, only files. So for our relocation tools, this was essentially no change. (still only slot 1, 0 for modules) WM 6.1 also introduces the process initvmmap.exe in the MSXIPKernel, NK partition (xip.bin). This process draws a map of all virtual memory, and uses the following registry key from the boot hive (boot.hv):
Code:
[HKEY_LOCAL_MACHINE\System\Loader\ModuleInfo]
[HKEY_LOCAL_MACHINE\System\Loader\ModuleInfo\dllname.dll]
"filename.exe"=dword:1
"filename2.exe"=dword:1
This tells the system that the module dllname.dll is only required when filename.exe is running, or filename2.exe is running - and whenever these processes are not running, the virtual memory space is available, and can be dynamically allocated to by the system.
WinMo 6.5 improves on this by opening up Slots 60 and 61 to Modules - yielding an extra 64mb of potential Virtual Memory space. (the allocation order is now 1, 61, 60, 0 for modules, 60, 61, 0 for files) - In order for the Kernel to recognize these new Slots as being mappable for Modules, it must be updated to the 6.5 codebase. This is where the 6.5 nk.exe comes in, and why it's so important.
Profiling Virtual Memory is an important job for an OEM - the less available in Slot 0, the sooner a device will kick back out of memory errors (even if it's not truly out of memory) - and the worse the user experience will be. Some ROM's I have seen have less than 20MB available in slot 0 (and the user experience is as bad as you might imagine) - There are many more intricacies to the whole process - like balancing the load between services.exe and device.exe to best utilize the 32mb VM space available to each, and storing all resource-only dlls as modules so they can be allocated to Slot 63, etc.
This is also why it's important that the re-alloc tools be updated to support the new slots - g'reloc will not ever try to allocate modules to slot 60/61 because as far as it's aware, this is not possible. For the moment I know of 2 tools that will realloc to slot 60/61, wmreloc 2.0, and bepe's Platform Rebuilder (used by ervius vk)
What's the take-home message about VM?
Keep Slot 0 as free as possible. WM 6.5 NK allows you to use more modules without taking up SLOT 0 space, so allows more flexibility to use modules (which are faster to load)
Registry tips for WM 6.5
* Start menu icons
Sizes (for png icons):
240x240 96 DPI 45x45
240x320 96 DPI 45x45
240x400 96 DPI 45x45
320x320 128 DPI 60x60
480x480 192 DPI 90x90
480x640 192 DPI 90x90
480x800 192 DPI 90x90
480x854 192 DPI 90x90
All icon entries go under the following key:
Code:
[HKEY_LOCAL_MACHINE\Security\Shell\StartInfo\Start]
Create a sub-key matching the folder name or shortcut name the icon will go with, for example:
Code:
[HKEY_LOCAL_MACHINE\Security\Shell\StartInfo\Start\Phone.lnk]
[HKEY_LOCAL_MACHINE\Security\Shell\StartInfo\Start\Tools]
[HKEY_LOCAL_MACHINE\Security\Shell\StartInfo\Start\Tools\QuickGPS.lnk]
[HKEY_LOCAL_MACHINE\Security\Shell\StartInfo\Start\Google Maps.lnk]
There are 4 possible values you can set under this key:
MSFT said:
Name REG_SZ Specifies the display name of the item. If the value is not specified, the file name will be displayed without the extension.
Group REG_DWORD Specifies whether the item is a folder. The value can be set to TRUE or FALSE. Set the value to TRUE to indicate that the item is a folder. If the value is not specified, the system will determine the Group value by verifying whether the registry key has any subkeys.
Icon REG_SZ Specifies the path and file name where the icon is located. The icon can consist of a PNG file or an embedded icon resource module. If this value is not specified, the default icon of the shell will be used.
Rank REG_DWORD Specifies the rank of the item. An item that specifies a larger value for Rank will be displayed before items that specify a lower value. If this item is not specified, the Rank will be set to 0.
Click to expand...
Click to collapse
To determine icon spacing, you'll need to examine the Rank value for existing icons, you can find the stock values in the following file: Base_Lang_xxxx\mxipinit_startmenu_001.provxml, where xxxx matches your Language ID code. A higher number = higher up in the chain, a lower number = lower down the chain. Any icons without a rank will be displayed at the bottom.
* Restore hidden settings items
Remove the "Redirect" value under the following keys:
Code:
[HKEY_LOCAL_MACHINE\ControlPanel\Owner]
[HKEY_LOCAL_MACHINE\ControlPanel\Buttons]
[HKEY_LOCAL_MACHINE\ControlPanel\Input]
* Allow in call recording with the native dialer
Code:
[HKEY_LOCAL_MACHINE\System\AudioRecording]
"Enabled"=dword:00000001
[HKEY_LOCAL_MACHINE\Software\Microsoft\Voice]
"EnableCallRecordMenuItem"=dword:00000001
"AllowInCallRecording"=dword:00000001
* Disable built-in magnifier on double-tap
Code:
[HKEY_LOCAL_MACHINE\System\GWE\MAGNIFIER]
"Enable"=dword:0
* Override default Lock Screen notification launchers
Code:
[HKEY_LOCAL_MACHINE\Software\Microsoft\Shell\LockScreen\Notifications\Email]
"Application Command Line"="\Program Files\OEMApp\OEMApp.exe"
[HKEY_LOCAL_MACHINE\Software\Microsoft\Shell\LockScreen\Notifications\SMS]
"Application Command Line"="\Program Files\OEMApp\OEMApp.exe"
[HKEY_LOCAL_MACHINE\Software\Microsoft\Shell\LockScreen\Notifications\Voicemail]
"Application Command Line"="\Program Files\OEMApp\OEMApp.exe"
[HKEY_LOCAL_MACHINE\Software\Microsoft\Shell\LockScreen\Notifications\MissedCall]
"Application Command Line"="\Program Files\OEMApp\OEMApp.exe"
[HKEY_LOCAL_MACHINE\Software\Microsoft\Shell\LockScreen\Notifications\Contacts]
"Application Command Line"="\Program Files\OEMApp\OEMApp.exe"
* Porting languages in Ervius Visual Kitchen using the posted language packs
First, a quick overview of the relevant file structure in VK:
Code:
\Erv\OEM\[i]%DEVICENAME%[/i]\[i]%LOCALE_ID%[/i]\OEM_Lang_[i]%LOCALE_ID%[/i]
\Erv\ROM\[i]%DEVICENAME%[/i]\[i]%BUILDNUMBER%[/i]\OEMXIPKernel
\Erv\SYS\[i]%BUILDNUMBER%[/i]\DPI_[i]%DPI%[/i]\[i]%LOCALE_ID%[/i]
\Erv\SYS\[i]%BUILDNUMBER%[/i]\DPI_[i]%DPI%[/i]_resh_[i]%RESH%[/i]_resv_[i]%RESV%[/i]\[i]%LOCALE_ID%[/i]
\Erv\SYS\[i]%BUILDNUMBER%[/i]\SHARED\[i]%LOCALE_ID%[/i]
Code:
Possible values for the [i]%VARIABLES%[/i] above:
[i]%DEVICENAME%[/i]: Name of your device (Hermes, Raphael, Diamond, etc.)
[i]%LOCALE_ID%[/i]: The 4 digit number matching your locale (list of supported id's found in first post) - a full list can be found [url=http://msdn.microsoft.com/en-us/goglobal/bb964664.aspx]here.[/url] It is possible to port WM to a language that is not supported, you would have to use a PE Resource editing program to translate all the various strings found in the [b].mui[/b] (Multilingual User Interface) files. Note that these change periodically as the builds get updated so you would also need to update your altered .mui's.
[i]%BUILDNUMBER%[/i]: The build version in use (23022 for example)
[i]%DPI%[/i]: DPI of the device (92, 128, 192)
[i]%RESH%[/i]: Horizontal resolution of the device, in pixels (portrait)
[i]%RESV%[/i]: Vertical resolution of the device, in pixels (portrait)
* Porting \SYS
The first thing you would want to do is grab the language pack matching your language. Extract it and you'll have several folders inside. Essentially what you want to do, is grab the folders that match your target device for the variables above, and copy those into the kitchen, in their respective folders.
As an example, if you were porting to Italian, on a 96 DPI, 240 by 320 device, and you had the following folder:
Base_Lang_%LOCALE_ID%_DPI_%DPI%_RESH_%RESH%_RESV_%RESV%
Base_Lang_0410_DPI_96_RESH_240_RESV_320
and place it in:
\Erv\SYS\%BUILDNUMBER%\DPI_%DPI%_resh_%RESH%_resv_%RESV%\%LOCALE_ID%
\Erv\SYS\23022\DPI_96_resh_240_resv_320\0410
Go through each of the folders in the language pack and match it up with a destination folder this way. Compare to the existing 0409 layout to help with the structure. Note that there will be some files you are not going to use (you won't use 96 or 128 dpi files on a 192 dpi device, for example)
Once you have completed matching up each applicable folder in the language pack to a destination in \SYS this way, you're complete with that folder.
* Porting \ROM
The relevant folder here is \Erv\ROM\%DEVICENAME%\%BUILDNUMBER%\OEMXipKernel - inside you want to edit boot.rgu. The relevant keys to edit are:
Code:
[HKEY_LOCAL_MACHINE\MUI]
"SysLang"=dword:[i]%LOCALE_ID%[/i]
[HKEY_CURRENT_USER\MUI]
"CurLang"=dword:[i]%LOCALE_ID%[/i]
NOTE: For anyone not using Ervius VK, you will need to compile boot.rgu to boot.hv when done. Use the HV Tools.zip attached to this thread for that. For anyone using Ervius VK, this is automatically compiled into boot.hv during cooking, and no further action is required.
* Porting \OEM
The relevant folder here is \Erv\OEM\%DEVICENAME%\%LOCALE_ID%\OEM_Lang_%LOCALE_ID% - you need an initflashfiles.dat that matches your language. All the folder names inside here will need to be translated to your language. I will try and make translated initflashfiles.dat for each language available soon.
You will also need to translate any other language-specific packages in \OEM and \EXT. If you don't want to bother translating the 3rd party apps, you can simply rename their .mui files to match your %LOCALE_ID%. The programs will work, but remain in their original language. You can translate these with a PE Resource editing program if you cannot find programs in your local language.
* Package Descriptions
*note: in the case of *Modules vs. *Files, the difference is simply what area of memory these objects go to when loaded (FILES or MODULES section) - other than that, no difference. Essentially, if you're using a native 6.5 kernel, you want *Modules, otherwise not.
ADC - Automatic Data Configuration
AdobeFlash - Adobe Flash
AdobeFlashCodecs - Adobe Flash Video Playback Codecs
AlarmSounds - Alarm Sounds
AUTOUPDATE - Device-Side Auto Update - Not Required
Base - Required - but what is it?
BaseApps - Required - but what is it?
BaseAppsFiles - Microsoft Camera + Camera Integration Support - replaces BaseAppsModules
BaseAppsModules - Microsoft Camera + Camera Integration Support -replaces BaseAppsFiles
Bluetooth - Bluetooth Support (for microsoft BT stack, dependant on build-time switch)
bronze - Required - Components for CHome
BronzeAH - Components for CHome (Arabic language)
BronzeEA - Components for CHome (east-asia languages)
BronzeNonEA - Components for CHome (Non east-asia languages)
BROWSING - IE 5 Components
BROWSINGCORE - IE 6on6 Scripting Components (dependant on build-time switch)
browsingie - IE 6on6 UI and RenderCore (dependant on build-time switch)
BTDUN - Bluetooth dial-up networking
Bth_A2DP - Bluetooth A2DP
Bth_HID - Bluetooth HID (Human Interface Device) profile support
Bth_Watch - Support for the Sony Erricssion Wrist Watch
CHome - Titanium, the WM Pro version of Sliding Panels
CommonEA - Common settings specific to east asia builds, replaces CommonNonEA
CommonNonEA - Common settings specific to non-east asia builds, replaces CommonEA
COMPLEXSCRIPT_FONTS - System fonts for Arabic builds, replaces SYSTEM_DEFAULT_FONTS
ConfettiCore - HW Accelerated RenderCore for 6.5 Chrome
DRM - Digital Rights Management Support (dependant on build-time switch) - Required for Video playback of 3gp and mp4
Enterprise - IPSec, l2TP and Winscard support?
Entertainment - Games
FWUPDATE - ImageUpdate Support
gb18030 - East Asian Font support - Excluded from non-EA images
GPSID - GPS Intermediate Driver, facilitates multiple applications using one serial port simultaneously
INTERNETSHARING - Provides a NAT Router for WWAN <--> USB/Bluetooth communication
IPSECVPN - IPSec VPN Support
IRDA - IR Port Support
LangDB - wince.nls for your language (0404, 0411, 0412, 0804, WWE)
Livesearch - Windows Live Search/Bing Search
Lockscreen - WM6.5 Lockscreen
LockscreenEA - Lockscreen east-asia components - replaces LockscreenNonEA
LockscreenNonEA - Lockscreen Non east-asia components - replaces LockscreenEA
MediaOS - Windows Media Player - Needed for MP3 Ringtone support?
MediaOSFiles - Windows Mobile Player Decoder DMO - replaces MediaOSModules
MediaOSModules - Windows Mobile Player Decoder DMO - replaces MediaOSFiles
Metadata - Required - Registry Hives, Package Info
MODEMLINK - Old-style internet sharing support (DUN) (dependant on build-time switch)
MSIMAR - SIP support for Arabic builds - excluded from non-arabic builds
MSTag - Microsoft Tag Reader (dependant on build-time switch)
MSXIPKernel - Microsoft Native Kernel Components
MSXIPKernelLTK - Empty ImageUpdate Package - Requirement for future expansion
NetCF - Microsoft .NET Compact Framework
NonPhone - Non-Phone (PDA) Components - excluded from phone builds
OEMXIPKernel - OEM Native Kernel Components
Office - Microsoft Office 6 Mobile
OneNote - Microsoft OneNote 6 Mobile
OS - Required - Description?
OSFiles - Required - MS WMV DMO - replaces OSModules
OSModules - Required - MS WMV DMO - replaces OSFiles
Perf - Debug Performance Monitor
Perfbox - Debug Performance Monitor
Phone - Required - Phone support, not in PDA builds
PhoneRedist - Required - Phone support, not in PDA builds
ppgprov - OMA Provisioning Support, not in PDA builds
Redist - ?
RemoteDesktopMobile - Remote Desktop
Riched20 - Rich HTML Editor support - WWE builds - replaces Riched20_CS
Riched20_CS - Rich HTML Editor support - Arabic builds - replaces Riched20
RIL710MUX - CellCore Component (optional)
RingsAndAlerts - Rings and Alerts
RMGR - Roaming Manager (optional)
RUNTIMES - C Runtimes
SipAR - SIP Support for Arabic builds (excluded from non-arabic builds)
SampleMusic - Sample Music (dependant on build-time switch)
Shell - Required
SIM_TKit - SIM Tool Kit, omitted from CDMA builds
Skybox - Microsoft MyPhone, Syncs a phone's info with Microsoft (dependant on build-time switch)
Skymarket - WM MarketPlace isn't live yet - Just a link (dependant on build-time switch)
SMIME - Required - Crypto Support
SMS_Providers - Required - SMS Support
SQLCE - SQL Server for CE (dependant on build-time switch)
SQM - Systems Quality Metrics (customer experience feedback)
SqlCeMobile - Not Required - Unless you need SqlCeMobile
SYSTEM_DEFAULT_FONTS - Required - Non Complex-Script Font Support - replaces COMPLEXSCRIPT_FONTS
Themes - Extra Themes
Transcriber - Transcriber - Not available in every language
UNISCRIBE - SIP Support for select non-WWE langs - replaces Transcriber
VoiceCommand - Voice Command - (0407, 0409, 040C, 0809)
VoIP - VoIP
VoIPOS - VoIP Part 2
Webview - IE 6on6 RenderCore component for OS use, WWE - replaces Webview_CS
Webview_CS - IE 6on6 RenderCore component for OS use, arabic - replaces Webview
WelcomeCenter - The WM6.5 Welcome Center - Required for "Help"
WindowsLive - Windows Live Mobile
WindowsLiveIM - Windows Live Instant Messaging
WMLiveSearchWidget - MS Live Search Widget
WMMoneyWidget - MS Money Widget
WMWeatherWidget - MS Weather Widget
WMWidgets - MS Widgets Support (Requires IE 6on6)
WWAN - WWAN Support (not in PDA Builds)
Branches of WM Development: Here is what all these different version numbers relate to, and a summary of their features.
212xx = AKU1, all builds leading up to and including WM 6.5
213xx = MOT motorola
214xx = ???
215xx = SAM samsung
216xx = HTC htc
217xx = COM1, continuing dev of 6.5.0.1 - 6.5.0.40
218xx = COM2, continuing dev of 6.5.0.50
219xx = MD, feature test branch, pretty much dead now. (unstable features are added here, this tree is based on COM1, so older base OS code, but the UI/UX code is newer)
22xxx = SEMC sony ericsson
*230xx = COM3, continuing development
*234xx = COM4, appears to be abandoned.
*235xx = COM5, more GUI changes here. New Outlook Interface.
*236xx = LG Electronics Branch
*24xxx = Possible HTC branch
*25xxx = SEMC - Sony Ericsson
*280xx, 282xx = WMD. This is a continuation of com3 from 23090. Most of the changes appear to be with IE
235xx is the only branch that has threaded email natively
Thanks to a1d2catz and Cotulla.
Post or PM DaveShaw (or any other mod on this thread) with updates
OK, So since I got a post on the first page I suppose I could keep some useful info here from the thread as well. Just in case someone missed it With every new build comes a new issue, so post your fixes if you have them.
- Here are some helpful programs. First is an awesome ROM Sorting tool. This this is awesome for organizong SYS and it cleans up unwanted files left in module folders. Link HERE
- And second is just a plug for my FlashBack package which you can use to backup and restore(automatically) lots of personal info and program settings Can also set manila to load automatically if you prefer it to "Windows Default", and choice to autorestore or not within program. Saves me a lot of setup time. After a flash all I need to do is restore contacts. Check it out and offer suggestions HERE
-Alter shellres.xx.dll to work with new Toolbar zoom in 23028 build. Video HERE
-Add your own shortcuts and icons to settings items. Post HERE and HERE
-A tool to remove duplicate files from modules. Post HERE
-Editing .tsk file for use in 23025+ builds. For adding Pivot images and Toolbar images. Post HERE
Some more registry keys. If anyone has details on what these do please post.
Code:
[HKEY_LOCAL_MACHINE\Software\Microsoft\ConfettiPlus]
"EnableStatsCaption"=dword:00000001
"ForceUpdateOverlay"=dword:00000001
"FrameRateCap"=dword:00000100
"UseGDI"=dword:00000001
Transparent quickmenu for HTC taskmanager(for use with 2302x builds)
Code:
[HKEY_CURRENT_USER\Software\HTC\TaskManager]
"LauncherUp"=hex:\
20,00,00,00,01,00,00,00,07,00,00,00,70,00,00,00,0f,00,00,00,0f,00,00,00,\
0f,00,00,00,0f,00,00,00,0e,00,00,00,0e,00,00,00,0e,00,00,00,0e,00,00,00,\
0d,00,00,00,0d,00,00,00,0d,00,00,00,0d,00,00,00,0c,00,00,00,0c,00,00,00,\
0c,00,00,00,0c,00,00,00,0b,00,00,00,0b,00,00,00,0b,00,00,00,0b,00,00,00,\
0a,00,00,00,0a,00,00,00,0a,00,00,00,0a,00,00,00,09,00,00,00,09,00,00,00,\
09,00,00,00,09,00,00,00,08,00,00,00,08,00,00,00,08,00,00,00,08,00,00,00
"LauncherDown"=hex:\
20,00,00,00,01,00,00,00,07,00,00,00,70,00,00,00,0f,00,00,00,0f,00,00,00,\
0f,00,00,00,0f,00,00,00,0e,00,00,00,0e,00,00,00,0e,00,00,00,0e,00,00,00,\
0d,00,00,00,0d,00,00,00,0d,00,00,00,0d,00,00,00,0c,00,00,00,0c,00,00,00,\
0c,00,00,00,0c,00,00,00,0b,00,00,00,0b,00,00,00,0b,00,00,00,0b,00,00,00,\
0a,00,00,00,0a,00,00,00,0a,00,00,00,0a,00,00,00,09,00,00,00,09,00,00,00,\
09,00,00,00,09,00,00,00,08,00,00,00,08,00,00,00,08,00,00,00,08,00,00,00
Great work Da_G as always. I think most people will be happy with the SYS and XIP. That is all I use, and there are so many cooks which are providing ROM's that you should use your time wisely.
On another note I we all should help to contribute to this thread. I know there are others out there with resources to new ROM's, I hope they will be as giving and share as Da_G has.
Thanks again and I will bookmark this thread and follow for new releases of SYS\XIP.
Anyone got the 23019 that ConFlipper mentioned - or was he just toying with us
DT
Da_G can I use the Portuguese language packages from 23001 in the 23016/21935?
Oh noes! I forgot the pizza party posts
@Z7Z:
This should work fine for 23016, but not for 21935. I hope to have a new version to post soon, I will try and post all langs for it
Da_G, my phone came with Wm 6.0. Now i am using 6.1/6.5. I have managed to insert initvmmap.exe and mencflt.dll into my xip, as these files have been added/replaced in the 6.1 and 6.5 xip. Now, i have also inserted required registry entries into boot.rgu in xip.bin, but i dont know how to add the entries in boot.hv. Is it necessary to do so? and if yes, then how?
krazy_about_technology said:
Da_G, my phone came with Wm 6.0. Now i am using 6.1/6.5. I have managed to insert initvmmap.exe and mencflt.dll into my xip, as these files have been added/replaced in the 6.1 and 6.5 xip. Now, i have also inserted required registry entries into boot.rgu in xip.bin, but i dont know how to add the entries in boot.hv. Is it necessary to do so? and if yes, then how?
Click to expand...
Click to collapse
it depends on kitchen
PRB kitchen creates new boot.hv
older kitchen that are using xip.bin u have to compile boot.rgu to boot.hv with HV TOOLS
Thanks a lot for the tools buddy I am using platform rebuilder based kitchen, do i need it?
krazy_about_technology said:
Thanks a lot for the tools buddy I am using platform rebuilder based kitchen, do i need it?
Click to expand...
Click to collapse
no PRB will create new
MMM
I cook with the old kitchenn, based on bepe's kitchen 'buildos.exe".
If i do some tweaks on my XIP and on my boot.rgu, if i understand, i need to compile my new boot.hv with my modded boot.rgu ?
It's right ?
Thanks a lot
Hey!
Hey Da_G now i need to unsuscribe the other and add this
How is the new tools IMGFSfrom and to... development? Hope GREAT!!!
Keep it up man... God bless friends.
Haven't started on the IMGFS part of it yet, still learning some bits of C++ i'll need to create that... but nd4spd has posted a modded set of IMGFS tools here which should work good until i'm done (although the free space in each partition is hardcoded for the moment): http://forum.xda-developers.com/showpost.php?p=4186647&postcount=237
I'm probably a week or so off from posting the first test version (i'll do that in another thread) of the replacement for NBSplit/NBMerge/IMGFSFromNB/IMGFSToNB.
@Nixeus: Yes, when using the older kitchen you need to use program "rgucomp -b" with boot.rgu in same folder, it will compile boot.rgu to boot.hv Then just replace boot.rgu and boot.hv in your OEMXIPKernel. In the old kitchen to do this you'll need to dump xip.bin, replace the .hv, then rebuild xip.bin. XIPPort.exe can do this fairly easily.
Da_G said:
Registry tips for WM 6.5
To change start menu positions
Code:
[HKEY_LOCAL_MACHINE\Security\Shell\StartInfo\Start\Tools]
Click to expand...
Click to collapse
I don't have the "tools" key in my registry. I could obviously create it, but what would the string or dword values be?
Under HKEY_LOCAL_MACHINE\Security\Shell\StartInfo\Start, I see all my shortcurs with different ranks, so is that what you mean -- just change the rank?
Only one Question. Is the voicemailbox-tab working with 23017 ?
Or with the 23xxx tree generally ? .... I never saw a notification there ... number was configured.
Is there a reg-key to get it working ?
Dear Members,
1. I have lost the icon to access display settings in my cooked roms. Meaning i cannot access the screen alignment or clear type settings. I have tried adding reg below as well:
[HKEY_LOCAL_MACHINE\Security\Shell\StartInfo\Start\Settings\System\cplmain.cpl,7]
"Icon"="\\Windows\\Start_Icon_Screen.png"
Click to expand...
Click to collapse
I cant access clear type settings from manila as well.
2. My HTC Recorder fails to appear in my start menu as well. I have set it to appear under "Multimedia" folder in app.dat. I have checked spelling and the lnk is present in the files folder.
In effort to solve this prob, i have checked initflashfiles.dat and searched all provxml files to see if something is deleting it (used ervius kitchen editor function to search for "Recorder" string under all files and appears to be ok)
Also, i have tried 2 different builds of SYS - both boots up properly but with same problem. Please advice what i could be doing wrong.
Thanks in advance.
Details:
Base: TMOUS 2.13
SYS: 21903 / 21892
SOLUTION - Refer to post 3 by Braakie
nothing seems to be wrong... can you please post what are you using to change the registries.. i guess if you are not using UIA icons you will have some troubles.
tidus18 said:
Dear Members,
1. I have lost the icon to access display settings in my cooked roms. Meaning i cannot access the screen alignment or clear type settings. I have tried adding reg below as well:
I cant access clear type settings from manila as well.
2. My HTC Recorder fails to appear in my start menu as well. I have set it to appear under "Multimedia" folder in app.dat. I have checked spelling and the lnk is present in the files folder.
In effort to solve this prob, i have checked initflashfiles.dat and searched all provxml files to see if something is deleting it (used ervius kitchen editor function to search for "Recorder" string under all files and appears to be ok)
Also, i have tried 2 different builds of SYS - both boots up properly but with same problem. Please advice what i could be doing wrong.
Thanks in advance.
Details:
Base: TMOUS 2.13
SYS: 21903 / 21892
Click to expand...
Click to collapse
1) In your \OEM\LEO\COMMON\OEMDrivers folder, there is a 21b6ed86-a505-4ad7-a4aa-b8bb93c926d9.rgu file with this registery entry, change it from 1 to 0:
[HKEY_LOCAL_MACHINE\ControlPanel\Pen]
"Hide"=dword:0
2) For the HTC Recorder, change your pad in the \OEM\LEO\0409\OEM_Lang_0409 initflashfiles.dat file, search for "VoiceRecorder", and change Tools to Multimedia:
Directory("\Windows\Start Menu\Programs\Multimedia"):-File("Voice Recorder.lnk","\Windows\Recorder.lnk")
ps: This is the English translation, change it in your own language.
details
Thanks guys,
Will recheck the paths and spellings. I have removed all entries in initflashfiles.dat all except the non HTC stuffs and placed it under its respective app.dat in ext folder. Im customizing the location and icon pictures of basic wm stuffs (ie: home, search phone, help,games etc.) using provxmls.
What i have done so far:
1. Copied all these provxmls below to a "zzz_newXML" ext package and edited to new path i want.
mxip_MyPhone_100.provxml
mxipcold_marketplace_100.provxml
mxipupdate_office_100.provxml
mxipupdate_onenote_100.provxml
mxipupdate_projectdefault_a_000.provxml
mxipupdate_RemoteDesktopMobile.provxml
mxipupdate_taskmgr_shell_1.provxml
mxipupdate_welcomecenter_1.provxml
mxipupdate_windowslive_1.provxml
mxipupdate_windowsliveim_1.provxml
Click to expand...
Click to collapse
2. So the original is left untouched in SYS/OEM folder. Provxmls which assigns/resorts icons have been blanked out and placed in "zzz_newXML" files folder to overwrite the default paths so that i can fully control all icons using single provxml.
3. I am using mxipinit_startmenu_001.provxml in XDA\EVK\OEM\LEO\0409\ProjectDefault_A to do start menu rearrangement. All Ext package icons customizations in placed in its respective folders.
My reason for choosing this method is so that i dont have to go to initflashfiles.dat or provxmls in new SYS package whenever i update system builds or add/remove ext package.
I have attached mxipinit_startmenu_001.provxml (from item 3 above) and my initflashfiles.dat if you guys need more details. Please advice if there are any other better/easier way of doing this customization.
Thanks in advance and sorry for the late reply!
Braakie said:
1) In your \OEM\LEO\COMMON\OEMDrivers folder, there is a 21b6ed86-a505-4ad7-a4aa-b8bb93c926d9.rgu file with this registery entry, change it from 1 to 0:
[HKEY_LOCAL_MACHINE\ControlPanel\Pen]
"Hide"=dword:0
2) For the HTC Recorder, change your pad in the \OEM\LEO\0409\OEM_Lang_0409 initflashfiles.dat file, search for "VoiceRecorder", and change Tools to Multimedia:
Directory("\Windows\Start Menu\Programs\Multimedia"):-File("Voice Recorder.lnk","\Windows\Recorder.lnk")
ps: This is the English translation, change it in your own language.
Click to expand...
Click to collapse
Thanks Braakie! Finally found time to rebuild rom with the reg key and that did bring back Screen option in settings. I still couldnt get the recorder right, maybe something wrong with the ext package itself.
I think we can change it to solved now as my main concern was with screen settings.
Dear Colleagues,
I'm trying to cook a ROM in Polish. I have handled almost all the translations, but I have a problem to find the place to translate Soft Keys when a system menu is used (see my screenshots). On the bottom there is still written "Close" and "Back" instead of Polish wordings.
These softkeys appear in many programs like File Explorer, pOutlook, Office applications, Notes, Windows Calendar, Windows Contacts and some others even though for each of these applications I have a proper *0415.mui files (found or edited myself), and all every other text in these applications (also menu items) is correctly translated.
It seems like there is some mui file, or reg entry which covers general menu appearance and texts but I cannot find it. I searched all my mui files for "Close" and "Back" strings (ASCII, Unicode and Hex) with Total Commander but without any outcome. Also searched in the registry of a cooked ROM for these strings. Also without results.
Does any of you guys have an idea where can I change these strings? Or do you have an idea how else can I search for them?
The sys build is: 21887, perhaps this is an important information.
Thanks in advance
Skrobel
CUIHandler.dll.<yourlang>.mui
(Menu Enhancement package from HTC)
OndraSter said:
CUIHandler.dll.<yourlang>.mui
(Menu Enhancement package from HTC)
Click to expand...
Click to collapse
Thank you very much!
But I have the file, it's translated and signed. It has only 3 string resources 102 (Back), 104 (Close) and 105 (Redy), but all three I do already have in my 0415 language (and of course all resources are marked as 1045). But the SoftKeys in menu still appear in English...
These two (three) Back&Close&Back are from this file, I know it, I translated it many times from chinese ROMs. Are you cooking the right file?
I hope so... In the original package there was no 0409.mui so I don't even know if the IDs have chaned. I took the 0415 mui from the stock ROM 21887 stock ROM.
And honestly I don't have influence on the package itself 'cause I work on dump not the full kitchen system.
EDIT: Ah, perhaps this helps: The menu enhancement package version is: 1_1_20191232_00 perhaps somebody of you has the correct 0409 or even chinese mui file for exactly this package?
EDIT2: I viewed the CUIHandler.dll with HexEditor. But I couldn't find there any of above mentioned strings even in English. Since there is no english nor chinese mui file for this library, I don't know where the system finds the strings afterall. Strange.
I've asked the original ROM Author - Jackos - for sending me the Menu_Enhancement packages. And here it is:
http://forum.xda-developers.com/attachment.php?attachmentid=404044&d=1284905153
As you can see, no mui files. But somehow the system still knows what to write in English...
Do you have any more ideas how to force these three words to appear in another languages?
Sorry I'm an ass, I said correct package (Menu Enhancement), but wrong file, I ment HTCMenuEnhance.dll.<yourmui>.mui
Sorry once again
Ahoj!
OndraSter, you are not an ass You're brilliant!
I just renamed my original CUIHandler.dll.0415.mui into HTCMenuEnhance.dll.0415.mui and it worked at last!
Actually I copied the file not renamed it as TC couldn't remove file "in ROM". But the most important thing is it works!
Now I started to wonder why!
Is it possible, that when one doesn't use Menu Enhancements these 3 strings are controlled by CUIHandler, and if one uses Menu Enhancement this function is "overtaken" by HTCMenuEnhance.dll?
Dou you have somewhere in your archives a HTCMenuEnhance.dll.xxxx.mui file from any other Menu_enhancement package (any language - even chinese or Czech)? I just wan't to check if there are no other strings that should be there. And I don't know how to create a mui out of whole dll (where to look for the resource IDs).
Zatím děkuji
Skrobel
These menus are "enhanced" by HTC, making dll CUIHandler.dll (forced name by MS) and enabled in registry. HTC has in latest versions of Menu Enhancement renamed the dll to HTCMenuEnhancement.dll, that's the all problem here, the string table is the same, just 3 recods (Close&Back&Close I think). Same as for original (old) CUIHandler iirc.
Thanks again, I am happy now. Problem solved!
OndraSter said:
These menus are "enhanced" by HTC, making dll CUIHandler.dll (forced name by MS) and enabled in registry. HTC has in latest versions of Menu Enhancement renamed the dll to HTCMenuEnhancement.dll, that's the all problem here, the string table is the same, just 3 recods (Close&Back&Close I think). Same as for original (old) CUIHandler iirc.
Click to expand...
Click to collapse
Hi Ondra
Thank you very much, I was lookinf for this for ages
Díky Ondro
Tohle jsem hledal a dnes během hledání jiné věci našel.