diff --git a/emulators/azahar.yml b/emulators/azahar.yml index 9b41722f..ff55d820 100644 --- a/emulators/azahar.yml +++ b/emulators/azahar.yml @@ -59,6 +59,7 @@ files: path: sysdata/otp.bin system: nintendo-3ds required: false + size: 256 validation: [size, crypto] note: "OTP data for console key derivation" source_ref: "src/core/hw/unique_data.cpp:126-167, src/core/hw/unique_data.cpp:213" @@ -67,6 +68,7 @@ files: path: nand/private/movable.sed system: nintendo-3ds required: false + size: 320 validation: [size, signature] note: "console-unique key seed" source_ref: "src/core/hw/unique_data.cpp:170-200, src/core/hw/unique_data.cpp:217" @@ -75,6 +77,7 @@ files: path: nand/rw/sys/SecureInfo_A system: nintendo-3ds required: false + size: 273 validation: [size, signature] note: "console serial and region data" source_ref: "src/core/hw/unique_data.cpp:43-92, src/core/hw/unique_data.cpp:205" @@ -83,6 +86,7 @@ files: path: nand/rw/sys/LocalFriendCodeSeed_B system: nintendo-3ds required: false + size: 284 validation: [size, signature] note: "friend code generation seed" source_ref: "src/core/hw/unique_data.cpp:94-123, src/core/hw/unique_data.cpp:209" diff --git a/emulators/citra.yml b/emulators/citra.yml index 39fcf4cb..d5f548bd 100644 --- a/emulators/citra.yml +++ b/emulators/citra.yml @@ -35,9 +35,10 @@ files: system: nintendo-3ds description: "ARM9 bootrom" required: false + size: 65536 validation: [size] source_ref: "src/core/hw/aes/key.cpp:162-172 LoadBootromKeys(), src/core/hw/rsa/rsa.cpp:55-65 InitSlots()" - note: "expected size 65536 bytes, provides AES and RSA keys" + note: "provides AES and RSA keys" - name: shared_font.bin path: "Citra/sysdata/shared_font.bin" diff --git a/emulators/directxbox.yml b/emulators/directxbox.yml index 07a96570..6219de90 100644 --- a/emulators/directxbox.yml +++ b/emulators/directxbox.yml @@ -53,6 +53,7 @@ files: - name: "cromwell_1024.bin" path: "cromwell_1024.bin" + size: 1048576 validation: [size] required: true note: > diff --git a/emulators/melonds.yml b/emulators/melonds.yml index f831a241..f3281d18 100644 --- a/emulators/melonds.yml +++ b/emulators/melonds.yml @@ -24,7 +24,7 @@ files: hle_fallback: true size: 4096 validation: {core: [size], upstream: [size, crc32]} - crc32: "0x2ab23573" + crc32: 2ab23573 source_ref: "src/NDS.h:196, src/NDS.cpp:467-477, src/frontend/Util_ROM.cpp:99-111" note: "FreeBIOS fallback (src/FreeBIOS.h); native needed for Key1 cartridge crypto" @@ -35,7 +35,7 @@ files: hle_fallback: true size: 16384 validation: {core: [size], upstream: [size, crc32]} - crc32: "0x1280f0d5" + crc32: 1280f0d5 source_ref: "src/NDS.h:197, src/NDS.cpp:482-492, src/frontend/Util_ROM.cpp:117-131" note: "FreeBIOS fallback (src/FreeBIOS.h); native needed for Key1 init at offset 0x0030" @@ -44,6 +44,8 @@ files: description: "NDS firmware image" required: false hle_fallback: true + min_size: 262144 + max_size: 524288 validation: [size] source_ref: "src/SPI.cpp:192-211, src/frontend/Util_ROM.cpp:174-195" note: "Generated 128KB firmware as fallback; native must be 256KB or 512KB for boot" @@ -55,7 +57,7 @@ files: required: true size: 65536 validation: {core: [size], upstream: [size, crc32]} - crc32: "0xBAE84F6C" + crc32: bae84f6c source_ref: "src/DSi.h:33, src/DSi.cpp:587-599, src/frontend/Util_ROM.cpp:145-156" - name: dsi_bios7.bin @@ -64,7 +66,7 @@ files: required: true size: 65536 validation: {core: [size], upstream: [size, crc32]} - crc32: "0x4316CC42" + crc32: 4316cc42 source_ref: "src/DSi.h:34, src/DSi.cpp:604-620, src/frontend/Util_ROM.cpp:158-170" note: "Contains eMMC key-Y at offset 0x8308 for NAND init" diff --git a/emulators/melonds_ds.yml b/emulators/melonds_ds.yml index aa6385d4..8697a5c2 100644 --- a/emulators/melonds_ds.yml +++ b/emulators/melonds_ds.yml @@ -27,7 +27,7 @@ files: hle_fallback: true size: 16384 validation: [size] - crc32: "0x1280f0d5" + crc32: 1280f0d5 source_ref: "src/libretro/config/console.cpp:219, melonDS:src/MemConstants.h:31,36" - name: bios9.bin @@ -37,7 +37,7 @@ files: hle_fallback: true size: 4096 validation: [size] - crc32: "0x2ab23573" + crc32: 2ab23573 source_ref: "src/libretro/config/console.cpp:220, melonDS:src/MemConstants.h:30,37" - name: firmware.bin @@ -55,7 +55,7 @@ files: required: true size: 65536 validation: [size] - crc32: "0x4316CC42" + crc32: 4316cc42 source_ref: "src/libretro/config/console.cpp:333, melonDS:src/MemConstants.h:32,44" note: "Contains eMMC key-Y at offset 0x8308 for NAND init" @@ -65,7 +65,7 @@ files: required: true size: 65536 validation: [size] - crc32: "0xBAE84F6C" + crc32: bae84f6c source_ref: "src/libretro/config/console.cpp:338, melonDS:src/MemConstants.h:32,45" - name: dsi_firmware.bin diff --git a/emulators/mesen.yml b/emulators/mesen.yml index 8271ec85..ea0183ce 100644 --- a/emulators/mesen.yml +++ b/emulators/mesen.yml @@ -65,5 +65,7 @@ files: description: "External NES color palette" required: false source_ref: "Libretro/libretro.cpp:301-323 (load_custom_palette), Libretro/libretro.cpp:405-406 (called when mesen_palette == Custom)" + min_size: 192 + max_size: 1536 validation: [size] - note: "Loaded when mesen_palette core option is Custom. Accepts exactly 192 bytes (64 RGB triplets) or 1536 bytes (512 entries for emphasis combos). Falls back to built-in default palette if size doesn't match." + note: "Accepts 192 bytes (64 RGB triplets) or 1536 bytes (512 emphasis combos). Falls back to built-in default if size doesn't match."