| View previous topic :: View next topic |
| Author |
Message |
steddy
Joined: 04 Apr 2005 Posts: 139
|
Posted: Sun Jun 12, 2005 4:22 am Post subject: PSP Memory Map |
|
|
How much of the PSP Memory map is now known? I see the KDumper dumps the following ranges:-
0xBFC00000 -> 0xBFD00000
0x88000000 -> 0x883FFFFF
How were these two ranges chosen, and what does the rest look like? Given these are only 4mb and 1mb in size, and the ROM and RAM are both 32mb, what about the rest.
Do ROM modules execute in place, or are they all loaded into RAM?
Finally, is there a way to extract the PRX files from memory to recreate the ELF? Is there enough information present once loaded to do that?
Thanks
Steddy |
|
| Back to top |
|
 |
TyRaNiD
Joined: 18 Jan 2004 Posts: 918
|
Posted: Sun Jun 12, 2005 6:55 am Post subject: |
|
|
| Well ROM doesn't seem to be directly mapped. RAM is from 0x08000000 -> 0x09FFFFFF although the first four megs is only accessible as kernel addresses. There are also some hardware regs in the 0xBxxxxxxx ranges. That is about all I know. |
|
| Back to top |
|
 |
steddy
Joined: 04 Apr 2005 Posts: 139
|
Posted: Sun Jun 12, 2005 7:01 am Post subject: |
|
|
Thanks, but that doesn't seem to tie up with what KDumper is dumping.
It is dumping 0x88000000, not 0x08000000.
I have a 2gb Duo coming next week so will be able to dump pretty big ranges :)
Steddy |
|
| Back to top |
|
 |
TyRaNiD
Joined: 18 Jan 2004 Posts: 918
|
Posted: Sun Jun 12, 2005 7:03 am Post subject: |
|
|
| Do you know nothing about the MIPS architecture ? |
|
| Back to top |
|
 |
steddy
Joined: 04 Apr 2005 Posts: 139
|
Posted: Sun Jun 12, 2005 7:14 am Post subject: |
|
|
| I guess from the tone of your question, probably very little. |
|
| Back to top |
|
 |
Vampire
Joined: 12 Apr 2005 Posts: 138
|
Posted: Sun Jun 12, 2005 7:26 am Post subject: |
|
|
| Code: | MIPS32 Address Space Layout:
0xFFFFFFFF
> kseg2
0xC0000000
0xBFFFFFFF
> kseg1
0xA0000000
0x9FFFFFFF
> kseg0
0x80000000
0x7FFFFFFF
> kuseg
0x00000000
kuseg:
– 2048 megabytes
– TLB translated (mapped)
– Cacheable
– user-mode and kernel-mode accessible
kseg0:
– 512 megabytes
– Fixed translation window to physical memory
• 0x80000000 - 0x9fffffff virtual =
0x00000000 - 0x1fffffff physical
• TLB not used
– Cacheable
– Only kernel-mode accessible
kseg1:
– 512 megabytes
– Fixed translation window to physical memory
• 0xa0000000 - 0xbfffffff virtual =
0x00000000 - 0x1fffffff physical
• TLB not used
– NOT cacheable
– Only kernel-mode accessible
kseg2:
– 1024 megabytes
– TLB translated (mapped)
– Cacheable
– Only kernel-mode accessible |
|
|
| Back to top |
|
 |
steddy
Joined: 04 Apr 2005 Posts: 139
|
Posted: Sun Jun 12, 2005 7:28 am Post subject: |
|
|
Excellent information Vampire and just what I was looking for.
Thanks
Steddy |
|
| Back to top |
|
 |
Vampire
Joined: 12 Apr 2005 Posts: 138
|
Posted: Sun Jun 12, 2005 7:54 am Post subject: |
|
|
the 2MB VRAM are located from 0x04000000 to 0x041FFFFF:
sceGeEdramGetAddr() returns 0x04000000
sceGeEdramGetSize() returns 0x00200000 |
|
| Back to top |
|
 |
|