i tryed to change the icons in s hellres.dll withResHacker, but when i put this modified file in the rom, my SPV c600 cannot recognize the MiniSD card...Have anybody tryed to modify this file?And using which tool?
Reply With Quote
I'd like to do the same thing... help?
dbshane said:
i tryed to change the icons in s hellres.dll withResHacker, but when i put this modified file in the rom, my SPV c600 cannot recognize the MiniSD card...Have anybody tryed to modify this file?And using which tool?
Reply With Quote
Click to expand...
Click to collapse
See if this info applies to you. Its from Blue Angel forum, please read further on this post
xplode said:
Ok i will give you difrend guide (proper one):
1. Copy shellres.96.dll from \windows to your sd card (of my rom) and rename it to shellres.96.dll.0409.mui - if you replace the original file for this rom you may encounter unpredicted bugs thats why it is more safe to use mui file
2. Copy the file to your computer
3. Extract original resources to a folder using Resource Tuner(Resource Hacker can not extract them) or a similar program (the resources are icons 8,9,24 - 8 and 9 are exactly the same so you me skip extracting 9 but later you have to replace it too)
4. Open the old shellres.96.dll (you can get it from suns kitchen for example) extract the same resources into a difrend
5. Open the old and new resources with icon editor (i used ArtIcons - open all icons) and copy the new resources to the old ones which will give you old sized icons with new looks
6. Add the resources back to the mui file with Resource Hacker - you can also delete all other resources since they are not needed and they already are in shellres.96.dll
7. Sign the file with SignCode and proper certificate (i used SamplePrivDeveloper because it is privileged one - taken from wm6.1 sdk)
8. Now you can either copy the mui to windows folder or make a cab to do this for you.
setup xml will not work added your way because you add it as file and not as setting - but if you need to you can add it with WinCE Cab Manager as a provisioning xml info and it will add it to configuration
My fixes added to the second post
OK-X-Fix.cab uses the original resources of this build with proper size and they are edited a little by me to have better looks
OK-X-FixL.cab uses large resources - like in the rom but antialiased
Click to expand...
Click to collapse
Perhaps, you can ask Explode if this guide would apply to other phones.
Good Luck!
Do try to mod shellres96.dll, I tried on my blue angel running WM6.1 and it worked i just changed the startmenu icon. I dunno if this file is present in WM6.1 standard or not,
Hi guys,
I wanted to start cooking my own ROM and was wondering which kitchens are available that i can use. The only ones i know of are:
1) Hypercore kitchen by anichillus (http://forum.xda-developers.com/showthread.php?t=324682)
2) Beasty and Leo's Kitchen (only saw the snapshot in one of their posts, dont know where i can get it from)
What other options do i have when it comes to ROM Kitchens? And what exactly are the pro's and con's associated with each of the kitchens you mention!
A quick reference to some tutorials and how-to's would be awesome too I've already got some reading material but, the more the better!
I'd really appreciate any help i can get.
Thanks!!!
really, noone?!?
thingonaspring is offering a kitchen from his 3.2 rom, he added a cooking tutorial.
http://forum.xda-developers.com/showthread.php?t=332737
best kithen its kithen which you create by yourself .and for your own... mine for example
2 bat files ... pack and unpack
unpack
1. extracts nbf file
2. extracts nb file content
3. creates packages ...
4. extracts xip.bin and xip contents to folders near sys and oem
5.. system metafiles ( old reg ... initflash files .. and others ) place near sys as meta folder
6. all rgu files from packages hey copy near sys and oem folder as reg folder .. with mark of priority while assembling
after all
sys folder
oem folder
xip folder
xip extended folder with xip.bin and other xip related extracted stuff
reg folder with rgus
meta folder
pack.bat
1. promt .. what rgus use for assembling .. placed in packages or placed in reg folder
2. creating dump folder
3. calculate rom space .. if they exeed standart process brakes
4. injecting xip_out.bin in nb file
5. creating nb.new file
6. assembling nbf file
quadxeon said:
thingonaspring is offering a kitchen from his 3.2 rom, he added a cooking tutorial.
http://forum.xda-developers.com/showthread.php?t=332737
Click to expand...
Click to collapse
I've downloaded thingonaspring's kitchen. Will look into it as soon as i get free from work!
mo3ulla said:
best kithen its kithen which you create by yourself .and for your own... mine for example
2 bat files ... pack and unpack
unpack
1. extracts nbf file
2. extracts nb file content
3. creates packages ...
4. extracts xip.bin and xip contents to folders near sys and oem
5.. system metafiles ( old reg ... initflash files .. and others ) place near sys as meta folder
6. all rgu files from packages hey copy near sys and oem folder as reg folder .. with mark of priority while assembling
after all
sys folder
oem folder
xip folder
xip extended folder with xip.bin and other xip related extracted stuff
reg folder with rgus
meta folder
pack.bat
1. promt .. what rgus use for assembling .. placed in packages or placed in reg folder
2. creating dump folder
3. calculate rom space .. if they exeed standart process brakes
4. injecting xip_out.bin in nb file
5. creating nb.new file
6. assembling nbf file
Click to expand...
Click to collapse
Do your Pack.bat and Unpack.bat files work for ANY NBF files or only for the kitchen you use?? If they work for all NBF files, is there any chance you could provide me with those batch files?
1. any nbf file placed in source folder may be unppacked
2. its not only bat files .. primary its a complex of unreleased progs
3.. no chance .. becose this kithen i made with cooperation with 1 mad programer .. who not like freeware licence
mo3ulla said:
1. any nbf file placed in source folder may be unppacked
2. its not only bat files .. primary its a complex of unreleased progs
3.. no chance .. becose this kithen i made with cooperation with 1 mad programer .. who not like freeware licence
Click to expand...
Click to collapse
perfectly understandable ... any chance you could help me build my own kitchen? i've got over 6 years of programming experience in over a dozen languages. you'll just have to provide me with guidelines. possible??
Hey guys,
Well, as some of you might have known, I struggled for a very, very long time
in correctly porting the XIP (the CE OS number), and the SYS (the Build
number) for quite some time. Thankfully, I figured it out using some other
tutorials that were not for the Kaiser. After a few people have asked me how
to do it, I decided to share this knowledge with this community. Please take
note that this tutorial works on KaiserKitchen and KaiserChef, and is written
specifically for Kaiser chefs who want to learn how to do this. So, without further ado,
How to Port the SYS (Build number) of a ROM:
So, what exactly is all this SYS stuff? Well, the SYS folder in your Kitchen stores all
kinds of Applications that are standard in Windows Mobile. For example, the
Transcriber and Microsoft Office, along with Windows Media Player and Internet Explorer.
It also includes many .dll files that are necessary for the ROM to survive.
So what does it mean to port it? Porting the SYS can result in many different things:
First, if ported correctly, it changes the Build number (found in Start > System > About) of the
ROM. Also, it updates many different applications in the ROM. A bigger number suggests a newer build.
For example: if you ported the 20755 build, then the version of Pocket Internet Explorer will be
a newer version than in the 19212 build. Also, ported builds are often much, much speedier than
stock builds, for some reason that is unknown to me.
So, here is how you port a build:
First, you need the ROM you want to port the build from. For example: for the
sake of this tutorial we are going to be porting the 19965 ROM, taken from the Diamond.
So, the first thing we're going to need to do is to download that ROM, which you can do
here: http://rapidshare.com/files/131846783/RUU_Diamond_hTC_Asia_HK_WWE_1.93.831.1.exe
Second, you need to dump the ROM. Now, I know that many new chefs
(including myself) tend to panic when they hear these words, but there really is
nothing to worry about. For this tutorial, we are only interested in the SYS. I
have found that the most consistent way to do this is to use HTC ROM Image
Editor, because sometimes IMGFS tools fail when trying to port from a device
like the Opal/Jade, for example. So, download this, then run the Application, then open th
.nbh we just downloaded from the Diamond. Now select all the files, and choose
to save them in a folder named "dump" (no quote) in My Documents.
Once you have all your files in a directory, we need to organize them. The easiest
way to do this by far is to download the PackageTool, which you can do so by going
here: http://myunspace.com/?d=B4BE8DA81. Download it, and extract it to
My Documents. Now, drag your "dump" folder on top of the packagebuilder.exe file.
Wait a few seconds, then look at your dump directory. In it should be two
folders: OEM and SYS, and some .dsm files. For this tutorial, we have no use for
the OEM folder, so you can feel free to delete that. Now all that should be left is the SYS folder and the .dsm files, which you can delete too. Now, we should just have the SYS folder.
Now, let's get on to the porting, now that we already have the SYS folder.
To get started, download G'Reloc to your Kitchen folder (the one that should contain
your OEM, SYS, and ROM folders). You can download it from here: http://myunspace.com/?d=0D2CE5741
Extract the .zip file to your Kitchen, be it KaiserChef or KaiserKitchen. Now
double-click on G'Reloc.exe, and keep it open. Do not close it until instructed to
do so. Now go into your Kitchen's SYS folder and delete all the files/folders in it
except the directory named ".VM" (no quotes). Now, copy all the files from your
dumped SYS except the folder ".VM" (no quotes) to your Kitchen's SYS.
Now, go into G'Reloc and click "Doit!" until it is finished. Congratulations, you
have just succesfully ported the SYS folder of the 19965 build!
Tips/Advice:
For this specific tutorial, we ported the SYS from the Diamond, which has
VGA resolution. Therefore, to put this on our QVGA display, we will need to take
all of the files/folders that are named *.192.dll and replace them with *.96.dll
folders/files in the Kaiser's SYS. To do this, you will need to replace those files
before deleting all the files in your Kitchen's SYS
How to Port the XIP (CE OS number) of a ROM: (all credit goes to Ameet and KMFM$!)
What you'll need:
A Hex Calculator
Insert.exe (used to insert the xip_out.bin into the OS.nb.payload)
XIPPort.exe
M'Reloc.exe
Kaiser's OS.nb.payload
XIP.bin from the build you want to port
NBMerge.exe (Needed to build OS.nb)
To keep it easy, I zipped all of these tools up (you'll need to get the XIP.bin
you want to port and the shipped ROM's OS.nb.payload, I'll tell you how
later). Just download the attachment at the bottom of this post. Just
download it and unzip it to a folder on your desktop.
Getting the Necessary Files
=====================
Now, we'll need to extract the OS.nb.payload and the XIP.bin from the Kaiser
Base ROM that you are using. For instance, I am using the newest HTC
Shipped Kaiser ROM (3.34), so I put NEWKAISERROM.nbh into the Extract
folder. If you are using the Kaiser 3.29 ROM as your base, you would put
that .nbh file in the Extract folder. Once you have the .nbh in the
Extract the Payload folder, double-click on RunMe.bat. Viola, the
OS.nb.payload and XIP.bin are now in your main folder, along with a new
ROM folder that I'll explain later. Don't delete anything yet
Now, enter back into your main folder and double-click on XIPPort.exe. Then
click on (in order): dump xip.bin, write maps, make pkgs. You should
now have an OUT folder in your main folder. Double-click it and you should
see some .txt files and Files and Modules folders. Enter the Files folder and
delete the MSXIPKernel and MSXIPKernelLTK folders. Delete the same folders
in the Modules directory.
Then, go back into your main folder, rename the OUT folder to OUT_original,
and the xip.bin file to xip_original.bin. Then, place the XIP.bin file from the
build you want to port in this main folder. Once it's there, double-click on
XIPPort.exe and click (in order): dump xip.bin, make pkgs. Now you
should have: an OUT folder, an OUT_original folder, a ROM folder, xip.bin, and
xip_original.bin. Go into your OUT folder, then your Modules folder, then your
MSXIPKernel folder and delete the following directories/files:
hd.dll (folder), hd.dll.txt (file), osaxst0.dll (folder), osaxst0.dll.txt (file).
Also, if you can find bmui.nb0 in one of your
MSXIPKernel folders in your OUT directory, delete it along with
bmui.nb0.imageinfo.txt. Don't worry if you can't find
it, though, because sometimes I can't myself .
Now, copy the folders MSXIPKernel and MSXIPKernelLTK from Files and
Modules folder in your OUT folder and paste them in their corresponding
folders in the OUT_original directory. Now, go back to your main folder,
rename OUT to OUT_port, and OUT_original to OUT. Now, double-click
XIPPort.exe and click (in order): undo, realloc p.
*Ignore any errors it might give you about unknown regions!.
Then click write maps.
Fixing the Addresses
================
Now, here's the tricky part. Open your MAP.txt file in the OUT folder. Look for !!!!!!!!!. If you don't find them (very rare), just skip to the end, called "Putting it All Together". If you do, we'll have to take care of that. Here's an example of the bottom part of MAP.txt:
[e32_vbase] addresses
02000000 - 03e16000 L01e16000 NUL
03e16000 - 03e1f000 L00009000 Virtual base address of wce_rex.DLL
03e1f000 - 03e24000 L00005000 Virtual base address of MMMAP.dll
03e24000 - 03e2b000 L00007000 Virtual base address of htcfsfilter.DLL
03e2b000 - 03e4c000 L00021000 Virtual base address of FLASHDRV.DLL
03e4c000 - 03e52000 L00006000 Virtual base address of ceddk.dll
03e52000 - 03e56000 L00004000 Virtual base address of cecompr.dll
03e55000 - 03e56000 L00001000 !!!!!!!!!!!!!!!!!!
03e55000 - 03e59000 L00004000 Virtual base address of regenum.dll
03e59000 - 03e68000 L0000f000 Virtual base address of pm.dll
03e68000 - 03e70000 L00008000 Virtual base address of mspart.dll
03e70000 - 03e80000 L00010000 Virtual base address of mencfilt.dll
03e80000 - 03e8c000 L0000c000 Virtual base address of imgfs.dll
03e8c000 - 03e96000 L0000a000 Virtual base address of fsreplxfilt.dll
03e96000 - 03eac000 L00016000 Virtual base address of fsdmgr.dll
03eac000 - 03eb5000 L00009000 Virtual base address of fatutil.dll
03eb5000 - 03ec8000 L00013000 Virtual base address of fatfsd.dll
03ec8000 - 03ece000 L00006000 Virtual base address of diskcache.dll
03ece000 - 03eda000 L0000c000 Virtual base address of devmgr.dll
03eda000 - 03f4c000 L00072000 Virtual base address of crypt32.dll
03f4c000 - 03fe2000 L00096000 Virtual base address of coredll.dll
03fe2000 - 03ff0000 L0000e000 Virtual base address of certmod.dll
03ff0000 - 03ffa000 L0000a000 Virtual base address of cachefilt.dll
03ffa000 - 04000000 L00006000 Virtual base address of busenum.dll
04000000 - 80000000 L7c000000 NUL
]]
<< The trick to reading the o32 and e32 table is this:
* the first column is the modules starting address (o32_realaddr or e32_vbase).
* the second column is it's ending address (which should be the same as the realaddr/vbase for the next module).
* the third column (The one that starts with 'L') is the file's "vsize".
>>
These are the overlaps which need to be taken care of by reallocating the modules in Initialized Data and Virtual Base addresses
You need to work our way up from the bottom of the list since the busenum.dll is reallocated at the last address of the memory.
For example:
03e4c000 - 03e52000 L00006000 Virtual base address of ceddk.dll
03e52000 - 03e56000 L00004000 Virtual base address of cecompr.dll
03e55000 - 03e56000 L00001000 !!!!!!!!!!!!!!!!!!
03e55000 - 03e59000 L00004000 Virtual base address of regenum.dll
Meaning, e32_vbase address of cecompr.dll is overlapping the reserved space of regenum.dll by 1000 (L00001000).
I recommend you use M’Reloc.exe for reallocating the addresses in imageinfo.bin and Notepad to reallocate the addresses in the corresponding imageinfo.txt files.
Since the binaries (S000, S001...) must actually be relocated using M'Reloc, it is not enough to just adjust the values in the imageinfo.txt files.
To calculate the new addresses of the overlapping modules, open the hex calculator.
* You can use windows calculator for this. Open the calculator, click "view" and select "scientific". Now, press "F6" or click "HEX" to put the calculator into hexidecimal mode.
Now to correct the e32_vbase of cecompr.dll, follow this calculation as a base (e32_vbase regenum.dll - e32_vsize cecompr.dll = correct e32_vbase cecompr.dll)
Meaning, (03e55000 – 4000 = 03e51000) hence the correct e32_vbase address for cecompr.dll is 03e51000
Now since the cecompr.dll is reallocated using the above calculation, the modules next in line above that will also have to be reallocated. Namely, ceddk.dll (although not overlapping cecompr.dll yet since we have not "realloc P").
To calculate the e32_vbase of ceddk.dll you will need the new e32_vbase address of cecompr.dll which you got just now (03e51000).
I recommend writing down the e32_vbase, e32_vsize, o32_realaddr and o32_vsize of each module so it will be easier to calculate the correct addresses for reallocation).
Remember, you need to work our way up from the bottom of the list since the busenum.dll is reallocated at the last address of the memory.
To reallocate the addresses for o32_realaddr, follow the above calculation. Only this time, replace the e32_vbase with o32_realaddr and e32_vsize with o32_vsize.
Now open the corresponding imageinfo.txt file for each module and change the e32_vbase and o32_realaddr address values in the txt file of the values mentioned with V= and D=, seen for e.g. like this:
Module name: cecompr.dll
e32_vbase: V=03E52000
...
o32[1].o32_realaddr: D=01FEE000
You will notice that the 'FLASHDRV.DLL' module has the realaddr at 2 regions. Although I have not found a way to calculate the difference between both regions but I change the values as per Abusalza’s MAP.txt
o32[1].o32_realaddr: D=01FCC000
o32[3].o32_realaddr: D=01FD4000
Since the OEMXipKernel modules never change, I only correct values of the ported MSXipKernel modules
This is helpful if the MSXipKernel modules ported from donor ROMs are similar in the sizes. If not then you will need to do the calculation and correction of values
Once completed the address reallocation, open XIPPort.exe and click “realloc P” to re calculate the addresses for writing maps. It will show you errors regarding some regions, ignore those and click “write maps”.
Open the new MAP.txt and recheck for (!!!!!!!!!!!!!!!!!!). If there are no errors that means the XIP has been sucessfully ported.
Putting it All Back Together
=====================
Now open XIPPort.exe and click “build xip_out.bin” to create the resulting XIP to be inserted into the ROM .payload file (xip_out.bin).
Now, double-click RunMe.bat in the MAIN folder. Congratulations chef, your ROM folder is ready! Now just move the ROM folder and replace the one in your kitchen with it!
You rock man!! Thanks for the contribution.
Thanks, mbarvian! I had been going through other forums putting pieces together for the kaiser as well. Seems that you figured it out a little more quickly than I.
Oh that one day I will get time to do what Sambartle did in the Hermes forums and combine this allong with instructions for Kaiserchef into one handy guide for how to cook.
Thanks for giving back to the newbie cooks mate. Much appreciated.
your are the best m8 great tutorial
for G reloc the VM numbers is already for the kaiser?
thanks!!
b16b said:
your are the best m8 great tutorial
for G reloc the VM numbers is already for the kaiser?
thanks!!
Click to expand...
Click to collapse
yes, but I always just click "Doit" just to make sure
Great tutorial, many new chefs will be very happy to see this!
really nice thing m8 but it was working on hermes exatly this way i ported always full sys port but on kaiser wont boot the full SYS port if i get the new SYS from HERMES no BOOTing
Waiting for the XIP guide
anryl said:
really nice thing m8 but it was working on hermes exatly this way i ported always full sys port but on kaiser wont boot the full SYS port if i get the new SYS from HERMES no BOOTing
Waiting for the XIP guide
Click to expand...
Click to collapse
i think you need vm numbers for HERMES is deferent from kaiser
Do you know how to get your initials in the sys build number, like the pro chef's do??
mbarvian, i have tested your method but, when I input the cmd pgktool dump from dos shell i had win error. Someone have tried this method!?
indagroove said:
Do you know how to get your initials in the sys build number, like the pro chef's do??
Click to expand...
Click to collapse
if you do this correctly, the build numbers will change
@furb3t: what errors did you get?
I have understood my error. I haven't put pkgcommon.dll into the same dir of pkgtool.exe . Now cmd goes, but into dir \dump I haven't a dir \Sys but only all files (.Vm and .Rom after cmd there aren't)
Gee, not many people wanted to share their secret recipes nowadays. My utmost salute for you mb... i always appreciate that kind of spirit highly.
Now,what i need is time to cook, oh well...
furb3t said:
I have understood my error. I haven't put pkgcommon.dll into the same dir of pkgtool.exe . Now cmd goes, but into dir \dump I haven't a dir \Sys but only all files (.Vm and .Rom after cmd there aren't)
Click to expand...
Click to collapse
thank you for bringing that to my attention. I just updated the instructions with the newer, easier PackageTool
indagroove said:
Do you know how to get your initials in the sys build number, like the pro chef's do??
Click to expand...
Click to collapse
You'll need to manually edit the d0b41563-b345-4444-aa15-986e7c7fff99.dsm file in SYS\OS.
That is, if I am reading your post correctly. You want the about screen to show something similar to the following, correct?
Code:
CE OS 5.2.20755 (Build 20755.1.4.0 Groove Edition)
as opposed to the standard
Code:
CE OS 5.2.20755 (Build 20755.1.4.0)
Are you sure about that?
How do you manual edit a .dsm?
KMFM$ said:
You'll need to manually edit the d0b41563-b345-4444-aa15-986e7c7fff99.dsm file in SYS\OS.
That is, if I am reading your post correctly. You want the about screen to show something similar to the following, correct?
Code:
CE OS 5.2.20755 (Build 20755.1.4.0 Groove Edition)
as opposed to the standard
Code:
CE OS 5.2.20755 (Build 20755.1.4.0)
Click to expand...
Click to collapse
Sorry about that, Laurentius26. I meant "hex edit" opposed to "manually edit". I can see where that would cause confusion.
There is another discussion that deals more with this:
http://forum.xda-developers.com/showthread.php?t=409845&page=3
(As you probably already know, Laurentius26. )
Haha... that's exactly what I needed and didn't know yet.
Thank you!
Grtz,
Leo
Edit: and this is not to fake CE OS version because I ported whole Opal OEM.
KMFM$ said:
Sorry about that, Laurentius26. I meant "hex edit" opposed to "manually edit". I can see where that would cause confusion.
There is another discussion that deals more with this:
http://forum.xda-developers.com/showthread.php?t=409845&page=3
(As you probably already know, Laurentius26. )
Click to expand...
Click to collapse