Raphael WM6.1 ROMs Page Pool / Page Pool Changer

Search This thread

Kevlar-Source

Senior Member
May 22, 2005
675
22
Sintra
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.
 
Last edited:
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.
 

jcespi2005

Senior Member
Feb 15, 2006
2,394
196
53
Madrid
OnePlus 9 Pro
Samsung Galaxy S23 Ultra
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
 

Attachments

  • DevHealth.zip
    16.5 KB · Views: 221

Kevlar-Source

Senior Member
May 22, 2005
675
22
Sintra
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.
 

cmonex

Retired Recognized Developer
Jul 23, 2006
3,040
49
Budapest
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 :)
 

jcespi2005

Senior Member
Feb 15, 2006
2,394
196
53
Madrid
OnePlus 9 Pro
Samsung Galaxy S23 Ultra
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://xdaforums.com/showpost.php?p=2274534&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/1488550...el_CRC_52.33.25.17_1.02.25.19_Ship_PP24Mb.rar

Report back, please...

Thanks.
 

Kevlar-Source

Senior Member
May 22, 2005
675
22
Sintra
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.
 

cmonex

Retired Recognized Developer
Jul 23, 2006
3,040
49
Budapest
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. :)
 
Last edited:

jcespi2005

Senior Member
Feb 15, 2006
2,394
196
53
Madrid
OnePlus 9 Pro
Samsung Galaxy S23 Ultra
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
 

acardinale

Senior Member
Nov 14, 2006
185
5
I've tried the posted procedure for finding, and changing the Pagepool - but everytime i search for the hex string, i get no returned results. Am i doing something wrong?