Files
libretro/emulators/panda3ds.yml
T
Abdessamad Derraz e7aa9e870b fix: state libretro core versions from their code
Each libretro profile records version_basis and core_version is read
there at its pin. snes9x states 1.63 in snes9x.h, nestopia 2.0.0, mgba
0.11.0, vice 3.10, atari800's libretro tree 7.0.0. Cores whose build
takes its version from git carry the nearest tag in describe form
(flycast v2.7-90-ge88b0ce, ppsspp, duckstation, gearcoleco), placeholders
copied from .info files (Git, SVN) are replaced by the code's statement,
and a code that states none is null with kind none.
2026-10-27 19:21:27 +01:00

61 lines
2.6 KiB
YAML

emulator: Panda3DS
type: standalone + libretro
core_classification: official_port
core_name: panda3ds_libretro
source: "https://github.com/panda3ds-emu/panda3ds"
upstream: "https://github.com/panda3ds-emu/panda3ds"
profiled_date: "2026-03-24"
source_commit: "3787358bdae41d5532ccd00c8998a527ae949949"
core_version: "v0.8-615-g3787358"
version_basis:
kind: tag
tag: "v0.8"
distance: 615
display_name: "Nintendo - 3DS (Panda3DS)"
library_name: "Panda3DS"
cores: [panda3ds]
systems: [nintendo-3ds]
notes: |
HLE 3DS emulator. Most games run without system files.
Encrypted ROMs need AES keys in sysdata/aes_keys.txt, and seed-encrypted
titles (9.6+) also need sysdata/seeddb.bin.
DSP firmware is loaded from the game itself (HLE/LLE/Null modes via core
option panda3ds_dsp_emulation). System archives (shared font, bad word
list, country list, mii data) are compiled into the binary via cmrc.
The libretro core uses the save directory, not RetroArch's system
directory. Files go under <save_dir>/Emulator Files/sysdata/, under the
working directory when the frontend gives no save directory. The core
reports library_name "Panda3DS". Standalone reads them from Emulator
Files/sysdata/ below its SDL pref path.
ref: src/libretro_core.cpp:29-31, src/libretro_core.cpp:233, src/libretro_core.cpp:277-281,
src/emulator.cpp:196-208
The .info declares firmware_count=0. is_experimental = true.
files:
- name: "aes_keys.txt"
path: "Emulator Files/sysdata/aes_keys.txt"
standalone_path: "Emulator Files/sysdata/aes_keys.txt"
load_from: {libretro: save_dir, standalone: data_dir}
description: "AES encryption keys for decrypting encrypted ROMs"
required: false
source_ref: "src/emulator.cpp:229,237-238, src/core/crypto/aes_engine.cpp:13-92"
note: |
Loaded at ROM load time from appDataRoot/sysdata/aes_keys.txt.
In libretro mode, appDataRoot = <save_dir>/Emulator Files/.
Contains key slot entries (generator, keyX, keyY, normalKey).
Only needed for encrypted .3ds/.cci/.cxi/.app files.
Decrypted dumps work without this file.
- name: "seeddb.bin"
path: "Emulator Files/sysdata/seeddb.bin"
standalone_path: "Emulator Files/sysdata/seeddb.bin"
load_from: {libretro: save_dir, standalone: data_dir}
description: "Seed database for seed-encrypted games"
required: false
source_ref: "src/emulator.cpp:230,241-242, src/core/loader/ncch.cpp:78-93"
note: |
Used for titles with seed encryption (firmware 9.6+).
Placed alongside aes_keys.txt in the sysdata directory.
Without it, seed-encrypted titles fail to load with a warning.