refactor: extract sizes to structured fields

This commit is contained in:
Abdessamad Derraz
2026-04-18 09:01:01 +02:00
parent e5ef253892
commit 5a6b54c195
6 changed files with 20 additions and 10 deletions

View File

@@ -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"

View File

@@ -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"

View File

@@ -53,6 +53,7 @@ files:
- name: "cromwell_1024.bin"
path: "cromwell_1024.bin"
size: 1048576
validation: [size]
required: true
note: >

View File

@@ -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"

View File

@@ -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

View File

@@ -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."