FORUMS
Remove All Ads from XDA

Raphael WM6.1 ROMs Page Pool / Page Pool Changer

675 posts
Thanks Meter: 22
 
By Kevlar-Source, Senior Member on 27th September 2008, 03:30 PM
Post Reply Email Thread
Quote:

Dear all [especially the developers],

Is there a practical way of changing the above mentioned ROM's page pool?

Is there a tool?

I tried Latest Page Pool Changer release [V.2.21] but it doesn't behave as it should.

With JCEspi2005's help I realized it doesn't report or write the right or, at least, the reported and visible values...

How can we sort this out?

Can someone point me in the right direction?

Hang Tua, given the fact I am solely using your ROMs would you be so kind you would help me?

Dear all,

INTRODUCTION

With JCEspi2005 precious help and guidance and Swiftblade precious information, we both came to the conclusion that Raphael page pool change method can now be unveiled.


CONSIDERATIONS

JCEspi2005 changed a ROM's page pool to 24 and I tested it.
Result: Ok.

I changed 2 ROM's page pool and tested it.
Result: Ok.


TOOLS

A Hex editor like:
XVI32 V.2.31 ¤ Link
HexEdit V.1.03 ¤ Link

PROCEDURE [Information source: Link]

Address: 70F0

Values:

[00MB Pagepool] |00 15 A0 03 | 02 15 A0 13 | 00 10 83 E5 | DA C2 FF EB|
[12MB Pagepool] |03 15 A0 03 | 02 15 A0 13 | 00 10 83 E5 | DA C2 FF EB|
[16MB Pagepool] |10 16 A0 03 | 02 15 A0 13 | 00 10 83 E5 | DA C2 FF EB|
[18MB Pagepool] |12 16 A0 03 | 02 15 A0 13 | 00 10 83 E5 | DA C2 FF EB|
[24MB Pagepool] |18 16 A0 03 | 02 15 A0 13 | 00 10 83 E5 | DA C2 FF EB|

1. Open the OS.nb or the .NBH file with a Hex Editor
2. Search the for hex string pattern |03 15 A0 03 | 02 15 A0 13 | 00 10 83 E5 | DA C2 FF EB| [Two addresses should be found]
3. At the first address found, change the first two bytes "03 15" to "12 16" for 18MB pagepool
4. Repeat Step Nº 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 .NBH file to your Raphael and enjoy the 18MB True Pagepool

For other pagepool sizes, change the first byte "03" to "XX" hex value corresponding to your desired pagepool in Step Nº 3 and 4. [Remember that this is hex value, i.e. "10" = 16MB, "12" = 18MB, "18" = 24MB, etc.]

Happy Page Pool changing, happy flashing and cheers!

P.S. There were some doubts about dynamic page pool [Page Pool 0] usage but after a day of testing 0 page pooled ROMs I can almost assure the there are not stability issues.
Although several more days of testing [at least 2] are needed to ensure it doesn't affect stability, by now, I can infer that it is quite stable as well as reliable.


MEMORY

Do note that your available memory will differ according to the page pool you use.
If you feel like knowing how much memory you will have available after page pool change, maybe it's time for some linear and simple arithmetics


This post will be updated as we find out about new information or outcoming issues.

Special thanks to JCEspi2005. I hope out «partnership» goes on and on

Cheers and good luck to all.
 
 
27th September 2008, 04:03 PM |#2  
WizP's Avatar
Senior Member
Thanks Meter: 13
 
More
Hi there,

I've tried pagepool changer and it appears to work just as it says on the tin!
If you look on the right hand side of the windows there is a box where you can change the pagepool size. Hit the button and you'll notice that the ROM file has been changed (Check the date stamp if you don't believe me) I've checked the ROm image with a hex editor and it has change the corrct values.

Hope this helps.
27th September 2008, 04:30 PM |#3  
jcespi2005's Avatar
Senior Member
Flag Madrid
Thanks Meter: 190
 
