NPDM: Difference between revisions

No edit summary
Liam (talk | contribs)
Update MemoryMap bits and FsAccessControl structure
Line 285: Line 285:
|-
|-
| 0x1
| 0x1
| 0x1
| ContentOwnerIdCount
|-
| 0x2
| 0x1
| SaveDataOwnerIdCount
|-
| 0x3
| 0x3
| 0x1
| Padding
| Padding
|-
|-
Line 293: Line 301:
|-
|-
| 0xC
| 0xC
| 0x20
| 0x8
| Reserved
| ContentOwnerIdMin
|-
| 0x14
| 0x8
| ContentOwnerIdMax
|-
| 0x1C
| 0x8
| SaveDataOwnerIdMin
|-
| 0x24
| 0x8
| SaveDataOwnerIdMax
|-
| 0x2C
| 0x8 * ContentOwnerIdCount
| ContentOwnerIds
|-
| Variable
| 0x8 * SaveDataOwnerIdCount
| SaveDataOwnerIds
|}
|}


Line 334: Line 362:
| 0x1C
| 0x1C
| 0x4
| 0x4
| (Optional) Amount of content owner id's
| (Optional) ContentOwnerIdCount
|-
|-
| 0x1C
| 0x1C
| 0x8 * Content Owner ID's
| 0x8 * ContentOwnerIdCount
| Content owner ID's as uint64's.
| ContentOwnerIds
|-
|-
| Variable
| Variable
| 0x4
| 0x4
| Amount of save owner id's
| SaveDataOwnerIdCount
|-
|-
| Variable
| Variable
| 0x1 * Save data owner accessibilities (?)
| 0x1 * SaveDataOwnerIdCount
| Sets flags for what save data owners can do with other applications save data (?)
| Accessibilities (1=Read, 2=Write, 3=ReadWrite)
|-
|-
| Variable (padded to nearest 4 bytes)
| Variable (padded to nearest 4 bytes)
| 0x8 * Amount of save owner ID's
| 0x8 * SaveDataOwnerIdCount
| Save data owner ID's
| SaveDataOwnerIds
|}
|}


Line 592: Line 620:
| All ones
| All ones
|  
|  
| Ignored
| Invalid
|}
|}


Line 630: Line 658:


== MemoryMap ==
== MemoryMap ==
MemoryMap entries are stored in pairs. The first pair will contain BeginAddress and PermissionType, while the second pair will contain Size and MappingType.
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
Line 636: Line 665:
|-
|-
| 7-30
| 7-30
| BeginAddress or Size
| BeginAddress
|-
|-
| 31
| 31
| IsRw or IsIo
| PermissionType (0=RW, 1=RO)
|}
|}


MemoryMap entries are stored alternating between BeginAddress + IsRw and Size + IsIo.
{| class="wikitable" border="1"
|-
! Bits
! Description
|-
| 7-26
| Size
|-
| 27-30
| Reserved
|-
| 31
| MappingType (0=Io, 1=Static)
|}


=== Restrictions ===
=== Restrictions ===