Chefs who are cooking roms based off the Sprint
Diamond WM 6.1 stock rom (1.09) that are interested in changing the default
pagepool settings, read below. To perform this change, you should have a basic understanding of hex code and should be comfortable using a hex editor.
Disclaimer -
1. Altering incorrect hex values or using invalid hex values may produce a rom that will not boot. Chefs nor I shall not be responsible for any damages to your device if you do not follow the instructions given below.
2. Only verified to work with the actual Sprint
Diamond WM 6.1 stock rom (1.09) or a custom rom based off of it. See screen attachments.
3. If this information, in regards to the Sprint
Diamond pagepool offset, has been repeated elsewhere at PPCGeeks, please remove this thread.
Credit goes to Swiftblade over at XDA for the examples below of the various
pagepool settings along with the brief explanation of static versus dynamic pagepools. Questions about
pagepool in general, instead of posting here, please search over at XDA. Everything you wanted to know about
pagepool has already been discussed there more than likely.
Here we go:
The unique hex string pattern responsible for the
pagepool in the Sprint
Diamond WM 6.1 stock rom (1.09) was found to be:
Code:
03 15 A0 03 06 16 A0 13 00 10 83 E5 E9 BB FF EB
This default offset produces a dynamic
pagepool of 12MB.
[HOW TO CHANGE PAGEPOOL]
1. Open the OS.nb or Ruu_Signed.nbh file from the Sprint
Diamond WM 6.1 stock rom (1.09) with a Hex Editor
2. Search for the hex string pattern mentioned above (Two occurrences should be found)
3. At the first address found, change the first two bytes "03 15" to "12 16" for a 18MB static
pagepool or change the first two bytes to your desired
pagepool. See further below for additional examples.
4. Repeat Step 3 at the 2nd address found
5. Save & Exit the Hex Editor
6. If you are using the OS.nb, start cooking your new rom with it
7. Flash the new Ruu_Signed.nbh and enjoy your new
pagepool
[PAGEPOOL EXAMPLES]
Below are examples of some possible values for the first two bytes of the
pagepool offset.
03 15 - Sprint
Diamond WM 6.1 stock rom (1.09) default; 12MB dynamic (When viewed under Settings -> System -> Memory, you should have around 203.84MB of Total Program memory available.)
02 15 - 8MB dynamic
01 15 - 4MB dynamic
18 16 - 24MB static (should give you around 191.84MB Total Program memory)
10 16 - 16MB static (should give you around 199.84MB Total Program memory)
[PAGEPOOL EXPLANATIONS AND CALCULATIONS]
"XX 15" pagepools are dynamic based (first byte value multiplied by 4 to determine
pagepool size)
"XX 16" pagepools are static based (first byte value multiplied by 1 to determine
pagepool size)
03 15 = 0x03 * 0x400000=0xC00000=decimal 12582912 bytes = 12 MB dynamic
pagepool
02 15 = 0x02 * 0x400000=0x800000=decimal 8388608 bytes = 8 MB dynamic
pagepool
18 15 = 0x18 * 0x400000=0x6000000=decimal 100663296 bytes = 96 MB dynamic
pagepool
18 16 = 0x18 * 0x100000=0x1800000=decimal 25165824 bytes = 24 MB static
pagepool
10 16 = 0x10 * 0x100000=0x1000000=decimal 16777216 bytes = 16 MB static
pagepool
20 16 = 0X20 * 0x100000=0x2000000=decimal 33554432 bytes = 32 MB static
pagepool
Attached are two screen captures from my Sprint
Diamond. First is a 16MB
pagepool. Second is a 24MB
pagepool.
Be sure to post results of the various combinations of pagepools (size and static versus dynamic) that everyone tests. Finally, I'm assuming this same
pagepool modification technique should work for the Telus
Diamond and Alltel
Diamond once the
pagepool offsets have been determined based off of their respective stock roms. Any other devices and Windows Mobile versions, your mileage may vary.
Enjoy.
-tsab