Talk:Flash:0FACE0FF DEADFACE: Difference between revisions

From PS3 Developer wiki
Jump to navigation Jump to search
m (→‎Example NOR: someone knows what was the purpose of the missing partition in between partition_table and CELL_EXTNOR_AREA ?)
Line 46: Line 46:
Total size, from start of partition table up to the first partition is 0x100 blocks (0x8 + 0xF8)
Total size, from start of partition table up to the first partition is 0x100 blocks (0x8 + 0xF8)


After all this starts the first partition at offset 0xF20000 with the magic CELL_EXTNOR_AREA
After all this starts the first partition at offset 0xF20000 but is empty so doesnt exists, its position is only represented here logically, but is overlapped by the next partition
 
Then at offset 0xF20000 starts the second partition (overlapping the missing previous partition) with a size of 0x100 blocks (starts with magic CELL_EXTNOR_AREA)
 
And then the third partition at offset 0xF40000 with a size of 0x400 blocks (contains CRL1, DRL1, CRL2, DRL2)

Revision as of 03:36, 10 April 2017

This whole area is a partition table (a.k.a region table)

Example NOR

From 0xF00000 up to 0xF01000 (8 blocks)

Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F

00F00000  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00010  00 00 00 00 0F AC E0 FF 00 00 00 00 DE AD FA CE  .....¬àÿ....Þ­úÎ     <--- magic
00F00020  00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 02  ................    <--- partition_count, partition_used ?
                       (partition 1 info)
00F00030  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................    <--- not_used
00F00040  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00050  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00060  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00070  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00080  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00090  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F000A0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F000B0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
                       (partition 2 info)
00F000C0  00 00 00 00 00 00 79 00 00 00 00 00 00 00 01 00  ......y.........    <--- block_offset, block_count
00F000D0  10 70 00 00 01 00 00 01 00 00 00 00 00 00 00 03  .p..............    <--- lpar_auth_id, program_auth_id ?
00F000E0  10 70 00 00 02 00 00 01 00 00 00 00 00 00 00 03  .p..............    <--- lpar_auth_id, program_auth_id ?
00F000F0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00100  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00110  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00120  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00130  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00140  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
                       (partition 3 info)
00F00150  00 00 00 00 00 00 7A 00 00 00 00 00 00 00 04 00  ......z.........    <--- block_offset, block_count
00F00160  10 70 00 00 01 00 00 01 00 00 00 00 00 00 00 03  .p..............    <--- lpar_auth_id, program_auth_id ?
00F00170  10 70 00 00 02 00 00 01 00 00 00 00 00 00 00 03  .p..............    <--- lpar_auth_id, program_auth_id ?
00F00180  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00190  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F001A0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F001B0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F001C0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F001D0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................

The 0x00 filled area that follows is "padding" to fill up to 0x1000 bytes (0x8 blocks)

And the next 0xFF filled area that follows are "erased bytes" with a size of 0x1F000 bytes (0xF8 blocks)

Total size, from start of partition table up to the first partition is 0x100 blocks (0x8 + 0xF8)

After all this starts the first partition at offset 0xF20000 but is empty so doesnt exists, its position is only represented here logically, but is overlapped by the next partition

Then at offset 0xF20000 starts the second partition (overlapping the missing previous partition) with a size of 0x100 blocks (starts with magic CELL_EXTNOR_AREA)

And then the third partition at offset 0xF40000 with a size of 0x400 blocks (contains CRL1, DRL1, CRL2, DRL2)