Donate to Me
More
Quote:
Originally Posted by WizP

Hi there,

I've tried pagepool changer and it appears to work just as it says on the tin!
If you look on the right hand side of the windows there is a box where you can change the pagepool size. Hit the button and you'll notice that the ROM file has been changed (Check the date stamp if you don't believe me) I've checked the ROm image with a hex editor and it has change the corrct values.

Hope this helps.

Attached is a little application to run in your PDA. DevHealth.exe generates a mem_X.txt file on your SD card root (let some time to do it). Inside this file you can view the real PagePool.

Can you test your changed ROM to see what changes do?

Cheers
Attached Files
File Type: zip DevHealth.zip - [Click for QR Code] (16.5 KB, 219 views)
28th September 2008, 07:24 AM |#4  
Quote:
Originally Posted by WizP

Hi there,

I've tried pagepool changer and it appears to work just as it says on the tin!
If you look on the right hand side of the windows there is a box where you can change the pagepool size. Hit the button and you'll notice that the ROM file has been changed (Check the date stamp if you don't believe me) I've checked the ROm image with a hex editor and it has change the corrct values.

Hope this helps.

That's not the question...
The question is: Does it read and change the right addresses?
No it doesn't. JCEspi2005 created a ROM with PP12 and the referred tool reads 6.

I'll try to find a tool that correctly addresses Raphael ROMs.

Cheers.
28th September 2008, 02:18 PM |#5  
Retired Recognized Developer
Flag Budapest
Thanks Meter: 49
 
More
mrvanx asked me about this thread.... yes I can confirm the pagepool changer will not work, as nk.exe dynamically sets pagepool, depending on (probably) ram size. htc niki and elf/elfin are the same deal.

this is easy to fix of course with a small assembly patch
28th September 2008, 02:50 PM |#6  
monx®'s Avatar
Senior Member
Flag ▂ ▃ ▅ ▆ █
Thanks Meter: 7,081
 
Donate to Me
More
Quote:
Originally Posted by cmonex

this is easy to fix of course with a small assembly patch


Pls guide us to the true path
28th September 2008, 02:52 PM |#7  
jcespi2005's Avatar
Senior Member
Flag Madrid
Thanks Meter: 190
 
Donate to Me
More
Quote:
Originally Posted by cmonex

mrvanx asked me about this thread.... yes I can confirm the pagepool changer will not work, as nk.exe dynamically sets pagepool, depending on (probably) ram size. htc niki and elf/elfin are the same deal.

this is easy to fix of course with a small assembly patch

Thanks, this is just i was beleaving...

Are you planing yo make the "small" patch for us?

Following this post http://forum.xda-developers.com/show...34&postcount=1 i managed to create a modified NBH of WWE shipped ROM wirh 24Mb PagePool for someone to test it (i can't do it for now...)

The link

http://rapidshare.com/files/14885506...hip_PP24Mb.rar

Report back, please...

Thanks.
28th September 2008, 07:10 PM |#8  
Quote:
Originally Posted by cmonex

mrvanx asked me about this thread.... yes I can confirm the pagepool changer will not work, as nk.exe dynamically sets pagepool, depending on (probably) ram size. htc niki and elf/elfin are the same deal.

this is easy to fix of course with a small assembly patch

Would you be so kind you would inform us (if you can) of the addresses and values for Raphael ROM's pagepool?

Even if there is no tool yet, we can HEX edit the NBH and change it.

I am personally interested in pagepool 0 [dynamic].

Thank you in advance.

Cheers.
29th September 2008, 06:13 PM |#9  
Retired Recognized Developer
Flag Budapest
Thanks Meter: 49
 
More
well, here is an example:

