![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
i8910 HD Blog i8910 Omnia HD Firmware i8910 HD Themes i8910 HD Wallpapers PSP Hacks PSP Forums |
![]() |
![]() |
|
||||
|
Lately we have had a lot of great work done with custom roms and now a lot of people are making their own requests for roms. It seems like the requests are adding up, and the custom rom makers are not able to keep up.
I think we should dedicate this thread for tutorials and tips for custom roms so more people can start attempting to cook their own. How to unpack and repack the firmware Thanks to Codeneos, we now have a great utility that makes it much easier to unpack and repack the firmware. Follow this thread for the tutorial [Utility] Rom cooker... How to add, remove, and change languages in a firmware Thanks goes to Quist for writing this tutorial! <This is a work in progress, so let me know what you think.> As soon as djsaad1 posted the info on the first way of unpacking the rofs images, I've been working on the methods of changing languages in the ROMs. Since so many people are requesting localized versions of cooked and official ROMs, djsaad1 and I thought it might be helpful to offer a tutorial on how to go about doing so. I'm going to outline what I know to-date in two parts: Part 1 will discuss changing the input languages for qwerty and T9 and Part 2 will discuss changing the actual menu languages. Before I start, I just want to note the fact that both cooked and official ROMs should be expected to be more stable, the fewer changes you make to it. This is particularly true of changes to menu languages. Sometimes important settings for bug fixes are located in localized resource files and if you replace those files with older versions, those fixes won't work. That said, things will probably be more stable if you have the menu language set to English and only change the input language(s). Background ----------- First, you need to understand how the language structure is implemented. Symbian has language sets that group 3-6 different languages into a set and each language set gets a code. neverthemore has compiled a list of these language sets in a thread here: Firmware localization and Language sets Each individual language is also coded. Worldwide English is coded 01 and is the default language for the I8910 even without any localization applied, and is also included in all localization except for the language sets from the Far East (which use their own versions compatible with the character sets, e.g. Thai English is coded 161, Hong Kong English is 158, etc.). Other common languages are: French 02 German 03 Spanish 04 Italian 05 Swedish 06 Danish 07 Norweigan 08 Finnish 09 Portuguese 13 Russian 16 Polish 27 A comprehensive list of the different languages can be found in a file called LanguageInfo.txt in Z:\PreConfiguration on many ROMs. The codes above describe a number of resource files, e.g. *.r01, *.r02, *.r03, and help files, e.g. *.h01. They also describe specific system resource files such as *.o0001, *.o0002, etc. Some messages are also displayed as html and language files are grouped in directories named 01, 02, 03, etc. All this is important since you need to be able to find the right language files and their locations. This tutorial should work for almost all ROMs, but there may be issues with Chinese and Japanese ROMs. Before you start ---------------- You need to have a downloadable version of a ROM with the language you want to use to farm the files you need. Pavel-i8910 has compiled a list with links to many languages here: Omnia HD GT-I8910 firmwares Remember, if you don't see your country/language listed in Pavel's list, check which language set your language is in and find a ROM with that language set (e.g. Danish is in the "Sweden" ROM, which is actually for all Nordic languages). Then of course, you need a downloadable version of the ROM you want to modify. In other words, if a ROM is only available on PC Studio, but not downloadable, you can't modify it (at least not with this tutorial). You will also need Codeneos ROM cooker utility, available here: [Utility] Rom cooker... Follow the instructions for the ROM cooker utility provided in the thread above. The rest of this tutorial will address the changes needed in the actual ROM files, NOT the concrete steps of unpacking, repacking and flashing. You will also need a hex editor. I use xvi32 from Christian Maas, which is available here: http://www.handshake.de/user/chmaas/...load/xvi32.zip Once everything is done, you'll need to be sure to read and understand Brigg's flashing tutorial and the flash tool (version 1.50). More info is available here: How to flash and debrand your Samsung i8910 HD - Samsung i8910 Omnia HD Debrand Tutorial. | Samsung i8910 HD Users - 100% i8910 Omnia HD Part 1 - Input languages ------------------------ 1. First, you need to unpack both the ROM to be modified (working ROM) and the ROM with the language files (language ROM) using the cooker utility. 2. Copy the resource files located in rofs2 in \resource\fep from the language ROM to the corresponding location in the working ROM. If there's already a version of a resource file there, don't replace it (this will be the case for the *.r01 English resource files). 3. Copy the *.RSC files from rofs2 \resource\multitap from the language ROM to the corresponding location in the working ROM (again, don't replace something already there). 4. Copy the *.RSC files from rofs2 \resource\qwerty from the language ROM to the corresponding location in the working ROM (again, don't replace something already there). 5. Copy the peninputhwrwindowconfiginfo_r*.RSC files from rofs2 \resource\plugins from the language ROM to the corresponding location in the working ROM (again, don't replace something already there). Here, the language codes are right before the .RSC. 6. Copy the peninputvkbwindowconfiginfo_r*.RSC files from rofs2 \resource\plugins from the language ROM to the corresponding location in the working ROM (again, don't replace something already there). 7. Copy the T9*.dll files from rofs2 \sys\bin from the language ROM to the corresponding location in the working ROM (again, don't replace something already there). 8. Copy the Elocl.* files from rofs2 \sys\bin from the language ROM to the corresponding location in the working ROM (again, don't replace something already there). Step 9 ------- A. Now, the next step is kind of tricky and you'll need to start two instances of the hex editor (xvi32). Open the file ecom-2-0.spi located in rofs2 in private\10009d8f - open the file from the language ROM and the file from the working ROM. B. If you look at your language ROM .spi file, find the first semicolon before the T9 language listing, then go back 4 characters and set a block copy mark on the non-zero character just before the semicolon. The end of the block will be the zero space just before the hex 36 (ascii 6) before the avkonfepkJ. Copy that (Edit-Clipboard-Copy). C. Mark the corresponding block in the working ROM .spi file and delete that block with Edit-Block delete (make sure you keep your position). D. Then paste the block you copied into the right place of the working ROM. Now you're done changing the input languages. At this point, you could repack and flash the ROM unless you want to change the menu languages as well. For that read Part 2. Part 2 - Menu languages ------------------------ To change menu languages, you need to apply the changes from Part 1 above and then you are essentially going to transplant the resource files from the language ROM to the working ROM. You basically need to search for and copy the following files from the language ROM to the working ROM, making sure to paste them into the proper location. Whereever I write XX, use your language code as outlined above. Transplant these files: *.rXX *.hXX *.o00XX Then do a search for any directories named as the target language XX (e.g. if you're transplanting French, search for directories named 02 and copy-paste them into the corresponding location in the working ROM). Lastly, you need to edit the file in rofs2 \resource\Bootdata\languages.txt to add your language to the list. The language marked with a d there is the default language. Now, you've essentially added your language to the menu system and could repack and flash the ROM, but a number of bug fixes (like the change from AMR to AAC) will not work, unless they were already fixed in the version of your language ROM. To make sure AAC sound works for video recording, you need to copy the file Resource\Gscamcorderpluginrsc.r01 from the original working ROM, rename it to your language Gscamcorderpluginrsc.rXX, and replace the version copied from the language ROM above with this renamed English version. Other menu functions changed from IG2 onwards, so if your language ROM was IF or older, you will have some instability in the menu system (especially with the settings menus). Hyperx and sev7en have solved this (I believe), so I'm hoping they'll shed some light on this and I'll update this first post to reflect it. Now, you can try repacking and flashing your phone. REMEMBER: All of this is done at your own risk, but in general, as long as you can get back to the bootloader, you can always reflash your phone. That said, make sure you don't flash your bootloader with a dummy image. Also, 9 times out of 10, if the phone doesn't boot properly, it's due to the hex-editing of the .spi file. Go back over it with a fine tooth comb before pulling your hair out. Change size of system memory cache Thanks goes to Sev7en for finding this first! The file is in the rofs1.img under private\10202BE9\101F8557.txt. When you open the txt file look at the 0x2 line and you will see 0x2 int 1024000 0 cap_rd=alwayspass cap_wr=alwaysfail The 1024000 is your system memory cache. You can mess with this number to see what works best for you. Just change the number and save the text. Change the camera compression quality Thanks goes to Sev7en for finding this first! The file is in the rofs1.img under private\10202BE9\10282EDC.txt. When you open the file you will see the default compression quality for the different image settings. You can change the quality to what you think is best. Sev7en's tests resulted that these settings were best for him. * CompressionQuality=85 ---> CompressionQuality=95 * CompressionQuality=75 ---> CompressionQuality=85 * CompressionQuality=50 ---> CompressionQuality=70 Move web cache from C: to E: The file is in the rofs1.img under private\10202BE9\101F8557.txt. When you open the file you will see that lines 0x3, 0x4, and 0x8 are pointing to c:\ change the c: to e: and your cache will be saved on e:. You can also change this to d:\ the pro is that the cache will reset every time you restart your phone but the con is that it will take up system memory that could slow down your phone. Change the folders or drives of where the phone looks for songs, images, and videos Thanks goes to Sev7en for finding this first! The file is in the rofs1.img under private\10202BE9\101FFCD2.txt The 0x1 and 0x2 string is where the phone is set to look for videos and images The 0x4 string is where the phone is set to look for music and ringtones. Change the folders or drives to you your likings. Increase memory heap size Thanks goes to Sev7en for finding this first! The file is in the rofs1.img under private\10202D56\sbeconfig.xml When you open the file you will see that the heap size is 131072. You can change that number, Sev7en is using 524288 4x the default and it seems to be working well. Change applications in 3d navigation Thanks goes to Mr. X for finding this first! The file is in the rofs1.img under private\10202BE9\20020607.txt Open the file and you will see string 0x100 int 0x2001E112 0 cap_rd=alwayspass cap_wr=alwayspass 0x2001E112 is the uid for photocontacts. That is the default setting for swiping your finger to the right. You can change that UID to any program you like. String 0x101 int 0x101f4cd2 0 cap_rd=alwayspass cap_wr=alwayspass shows the uid for the menu (0x101f4cd2) change that UID to any program you like for swiping your finger to the left. Here is an app that lets you find the UID for any program on your phone http://www.sigmirror.com/files/27998...appuidlist.wgz Last edited by djsaad1; 09-17-2009 at 02:37 AM. |
| The Following 30 Users Say Thank You to djsaad1 For This Useful Post: | ||
AD29368 (09-17-2009), alsvik (10-12-2009), Andersson (09-21-2009), arcane613 (09-16-2009), ArdalanPersian (10-11-2009), Briggs (11-13-2009), Codeneos (02-17-2010), eboy (09-20-2009), efbill (09-16-2009), Enigma (12-13-2009), falleninadream (09-17-2009), FARID (09-16-2009), fatcoin (10-07-2009), faysto (11-04-2009), fierofrio (09-17-2009), fish55 (09-25-2009), gnusmas8910HD (09-16-2009), hisham (09-19-2009), M AzeeM K (09-17-2009), nick2010 (11-13-2009), Quist (09-18-2009), ruubs (11-11-2009), sam8808 (09-17-2009), sammiss (11-02-2009), snusik (10-20-2009), solnyshok (09-17-2009), trashin (09-17-2009), Ultraman666 (09-21-2009), vit12345 (12-07-2009), [eB] (09-17-2009) | ||
|
||||
|
Yes, here is the way to move cache to e: without needing to customize a firmware.
Move web cache to E: |
| The Following User Says Thank You to djsaad1 For This Useful Post: | ||
solnyshok (09-19-2009) | ||
|
|||
|
thx. learned that all those files I can obtain from the z:\private on the hacked device itself.
Does anybody know what sbeconfig.xml really stands for? From searching google, it seems to me that "sbe" stands for secure backup engine, which also explains why there are such parameters like max_retries = "5" and <app_close_delay delay = "4000000"/> - those regulate how quickly apps close for backup. If this is true, it has nothing to do with system memory heap.
|
|
|||
|
Hello
I noticed that those files you say to edit in rofs1 also excist in rofs2 and must be changed to same values, otherwise it will not apply. Or is it just me who had that issue?
__________________
i8910HD Powered by Symbian |
|
|||
|
z:\private\101f7988\c32start.ini
contains parameter MBufPoolSize=262144,262144 c32 is host process for communication (radio) stack. 1st number is initial buffer, 2nd number is max buffer. will try to bump it to 1MB and see if any datatransfers become faster/smoother. //meh, no effect. Last edited by solnyshok; 09-21-2009 at 03:50 PM. |
|
|||
|
Quote:
For mediabrowser is good setting in rofs3\private\20018901\mediabrowser.ini There u can set, which files will be searched and where. I cut from the filter list, *.png and *.gif extension Best solution it was, skip all small pictures like 300kb ;camera path, start from camera_path_0 to camera_path_9 camera_path_0=c:\data\images\camera camera_path_1=e:\images\camera camera_path_2=f:\images\camera camera_path_3=c:\data\videos\camera camera_path_4=e:\videos\camera camera_path_5=f:\videos\camera ;photo filter photo filter=*.jpg;*.jpeg;*.bmp;*.wbmp; ;video filter video filter=*.mp4;*.avi;*.wmv;*.3gp;*.asf;*.3g2;*.rm;*. mkv; |
|
||||
|
Quote:
__________________
|
![]() |
| Thread Tools | |
| Display Modes | |
|
|
PSP Custom Firmware | PSP Downloads | PSP Forums | PSP Emulator | PSP Hacks | PSP Go Hacks | Samsung i8910 HD | Samsung Omnia HD Forums
![]() |
![]() |