Tayton
29th April 2008, 10:51 PM
I originally added my two cents worth to Duttys True page pool thread but I thought I would make one last stand alone post on how to find Pagepool in various HTC roms.
NOTE: Dutty and perhaps Tom Kodon deserve all the credit for finding out how to adjust the page pool. It was mentioned by All The Way in that post that it did not work for ATT, hence this updated article.
Why the new page pool has been more difficult.
Dutty found a hex string that identified where to change the page pool memory. It turns out though that the ATT 3.51 uses a different hex string and a different value to switch between manual and dynamic page pool. Though we could just post the new strings , in fact we have done so, it would be better to make a program that can work more universally in case other variations appear from HTC.
I know this pattern works for the kaiser roms and for the Polaris. I havent tested others.
The attached example shows the differences between the HTC (other roms) ATT 3.51 rom.
84026
HTC ROMS
84027
Lets use use the examples in the attached thumbnails to change a roms pagepool.
1) Open up any kaiser/polaris rom with hex editor.
2) Search for 80 E1 02 38 83 E1 01 3C 83 E1 80 00 (Inside green box in attachment** Edit I included 3 more bytes in the front for more accuracy)
3) 3 bytes past the end of this string is the 2 values you need to change.
In the attachment they are in red. Notice the second byte in the red box varies depending on which rom.
For ATT 3.51
E5 = dynamic Page Pool
E6 = Fixed Page Pool
For Other roms so far
15 = Dynamic Page Pool
16 = Fixed Page Pool
The first byte is the actual page pool size. For dynamic the default value is set to 3 meg but I believe that is just a minimum setting and when once the OS loads the the actual page pool floats around 10 to 12 meg as a guess. The OS probably calculates what to use based on its own parameters.
Tests have determined that setting the page pool to a fixed size out performs the default dynamic sizes. Most of you already know this.
4) Change the two bytes as required. For example a 18 meg page pool you would make the following changes depending on the rom.
For ATT 3.51
12 E6 = Fixed 18 meg Page Pool
For Other roms so far
12 16 = Fixed 18 meg Page Pool
5) You have to change the values in two different spots in the rom. The tricky part is the search string only reliably appears in the first part. Note in my example that the string in green box does not appear in the second match (I underlined where it would be in purple.) So what we do is once we find the first two bytes we use duttys method by searching for the next 11 bytes after the first match. I illustrated this in blue.
To find the next set of bytes to change you would search for the following strings depending on your rom.
For ATT 3.51
A0 03 00 E0 84 05 03 00 00
For Other roms other than 3.51
A0 E3 00 10 8E E5 03 00 00
Again in the attachment they are in blue box highlighted.
6) Change the two preceding bytes identical to how it was done in step 4. In the attached figures once again the spot is in red.
7) Save it.
Please feel free to comment if this explanation did not makes sense. Though English is my first and only language, I do tend to babble.
Though this is not difficult. I much prefer a page pool changer. Speaking of which...
Kyphur's PagePool Patcher is an excellent tool that works like a charm now. He fixes the program faster than I can post the faq.
http://forum.xda-developers.com/Kyphur's%20PagePool%20Patcher
**Edit Kyphur's Latest release worked on Dutty's lite rom which is not a 3.51 rom. Way to go Kyphur! I officially and gladly retire from this project. Your changer will make a great addition to the kitchen and make it easy for others to adjust any pre-cooked roms without having to cook themselves.
Now that Kyphur's pagepool is out, this article is mostly of use for future rom changes and for people who are just plain curious.
NOTE: Dutty and perhaps Tom Kodon deserve all the credit for finding out how to adjust the page pool. It was mentioned by All The Way in that post that it did not work for ATT, hence this updated article.
Why the new page pool has been more difficult.
Dutty found a hex string that identified where to change the page pool memory. It turns out though that the ATT 3.51 uses a different hex string and a different value to switch between manual and dynamic page pool. Though we could just post the new strings , in fact we have done so, it would be better to make a program that can work more universally in case other variations appear from HTC.
I know this pattern works for the kaiser roms and for the Polaris. I havent tested others.
The attached example shows the differences between the HTC (other roms) ATT 3.51 rom.
84026
HTC ROMS
84027
Lets use use the examples in the attached thumbnails to change a roms pagepool.
1) Open up any kaiser/polaris rom with hex editor.
2) Search for 80 E1 02 38 83 E1 01 3C 83 E1 80 00 (Inside green box in attachment** Edit I included 3 more bytes in the front for more accuracy)
3) 3 bytes past the end of this string is the 2 values you need to change.
In the attachment they are in red. Notice the second byte in the red box varies depending on which rom.
For ATT 3.51
E5 = dynamic Page Pool
E6 = Fixed Page Pool
For Other roms so far
15 = Dynamic Page Pool
16 = Fixed Page Pool
The first byte is the actual page pool size. For dynamic the default value is set to 3 meg but I believe that is just a minimum setting and when once the OS loads the the actual page pool floats around 10 to 12 meg as a guess. The OS probably calculates what to use based on its own parameters.
Tests have determined that setting the page pool to a fixed size out performs the default dynamic sizes. Most of you already know this.
4) Change the two bytes as required. For example a 18 meg page pool you would make the following changes depending on the rom.
For ATT 3.51
12 E6 = Fixed 18 meg Page Pool
For Other roms so far
12 16 = Fixed 18 meg Page Pool
5) You have to change the values in two different spots in the rom. The tricky part is the search string only reliably appears in the first part. Note in my example that the string in green box does not appear in the second match (I underlined where it would be in purple.) So what we do is once we find the first two bytes we use duttys method by searching for the next 11 bytes after the first match. I illustrated this in blue.
To find the next set of bytes to change you would search for the following strings depending on your rom.
For ATT 3.51
A0 03 00 E0 84 05 03 00 00
For Other roms other than 3.51
A0 E3 00 10 8E E5 03 00 00
Again in the attachment they are in blue box highlighted.
6) Change the two preceding bytes identical to how it was done in step 4. In the attached figures once again the spot is in red.
7) Save it.
Please feel free to comment if this explanation did not makes sense. Though English is my first and only language, I do tend to babble.
Though this is not difficult. I much prefer a page pool changer. Speaking of which...
Kyphur's PagePool Patcher is an excellent tool that works like a charm now. He fixes the program faster than I can post the faq.
http://forum.xda-developers.com/Kyphur's%20PagePool%20Patcher
**Edit Kyphur's Latest release worked on Dutty's lite rom which is not a 3.51 rom. Way to go Kyphur! I officially and gladly retire from this project. Your changer will make a great addition to the kitchen and make it easy for others to adjust any pre-cooked roms without having to cook themselves.
Now that Kyphur's pagepool is out, this article is mostly of use for future rom changes and for people who are just plain curious.