.text:80058220 B0 28 9F E5 LDR R2, =dword_803F6350
.text:80058224 A8 78 9F E5 LDR R7, =0xA8081064
.text:80058228 00 30 95 E5 LDR R3, [R5]
.text:8005822C 9C 88 9F E5 LDR R8, =0x52444C55
.text:80058230 94 08 9F E5 LDR R0, =aKPagePoolSize0
.text:80058234 01 0C 53 E3 CMP R3, #0x100
.text:80058238 03 15 A0 03 MOVEQ R1, #0xC00000
.text:8005823C 02 15 A0 13 MOVNE R1, #0x800000
.text:80058240 00 10 82 E5 STR R1, [R2]
.text:80058244 00 30 97 E5 LDR R3, [R7]
.text:80058248 08 00 53 E1 CMP R3, R8
.text:8005824C 01 15 A0 03 MOVEQ R1, #0x400000
.text:80058250 00 10 82 05 STREQ R1, [R2]


0x803F6350 is what the pagepool changer usually patches, this is set to 6MB by default in the nk.exe. the problem is the real pagepool will never be 6MB, this code above dynamically decides if 4, 8, or 12MB it should be. (on my raphael it went for 12MB)

the elf patch is ok, as long as the STREQ on the last line doesn't execute, if it does, then copying the elf patch is not enough. so I suggest this patch:

STR R1, [R2] -> NOP (00 00 A0 E1)
and STREQ R1, [R2] -> another NOP (00 00 A0 E1)

after this pagepool changer should work nicely, and this is easier than that patching for Elf. once you patch the nk.exe like this, it will be fine.

on top of that, an entirely cosmetic patch: you can change the R1 contents too (similar to Elf patch) so KITL log will show the right value.

P.S: my guess is it only sets it to 4MB if ULDR is loaded. so usually not of importance.
29th September 2008, 06:15 PM |#10  
Arrow Raphael ROMs Page Pool Changing
First post updated. Do read it
Cheers.
29th September 2008, 07:05 PM |#11  
jcespi2005's Avatar
Senior Member
Flag Madrid
Thanks Meter: 190
 
Donate to Me
More
Quote:
Originally Posted by cmonex

well, here is an example:

.text:80058220 B0 28 9F E5 LDR R2, =dword_803F6350
.text:80058224 A8 78 9F E5 LDR R7, =0xA8081064
.text:80058228 00 30 95 E5 LDR R3, [R5]
.text:8005822C 9C 88 9F E5 LDR R8, =0x52444C55
.text:80058230 94 08 9F E5 LDR R0, =aKPagePoolSize0
.text:80058234 01 0C 53 E3 CMP R3, #0x100
.text:80058238 03 15 A0 03 MOVEQ R1, #0xC00000
.text:8005823C 02 15 A0 13 MOVNE R1, #0x800000
.text:80058240 00 10 82 E5 STR R1, [R2]
.text:80058244 00 30 97 E5 LDR R3, [R7]
.text:80058248 08 00 53 E1 CMP R3, R8
.text:8005824C 01 15 A0 03 MOVEQ R1, #0x400000
.text:80058250 00 10 82 05 STREQ R1, [R2]


0x803F6350 is what the pagepool changer usually patches, this is set to 6MB by default in the nk.exe. the problem is the real pagepool will never be 6MB, this code above dynamically decides if 4, 8, or 12MB it should be. (on my raphael it went for 12MB)

the elf patch is ok, as long as the STREQ on the last line doesn't execute, if it does, then copying the elf patch is not enough. so I suggest this patch:

STR R1, [R2] -> NOP (00 00 A0 E1)
and STREQ R1, [R2] -> another NOP (00 00 A0 E1)

after this pagepool changer should work nicely, and this is easier than that patching for Elf. once you patch the nk.exe like this, it will be fine.

on top of that, an entirely cosmetic patch: you can change the R1 contents too (similar to Elf patch) so KITL log will show the right value.

P.S: my guess is it only sets it to 4MB if ULDR is loaded. so usually not of importance.

Thanks for so deep info

The procedure is like the Elfin one...

Cheers
Post Reply Subscribe to Thread

Guest Quick Reply (no urls or BBcode)
Message:
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes