Tayton
23rd May 2008, 07:57 AM
Recently I noticed a few new roms that do not pass the pattern match to find the places in the rom to alter the page pool size.
Kyphur's great PagePool Changer program is based on these patterns, at least partially and because of that may not be able to properly adjust some of these roms!
The premise has been to find 2 instances of the values in the rom and adjust both pairs to make the change.
I just did some testing using the HTC_WWE_3.28.405.0_radio_sign_25.83.40. 02_1.65.16.25_Ship rom. and verified that you only have to change the second sets of number in order to change the page pool size.
Kyphur's PagePool Changer program changes both sets of values when it finds a match to both and though changing the first set doesn't make a difference it does seem to hurt anything either. The second set he changes does the actual page pool adjustment.
The recent problem is with some of the newer hybrids especially the Diamond Roms.
Some of these newer roms do not match the pattern to find the second string. What some cooks have done in lieu of this is only adjust the values in the first match and assume it worked. From what I have tested it does not!
If you want to test the idea out on a rom you need to perform this test with a hex editor. I use XVI32 its freeware and seems to work well.
1) With a hex editor open your rom file. It can be a .nbh or a .nb rom file as it works with both.
2) Search for the pattern
A0 03 00 10 8E 05 03 00 00 0A 40 00 53 E3 06 16 A0 03 00 (for HTC roms)
or
A0 03 00 E0 84 05 03 00 00 0A 40 00 53 E3 06 E6 A0 03 00 for att 3.51 roms.
3) If it finds a match search again to jump to the next set.
If it doesnt find a second match then your are likely trying this on a hybrid rom and page pool changing wont work.
4) On the second set move back (left two bytes and you should see the values you expect (03 05 or 03 E5 for ROM with dynamic pool depending on the rom you use).
These are the value the page pool changer makes. You change the second byte (either 05 or E5) to (06 or E6) respectively. The first byte you change it to the actual value you want in hex. Example changing the two byes from 03 E5 to 12 E6 sets it to static page pool with a fixed size of 18 megs (16 in hex).
Saving the file now and its done!
However I dont see how to change these hybrid roms yet. Perhaps the trick is to examine the original roms (I havent found a diamond rom file yet) using the other pattern I documented in my original article.
http://forum.xda-developers.com/showthread.php?t=389071
Anyhow if anyone else can test the values on the new hybrids show how they are changing the pagepool and test the results. I will be happy to correct the document.
Thanks all,
Tayton
Kyphur's great PagePool Changer program is based on these patterns, at least partially and because of that may not be able to properly adjust some of these roms!
The premise has been to find 2 instances of the values in the rom and adjust both pairs to make the change.
I just did some testing using the HTC_WWE_3.28.405.0_radio_sign_25.83.40. 02_1.65.16.25_Ship rom. and verified that you only have to change the second sets of number in order to change the page pool size.
Kyphur's PagePool Changer program changes both sets of values when it finds a match to both and though changing the first set doesn't make a difference it does seem to hurt anything either. The second set he changes does the actual page pool adjustment.
The recent problem is with some of the newer hybrids especially the Diamond Roms.
Some of these newer roms do not match the pattern to find the second string. What some cooks have done in lieu of this is only adjust the values in the first match and assume it worked. From what I have tested it does not!
If you want to test the idea out on a rom you need to perform this test with a hex editor. I use XVI32 its freeware and seems to work well.
1) With a hex editor open your rom file. It can be a .nbh or a .nb rom file as it works with both.
2) Search for the pattern
A0 03 00 10 8E 05 03 00 00 0A 40 00 53 E3 06 16 A0 03 00 (for HTC roms)
or
A0 03 00 E0 84 05 03 00 00 0A 40 00 53 E3 06 E6 A0 03 00 for att 3.51 roms.
3) If it finds a match search again to jump to the next set.
If it doesnt find a second match then your are likely trying this on a hybrid rom and page pool changing wont work.
4) On the second set move back (left two bytes and you should see the values you expect (03 05 or 03 E5 for ROM with dynamic pool depending on the rom you use).
These are the value the page pool changer makes. You change the second byte (either 05 or E5) to (06 or E6) respectively. The first byte you change it to the actual value you want in hex. Example changing the two byes from 03 E5 to 12 E6 sets it to static page pool with a fixed size of 18 megs (16 in hex).
Saving the file now and its done!
However I dont see how to change these hybrid roms yet. Perhaps the trick is to examine the original roms (I havent found a diamond rom file yet) using the other pattern I documented in my original article.
http://forum.xda-developers.com/showthread.php?t=389071
Anyhow if anyone else can test the values on the new hybrids show how they are changing the pagepool and test the results. I will be happy to correct the document.
Thanks all,
Tayton