Changes

Jump to navigation Jump to search
99 bytes added ,  18:14, 14 April 2020
Line 319: Line 319:  
! Offset !! Size !! Description
 
! Offset !! Size !! Description
 
|-
 
|-
| 0x40 || 0x4 || Unknown
+
| 0x40 || 0x4 || Boot/resume cookie. Pass 0 when cold booting, <code>resume_handler ^ magic</code> when resuming
 
|-
 
|-
 
| 0x44 || 0x4 || Set to 0 (unused)
 
| 0x44 || 0x4 || Set to 0 (unused)
Line 330: Line 330:  
*(u32 *)SceSonyRegbus_e8000004 = 4;
 
*(u32 *)SceSonyRegbus_e8000004 = 4;
 
syncm();
 
syncm();
memcpy(SceCompatSharedSram_e8100000, g_0080c1f0, 0x1000); // PRE-IPL
+
memcpy(SceCompatSharedSram_e8100000, g_pre_ipl, 0x1000); // PRE-IPL
memcpy(SceCompatSharedSram_e8100fbc, &cmd_data[0], 4);   // Offset 0x40 above
+
memcpy(SceCompatSharedSram_e8100fc0, g_challenge, 0x40); // Challenge (?XOR key?)
memcpy(SceCompatSharedSram_e8100fc0, g_0080d1f0, 0x40);   // Challenge (?XOR key?)
+
memcpy(SceCompatSharedSram_e8100fbc, &cookie, 4);         // Boot/resume cookie
 
syncm();
 
syncm();
 
*(u32 *)SceSonyRegbus_e8000004 = 0;
 
*(u32 *)SceSonyRegbus_e8000004 = 0;
Line 339: Line 339:  
If there was an error:
 
If there was an error:
   −
<source lang="C">
+
<source lang="c">
 
memset(SceCompatSharedSram_e8100000, 0, 0x1000); // PRE-IPL
 
memset(SceCompatSharedSram_e8100000, 0, 0x1000); // PRE-IPL
 
syncm();
 
syncm();
Line 376: Line 376:     
On 3.73-CEX (simplified):
 
On 3.73-CEX (simplified):
<source lang="C">
+
<source lang="c">
 
*(u32 *)SceSonyRegbus_e8000004 = 4;
 
*(u32 *)SceSonyRegbus_e8000004 = 4;
 
syncm();
 
syncm();
ret = memcmp(SceCompatSharedSram_e8100fc0, g_80c1b0, 0x40); // Check challenge output
+
ret = memcmp(SceCompatSharedSram_e8100fc0, g_challenge_result, 0x40); // Check challenge output
 
if (ret == 0) {
 
if (ret == 0) {
 
     // Success!!
 
     // Success!!
708

edits

Navigation menu