feat: core profiles, data_dirs buildbot, cross_ref fix
profiles: amiberry (new), amiarcadia, atari800, azahar, b2,
bk, blastem, bluemsx, freeintv updated with source refs,
upstream field, mode field, data_directories.
_data_dirs.yml: buildbot source for retroarch platforms,
strip_components for nested ZIPs, freeintv-overlays fixed.
cross_reference.py: data_directories-aware gap analysis,
suppresses false gaps when emulator+platform share refs.
refresh_data_dirs.py: ZIP strip_components support,
for_platforms filter, ETag freshness for buildbot.
scraper: bluemsx single ref, freeintv overlays injection.
generate_pack.py: warning on missing data directory cache.
2026-03-18 21:20:02 +01:00
|
|
|
emulator: Azahar
|
feat: 4-source verified emulator profiles (A-E cores)
33 emulator profiles created or updated with systematic
verification against libretro docs, .info, core source,
and original emulator source code.
New profiles: bsnes-jg, bsnes2014, bsnes_cplusplus98,
bsnes_hd_beta, bsnes_mercury, citra2018, citra_canary.
Key fixes:
- dosbox_svn/svn_ce: not aliases of dosbox_core (no MUNT)
- beetle_psx: alt_names renamed to aliases (field bug)
- dolphin: added 15 Realtek BT firmware for Wiimote passthrough
- dosbox_core: added CM-32LN, 13 split ROM pairs for standalone
- duckstation: type standalone+libretro, 106 BIOS verified
- snes9x/np2kai: formal aliases for alternate filenames
2026-03-19 08:09:34 +01:00
|
|
|
type: standalone + libretro
|
feat: core profiles, data_dirs buildbot, cross_ref fix
profiles: amiberry (new), amiarcadia, atari800, azahar, b2,
bk, blastem, bluemsx, freeintv updated with source refs,
upstream field, mode field, data_directories.
_data_dirs.yml: buildbot source for retroarch platforms,
strip_components for nested ZIPs, freeintv-overlays fixed.
cross_reference.py: data_directories-aware gap analysis,
suppresses false gaps when emulator+platform share refs.
refresh_data_dirs.py: ZIP strip_components support,
for_platforms filter, ETag freshness for buildbot.
scraper: bluemsx single ref, freeintv overlays injection.
generate_pack.py: warning on missing data directory cache.
2026-03-18 21:20:02 +01:00
|
|
|
source: "https://github.com/azahar-emu/azahar"
|
|
|
|
|
upstream: "https://github.com/azahar-emu/azahar"
|
2026-03-18 05:15:51 +01:00
|
|
|
profiled_date: "2026-03-18"
|
2026-03-18 05:19:57 +01:00
|
|
|
core_version: "Git"
|
|
|
|
|
display_name: "Nintendo - 3DS (Azahar)"
|
feat: 4-source verified emulator profiles (A-E cores)
33 emulator profiles created or updated with systematic
verification against libretro docs, .info, core source,
and original emulator source code.
New profiles: bsnes-jg, bsnes2014, bsnes_cplusplus98,
bsnes_hd_beta, bsnes_mercury, citra2018, citra_canary.
Key fixes:
- dosbox_svn/svn_ce: not aliases of dosbox_core (no MUNT)
- beetle_psx: alt_names renamed to aliases (field bug)
- dolphin: added 15 Realtek BT firmware for Wiimote passthrough
- dosbox_core: added CM-32LN, 13 split ROM pairs for standalone
- duckstation: type standalone+libretro, 106 BIOS verified
- snes9x/np2kai: formal aliases for alternate filenames
2026-03-19 08:09:34 +01:00
|
|
|
cores: [azahar]
|
|
|
|
|
systems:
|
|
|
|
|
- nintendo-3ds
|
feat: core profiles, data_dirs buildbot, cross_ref fix
profiles: amiberry (new), amiarcadia, atari800, azahar, b2,
bk, blastem, bluemsx, freeintv updated with source refs,
upstream field, mode field, data_directories.
_data_dirs.yml: buildbot source for retroarch platforms,
strip_components for nested ZIPs, freeintv-overlays fixed.
cross_reference.py: data_directories-aware gap analysis,
suppresses false gaps when emulator+platform share refs.
refresh_data_dirs.py: ZIP strip_components support,
for_platforms filter, ETag freshness for buildbot.
scraper: bluemsx single ref, freeintv overlays injection.
generate_pack.py: warning on missing data directory cache.
2026-03-18 21:20:02 +01:00
|
|
|
|
|
|
|
|
notes: |
|
feat: 4-source verified emulator profiles (A-E cores)
33 emulator profiles created or updated with systematic
verification against libretro docs, .info, core source,
and original emulator source code.
New profiles: bsnes-jg, bsnes2014, bsnes_cplusplus98,
bsnes_hd_beta, bsnes_mercury, citra2018, citra_canary.
Key fixes:
- dosbox_svn/svn_ce: not aliases of dosbox_core (no MUNT)
- beetle_psx: alt_names renamed to aliases (field bug)
- dolphin: added 15 Realtek BT firmware for Wiimote passthrough
- dosbox_core: added CM-32LN, 13 split ROM pairs for standalone
- duckstation: type standalone+libretro, 106 BIOS verified
- snes9x/np2kai: formal aliases for alternate filenames
2026-03-19 08:09:34 +01:00
|
|
|
Azahar is the successor to Citra (via Lime3DS). Different codebase
|
|
|
|
|
from libretro/citra — has additional files not in the old Citra.
|
|
|
|
|
Data dir: azahar-emu (legacy: citra-emu, lime3ds-emu).
|
|
|
|
|
ref: src/common/common_paths.h:41-47
|
feat: core profiles, data_dirs buildbot, cross_ref fix
profiles: amiberry (new), amiarcadia, atari800, azahar, b2,
bk, blastem, bluemsx, freeintv updated with source refs,
upstream field, mode field, data_directories.
_data_dirs.yml: buildbot source for retroarch platforms,
strip_components for nested ZIPs, freeintv-overlays fixed.
cross_reference.py: data_directories-aware gap analysis,
suppresses false gaps when emulator+platform share refs.
refresh_data_dirs.py: ZIP strip_components support,
for_platforms filter, ETag freshness for buildbot.
scraper: bluemsx single ref, freeintv overlays injection.
generate_pack.py: warning on missing data directory cache.
2026-03-18 21:20:02 +01:00
|
|
|
|
feat: 4-source verified emulator profiles (A-E cores)
33 emulator profiles created or updated with systematic
verification against libretro docs, .info, core source,
and original emulator source code.
New profiles: bsnes-jg, bsnes2014, bsnes_cplusplus98,
bsnes_hd_beta, bsnes_mercury, citra2018, citra_canary.
Key fixes:
- dosbox_svn/svn_ce: not aliases of dosbox_core (no MUNT)
- beetle_psx: alt_names renamed to aliases (field bug)
- dolphin: added 15 Realtek BT firmware for Wiimote passthrough
- dosbox_core: added CM-32LN, 13 split ROM pairs for standalone
- duckstation: type standalone+libretro, 106 BIOS verified
- snes9x/np2kai: formal aliases for alternate filenames
2026-03-19 08:09:34 +01:00
|
|
|
Key file: keys.txt (NOT aes_keys.txt like libretro/citra).
|
|
|
|
|
ref: src/common/common_paths.h:83
|
feat: core profiles, data_dirs buildbot, cross_ref fix
profiles: amiberry (new), amiarcadia, atari800, azahar, b2,
bk, blastem, bluemsx, freeintv updated with source refs,
upstream field, mode field, data_directories.
_data_dirs.yml: buildbot source for retroarch platforms,
strip_components for nested ZIPs, freeintv-overlays fixed.
cross_reference.py: data_directories-aware gap analysis,
suppresses false gaps when emulator+platform share refs.
refresh_data_dirs.py: ZIP strip_components support,
for_platforms filter, ETag freshness for buildbot.
scraper: bluemsx single ref, freeintv overlays injection.
generate_pack.py: warning on missing data directory cache.
2026-03-18 21:20:02 +01:00
|
|
|
|
feat: 4-source verified emulator profiles (A-E cores)
33 emulator profiles created or updated with systematic
verification against libretro docs, .info, core source,
and original emulator source code.
New profiles: bsnes-jg, bsnes2014, bsnes_cplusplus98,
bsnes_hd_beta, bsnes_mercury, citra2018, citra_canary.
Key fixes:
- dosbox_svn/svn_ce: not aliases of dosbox_core (no MUNT)
- beetle_psx: alt_names renamed to aliases (field bug)
- dolphin: added 15 Realtek BT firmware for Wiimote passthrough
- dosbox_core: added CM-32LN, 13 split ROM pairs for standalone
- duckstation: type standalone+libretro, 106 BIOS verified
- snes9x/np2kai: formal aliases for alternate filenames
2026-03-19 08:09:34 +01:00
|
|
|
Uses RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY.
|
|
|
|
|
ref: src/citra_libretro/environment.cpp:194
|
feat: core profiles, data_dirs buildbot, cross_ref fix
profiles: amiberry (new), amiarcadia, atari800, azahar, b2,
bk, blastem, bluemsx, freeintv updated with source refs,
upstream field, mode field, data_directories.
_data_dirs.yml: buildbot source for retroarch platforms,
strip_components for nested ZIPs, freeintv-overlays fixed.
cross_reference.py: data_directories-aware gap analysis,
suppresses false gaps when emulator+platform share refs.
refresh_data_dirs.py: ZIP strip_components support,
for_platforms filter, ETag freshness for buildbot.
scraper: bluemsx single ref, freeintv overlays injection.
generate_pack.py: warning on missing data directory cache.
2026-03-18 21:20:02 +01:00
|
|
|
|
feat: 4-source verified emulator profiles (A-E cores)
33 emulator profiles created or updated with systematic
verification against libretro docs, .info, core source,
and original emulator source code.
New profiles: bsnes-jg, bsnes2014, bsnes_cplusplus98,
bsnes_hd_beta, bsnes_mercury, citra2018, citra_canary.
Key fixes:
- dosbox_svn/svn_ce: not aliases of dosbox_core (no MUNT)
- beetle_psx: alt_names renamed to aliases (field bug)
- dolphin: added 15 Realtek BT firmware for Wiimote passthrough
- dosbox_core: added CM-32LN, 13 split ROM pairs for standalone
- duckstation: type standalone+libretro, 106 BIOS verified
- snes9x/np2kai: formal aliases for alternate filenames
2026-03-19 08:09:34 +01:00
|
|
|
.info has firmware_count=0 but core uses system_dir for files.
|
feat: core profiles, data_dirs buildbot, cross_ref fix
profiles: amiberry (new), amiarcadia, atari800, azahar, b2,
bk, blastem, bluemsx, freeintv updated with source refs,
upstream field, mode field, data_directories.
_data_dirs.yml: buildbot source for retroarch platforms,
strip_components for nested ZIPs, freeintv-overlays fixed.
cross_reference.py: data_directories-aware gap analysis,
suppresses false gaps when emulator+platform share refs.
refresh_data_dirs.py: ZIP strip_components support,
for_platforms filter, ETag freshness for buildbot.
scraper: bluemsx single ref, freeintv overlays injection.
generate_pack.py: warning on missing data directory cache.
2026-03-18 21:20:02 +01:00
|
|
|
|
feat: 4-source verified emulator profiles (A-E cores)
33 emulator profiles created or updated with systematic
verification against libretro docs, .info, core source,
and original emulator source code.
New profiles: bsnes-jg, bsnes2014, bsnes_cplusplus98,
bsnes_hd_beta, bsnes_mercury, citra2018, citra_canary.
Key fixes:
- dosbox_svn/svn_ce: not aliases of dosbox_core (no MUNT)
- beetle_psx: alt_names renamed to aliases (field bug)
- dolphin: added 15 Realtek BT firmware for Wiimote passthrough
- dosbox_core: added CM-32LN, 13 split ROM pairs for standalone
- duckstation: type standalone+libretro, 106 BIOS verified
- snes9x/np2kai: formal aliases for alternate filenames
2026-03-19 08:09:34 +01:00
|
|
|
files:
|
|
|
|
|
# --- sysdata/ ---
|
|
|
|
|
- name: keys.txt
|
|
|
|
|
path: sysdata/keys.txt
|
|
|
|
|
system: nintendo-3ds
|
|
|
|
|
required: false
|
|
|
|
|
note: "AES keys (named keys.txt in Azahar, aes_keys.txt in old Citra)"
|
|
|
|
|
source_ref: "src/common/common_paths.h:83, src/core/hw/aes/key.cpp:291"
|
|
|
|
|
|
|
|
|
|
- name: boot9.bin
|
|
|
|
|
path: sysdata/boot9.bin
|
|
|
|
|
system: nintendo-3ds
|
|
|
|
|
required: false
|
|
|
|
|
source_ref: "src/common/common_paths.h:84"
|
|
|
|
|
|
|
|
|
|
- name: sector0x96.bin
|
|
|
|
|
path: sysdata/sector0x96.bin
|
|
|
|
|
system: nintendo-3ds
|
|
|
|
|
required: false
|
|
|
|
|
source_ref: "src/common/common_paths.h:85"
|
|
|
|
|
|
|
|
|
|
- name: shared_font.bin
|
|
|
|
|
path: sysdata/shared_font.bin
|
|
|
|
|
system: nintendo-3ds
|
|
|
|
|
required: false
|
2026-03-19 12:55:03 +01:00
|
|
|
hle_fallback: true
|
feat: 4-source verified emulator profiles (A-E cores)
33 emulator profiles created or updated with systematic
verification against libretro docs, .info, core source,
and original emulator source code.
New profiles: bsnes-jg, bsnes2014, bsnes_cplusplus98,
bsnes_hd_beta, bsnes_mercury, citra2018, citra_canary.
Key fixes:
- dosbox_svn/svn_ce: not aliases of dosbox_core (no MUNT)
- beetle_psx: alt_names renamed to aliases (field bug)
- dolphin: added 15 Realtek BT firmware for Wiimote passthrough
- dosbox_core: added CM-32LN, 13 split ROM pairs for standalone
- duckstation: type standalone+libretro, 106 BIOS verified
- snes9x/np2kai: formal aliases for alternate filenames
2026-03-19 08:09:34 +01:00
|
|
|
note: "HLE fallback if missing"
|
|
|
|
|
source_ref: "src/common/common_paths.h:82"
|
|
|
|
|
|
|
|
|
|
- name: seeddb.bin
|
|
|
|
|
path: sysdata/seeddb.bin
|
|
|
|
|
system: nintendo-3ds
|
|
|
|
|
required: false
|
|
|
|
|
note: "game seed database for 9.6+ titles"
|
|
|
|
|
source_ref: "src/core/file_sys/seed_db.cpp:15"
|
|
|
|
|
|
|
|
|
|
# --- Azahar-only (not in libretro/citra) ---
|
|
|
|
|
# These require src/core/hw/unique_data.cpp which only exists in Azahar
|
|
|
|
|
|
|
|
|
|
- name: otp.bin
|
|
|
|
|
path: sysdata/otp.bin
|
|
|
|
|
system: nintendo-3ds
|
|
|
|
|
required: false
|
|
|
|
|
note: "OTP data for key derivation. Azahar-only."
|
|
|
|
|
source_ref: "src/core/hw/unique_data.cpp:214"
|
|
|
|
|
|
|
|
|
|
- name: movable.sed
|
|
|
|
|
path: nand/private/movable.sed
|
|
|
|
|
system: nintendo-3ds
|
|
|
|
|
required: false
|
|
|
|
|
note: "console-unique key seed. Azahar-only."
|
|
|
|
|
source_ref: "src/core/hw/unique_data.cpp:218"
|
|
|
|
|
|
|
|
|
|
- name: SecureInfo_A
|
|
|
|
|
path: nand/rw/sys/SecureInfo_A
|
|
|
|
|
system: nintendo-3ds
|
|
|
|
|
required: false
|
|
|
|
|
note: "console serial/region. Azahar-only."
|
|
|
|
|
source_ref: "src/core/hw/unique_data.cpp:206"
|
|
|
|
|
|
|
|
|
|
- name: LocalFriendCodeSeed_B
|
|
|
|
|
path: nand/rw/sys/LocalFriendCodeSeed_B
|
|
|
|
|
system: nintendo-3ds
|
|
|
|
|
required: false
|
|
|
|
|
note: "friend code generation. Azahar-only."
|
|
|
|
|
source_ref: "src/core/hw/unique_data.cpp:210"
|