diff options
author | Narr the Reg <juangerman-13@hotmail.com> | 2023-06-12 09:17:10 +0200 |
---|---|---|
committer | Narr the Reg <juangerman-13@hotmail.com> | 2023-06-15 02:08:35 +0200 |
commit | b1b13ddc6bdc8d9d67a53a33465f5cf84146a262 (patch) | |
tree | 20898261f367a1b78cbbfa3c13bff48427ffa107 /src/core/hle/service/nfp | |
parent | Merge pull request #10781 from 8bitDream/vcpkg (diff) | |
download | yuzu-b1b13ddc6bdc8d9d67a53a33465f5cf84146a262.tar yuzu-b1b13ddc6bdc8d9d67a53a33465f5cf84146a262.tar.gz yuzu-b1b13ddc6bdc8d9d67a53a33465f5cf84146a262.tar.bz2 yuzu-b1b13ddc6bdc8d9d67a53a33465f5cf84146a262.tar.lz yuzu-b1b13ddc6bdc8d9d67a53a33465f5cf84146a262.tar.xz yuzu-b1b13ddc6bdc8d9d67a53a33465f5cf84146a262.tar.zst yuzu-b1b13ddc6bdc8d9d67a53a33465f5cf84146a262.zip |
Diffstat (limited to 'src/core/hle/service/nfp')
-rw-r--r-- | src/core/hle/service/nfp/nfp_types.h | 26 |
1 files changed, 18 insertions, 8 deletions
diff --git a/src/core/hle/service/nfp/nfp_types.h b/src/core/hle/service/nfp/nfp_types.h index 7d36d5ee6..aed12a7f8 100644 --- a/src/core/hle/service/nfp/nfp_types.h +++ b/src/core/hle/service/nfp/nfp_types.h @@ -85,7 +85,7 @@ enum class CabinetMode : u8 { StartFormatter, }; -using LockBytes = std::array<u8, 2>; +using UuidPart = std::array<u8, 3>; using HashData = std::array<u8, 0x20>; using ApplicationArea = std::array<u8, 0xD8>; using AmiiboName = std::array<char, (amiibo_name_length * 4) + 1>; @@ -93,12 +93,20 @@ using AmiiboName = std::array<char, (amiibo_name_length * 4) + 1>; // This is nn::nfp::TagInfo using TagInfo = NFC::TagInfo; +struct NtagTagUuid { + UuidPart part1; + UuidPart part2; + u8 nintendo_id; +}; +static_assert(sizeof(NtagTagUuid) == 7, "NtagTagUuid is an invalid size"); + struct TagUuid { - NFC::UniqueSerialNumber uid; + UuidPart part1; + u8 crc_check1; + UuidPart part2; u8 nintendo_id; - LockBytes lock_bytes; }; -static_assert(sizeof(TagUuid) == 10, "TagUuid is an invalid size"); +static_assert(sizeof(TagUuid) == 8, "TagUuid is an invalid size"); struct WriteDate { u16 year; @@ -231,7 +239,8 @@ struct EncryptedAmiiboFile { static_assert(sizeof(EncryptedAmiiboFile) == 0x1F8, "AmiiboFile is an invalid size"); struct NTAG215File { - LockBytes lock_bytes; // Tag UUID + u8 uid_crc_check2; + u8 internal_number; u16 static_lock; // Set defined pages as read only u32 compability_container; // Defines available memory HashData hmac_data; // Hash @@ -250,8 +259,7 @@ struct NTAG215File { u32_be register_info_crc; ApplicationArea application_area; // Encrypted Game data HashData hmac_tag; // Hash - NFC::UniqueSerialNumber uid; // Unique serial number - u8 nintendo_id; // Tag UUID + TagUuid uid; AmiiboModelInfo model_info; HashData keygen_salt; // Salt u32 dynamic_lock; // Dynamic lock @@ -264,7 +272,9 @@ static_assert(std::is_trivially_copyable_v<NTAG215File>, "NTAG215File must be tr #pragma pack() struct EncryptedNTAG215File { - TagUuid uuid; // Unique serial number + TagUuid uuid; + u8 uuid_crc_check2; + u8 internal_number; u16 static_lock; // Set defined pages as read only u32 compability_container; // Defines available memory EncryptedAmiiboFile user_memory; // Writable data |