From 78fa5c3d0fd149af7b69915a9006ab8eb5aab363 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Mon, 23 Mar 2026 11:02:53 +0100 Subject: [PATCH] feat: re-profile citra, regenerate database --- database.json | 54 +++++++++++++++++++++++++++++++- emulators/citra.yml | 76 +++++++++++++++++---------------------------- 2 files changed, 82 insertions(+), 48 deletions(-) diff --git a/database.json b/database.json index ca807a98..2d8f8651 100644 --- a/database.json +++ b/database.json @@ -1,5 +1,5 @@ { - "generated_at": "2026-03-22T21:24:06Z", + "generated_at": "2026-03-23T09:52:45Z", "total_files": 6733, "total_size": 5288642642, "files": { @@ -87122,6 +87122,15 @@ "ROM_BASIC_C": [ "3693c9cb9bf3b41bae1150f7a8264992468fc8c0" ], + "ataribasic.rom": [ + "3693c9cb9bf3b41bae1150f7a8264992468fc8c0" + ], + "basic.rom": [ + "3693c9cb9bf3b41bae1150f7a8264992468fc8c0" + ], + "atari_basic.rom": [ + "3693c9cb9bf3b41bae1150f7a8264992468fc8c0" + ], "tos102uk.img": [ "87900a40a890fdf03bd08be6c60cc645855cbce5" ], @@ -88396,9 +88405,24 @@ "ROM_OS_A_PAL": [ "6dd53356159a129ed12367beb3b24a771d41adb0" ], + "atari_osa.rom": [ + "6dd53356159a129ed12367beb3b24a771d41adb0" + ], + "atari_os_a.rom": [ + "6dd53356159a129ed12367beb3b24a771d41adb0" + ], "ROM_OS_BB01R2": [ "ae4f523ba08b6fd59f3cae515a2b2410bbd98f55" ], + "atarixlxe.rom": [ + "ae4f523ba08b6fd59f3cae515a2b2410bbd98f55" + ], + "atari_xlxe.rom": [ + "ae4f523ba08b6fd59f3cae515a2b2410bbd98f55" + ], + "atari_xl_xe.rom": [ + "ae4f523ba08b6fd59f3cae515a2b2410bbd98f55" + ], "ROM_OS_BB01R4": [ "decde89fbae90adb591ad2fc553d35f49030c129" ], @@ -88408,6 +88432,18 @@ "ROM_5200": [ "6ad7a1e8c9fad486fbec9498cb48bf5bc3adc530" ], + "atari5200.rom": [ + "6ad7a1e8c9fad486fbec9498cb48bf5bc3adc530" + ], + "atar5200.rom": [ + "6ad7a1e8c9fad486fbec9498cb48bf5bc3adc530" + ], + "5200.bin": [ + "6ad7a1e8c9fad486fbec9498cb48bf5bc3adc530" + ], + "atari_5200.rom": [ + "6ad7a1e8c9fad486fbec9498cb48bf5bc3adc530" + ], "DEFAULT.FNT": [ "000ac11b702a4c42e40f135df12fa5f2f13e20a1" ], @@ -88448,6 +88484,9 @@ "snes:st018.data.rom": [ "b19c0f8f207d62fdabf4bf71442826063bccc626" ], + "arm6.data.rom": [ + "b19c0f8f207d62fdabf4bf71442826063bccc626" + ], "fd502.rom": [ "10bdc5aa2d7d7f205f67b47b19003a4bd89defd1" ], @@ -88538,6 +88577,15 @@ "kanji2.rom": [ "b86b932cb4ce34472e0fe0f01a4a4350e15dcb53" ], + "arm6.program.rom": [ + "388e3721b94cd074d6ba0eca8616523d2118a6c3" + ], + "atari_osb.rom": [ + "db1031585968cfc6ec2ecda5c9a5a52f61444a3b" + ], + "atari_os_b.rom": [ + "db1031585968cfc6ec2ecda5c9a5a52f61444a3b" + ], "FONT.BMP": [ "b4f14e58030ed40fff2dc312b58ea4440bdf8cc5" ], @@ -108614,6 +108662,7 @@ "b32303333a66101a83d008af1a8c1966751ed156", "9139c00e5986b7a86c7e8dcbce39986126ab7db4", "0ec20ebf1e7f2b3aebb9853036e17ca4595214c8", + "3693c9cb9bf3b41bae1150f7a8264992468fc8c0", "87900a40a890fdf03bd08be6c60cc645855cbce5", "9526ef63b9cb1d2a7109e278547ae78a5c1db6c6", "06f9ea322e74b682df0396acfaee8cb4d9c90cad", @@ -108627,6 +108676,7 @@ "10c4173c2a7eb09c6579818f72ef18fa0b6d32de", "3c5b93ca231550c68693a14f03cea8d5dbd1be9e", "edc13192054a59be49c6d55f83b70e2510968e86", + "bf3ff05bbf81bdd44567f3b9bb4919ed4a499624", "8951d1bb219ab2ff8583033d2119c899cc81f18c", "c315672807d8ddb8d91443729405c766dd95cae7", "a8c1b39a2e41137835eda6a5de6d46dd9fadbaf2", @@ -108849,6 +108899,8 @@ "063609dd518c124a4fc9ba35d1bae35771666a34", "8063185d4dd653dd75a68855148c9ee15b71164c", "b86b932cb4ce34472e0fe0f01a4a4350e15dcb53", + "388e3721b94cd074d6ba0eca8616523d2118a6c3", + "db1031585968cfc6ec2ecda5c9a5a52f61444a3b", "b4f14e58030ed40fff2dc312b58ea4440bdf8cc5", "c65592330c9dd84011151daed52f9aec926b7e56", "1db57a1e8b6e4096f811587f9eab0c6675fd9755", diff --git a/emulators/citra.yml b/emulators/citra.yml index 358b0c89..f469074f 100644 --- a/emulators/citra.yml +++ b/emulators/citra.yml @@ -1,71 +1,53 @@ emulator: Citra type: standalone + libretro +core_classification: community_fork source: "https://github.com/libretro/citra" upstream: "https://github.com/citra-emu/citra" -profiled_date: "2026-03-18" +profiled_date: "2026-03-23" core_version: "Git" display_name: "Nintendo - 3DS (Citra)" cores: [citra] systems: [nintendo-3ds] notes: | - Citra 3DS emulator (pre-Azahar). Data dir: citra-emu. - HLE for most services — files optional. AES keys most important. - File locations: sysdata/ for keys/boot/font/seeddb, - nand/ for NAND filesystem, nand/private/ for movable.sed. - ref: src/common/common_paths.h:67-70 + Citra 3DS emulator. Upstream taken down March 2024 (Nintendo lawsuit). + Mirror: https://github.com/citra-mirror/citra + Data dir: {save_dir}/Citra/ or {system_dir}/Citra/ + ref: src/citra_libretro/citra_libretro.cpp:460-466 - Key file: aes_keys.txt (NOT keys.txt — that's Azahar). - ref: src/common/common_paths.h:68 + HLE for most services. Embedded open-source replacements for shared font, + Mii data, country list, and bad word list compiled into the binary. + ref: src/core/file_sys/archive_ncch.cpp:9-27, 133-167 - Azahar fork: see emulators/azahar.yml (uses keys.txt, data dir azahar-emu). - citra_canary: same repo, see emulators/citra_canary.yml. + firmware_count absent in .info (= 0). All files optional. files: - # --- sysdata/ directory --- - - name: "aes_keys.txt" - path: "sysdata/aes_keys.txt" + - name: aes_keys.txt + system: nintendo-3ds description: "AES encryption keys" required: false - source_ref: "src/common/common_paths.h:68, src/core/hw/aes/key.cpp LoadPresetKeys()" - notes: "Named aes_keys.txt in libretro/citra (keys.txt in Azahar)" + source_ref: "src/core/hw/aes/key.cpp:207-208 LoadPresetKeys()" + note: "needed for encrypted games" - - name: "boot9.bin" - path: "sysdata/boot9.bin" + - name: boot9.bin + system: nintendo-3ds description: "ARM9 bootrom" required: false - source_ref: "src/common/common_paths.h:69" + 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" - - name: "sector0x96.bin" - path: "sysdata/sector0x96.bin" - description: "Secret sector from NAND" - required: false - source_ref: "src/common/common_paths.h:70" - - - name: "shared_font.bin" - path: "sysdata/shared_font.bin" - description: "System shared font" + - name: shared_font.bin + system: nintendo-3ds + description: "system shared font (legacy format)" required: false hle_fallback: true - source_ref: "src/common/common_paths.h:67" - notes: "HLE fallback if missing" + source_ref: "src/core/hle/service/apt/apt.cpp:259-267 LoadLegacySharedFont()" + note: "fallback to embedded open-source replacement font" - - name: "seeddb.bin" - path: "sysdata/seeddb.bin" - description: "Game seed database" + - name: seeddb.bin + system: nintendo-3ds + description: "game seed database" required: false - source_ref: "src/core/file_sys/seed_db.cpp:15" - notes: "Required for some seed-encrypted games (9.6+ titles)" - - # otp.bin, movable.sed, SecureInfo_A, LocalFriendCodeSeed_B - # do NOT exist in libretro/citra — they are Azahar-only features - # (src/core/hw/unique_data.cpp exists in azahar, not in libretro/citra) - # See emulators/azahar.yml for those files. - - # --- NAND system archives (installed titles) --- - - name: "shared font (system archive)" - path: "nand/ (installed as NCCH title 0004009B00014002)" - description: "Shared font system archive (JPN/USA/EUR)" - required: false - source_ref: "src/core/file_sys/archive_ncch.cpp:161" - notes: "Region variants: CHN=00014102, KOR=00014202, TWN=00014302" + source_ref: "src/core/file_sys/seed_db.cpp:13-27 SeedDB::Load()" + note: "needed for seed-encrypted games (9.6+ titles), creates empty if missing"