diff --git a/emulators/xenia-edge.yml b/emulators/xenia-edge.yml
index c46cfe47..492a9112 100644
--- a/emulators/xenia-edge.yml
+++ b/emulators/xenia-edge.yml
@@ -3,7 +3,7 @@ type: standalone
core_classification: community_fork
source: "https://github.com/has207/xenia-edge"
upstream: "https://github.com/has207/xenia-edge"
-source_commit: "2fe66280ac26502261414703bc7187b77dacc8d3"
+source_commit: "62225fd74061634b17f036b87e20558bbadf05f9"
profiled_date: "2026-08-10"
core_version: "edge"
display_name: "Xenia Edge (Xbox 360)"
@@ -22,13 +22,13 @@ notes: |
into a xenia-edge component and executes bin/xenia_edge.
No Xbox 360 system file is read. xboxkrnl, xam and xbdm are C++ HLE modules
- registered at startup (emulator.cc:388-397), the XEX2 retail and devkit AES
- keys are constant arrays in the binary (xex_module.cc:58-63), and every
+ registered at startup (src/xenia/emulator.cc:382-391), the XEX2 retail and devkit AES
+ keys are constant arrays in the binary (src/xenia/cpu/xex_module.cc:61-66), and every
XConfig setting is synthesised from cvars and constants by BuildSetting
- rather than read from a flash image (xconfig.cc:87-246, 259-272). When the
+ rather than read from a flash image (src/xenia/kernel/xconfig.cc:87-246, 259-272). When the
launched title is itself a system title the kernel resolves xam.xex, then
$flash_xam.xex, through the guest filesystem under the \SystemRoot symlink
- pointing at that title's own directory (emulator.cc:718-733); that is a
+ pointing at that title's own directory (src/xenia/emulator.cc:737-752); that is a
companion module inside the dump the user launched, not a host-side lookup.
The fork's data ships inside the executable. assets/font/Inter-VariableFont
@@ -36,31 +36,31 @@ notes: |
assets/locale catalogues are compiled to .mo at configure time and bundled,
with no .mo written next to the binary (src/xenia/ui/CMakeLists.txt:48-76).
The UI font is read from that buffer with AddFontFromMemoryTTF
- (imgui_drawer.cc:367-377), and xe::EmbeddedBundle decodes the SDL controller
- mappings (sdl_input_driver.cc:148-165), the canary game patches
- (patch_db.cc:304-310), the game-compatibility master.json
- (game_compat_db.cc:47-58) and the x360db games.json (game_title_db.cc:50-60).
+ (src/xenia/ui/imgui_drawer.cc:378-388), and xe::EmbeddedBundle decodes the SDL controller
+ mappings (src/xenia/hid/sdl/sdl_input_driver.cc:148-165), the canary game patches
+ (src/xenia/patcher/patch_db.cc:304-310), the game-compatibility master.json
+ (src/xenia/app/game_compat_db.cc:47-58) and the x360db games.json (src/xenia/app/game_title_db.cc:50-60).
Three cvars accept a file and name none by default, so nothing is expected at
a fixed path: custom_font_path falls back to the embedded Inter
- (imgui_drawer.cc:39-44, 353-386), mappings_file to the embedded controller DB
- (sdl_input_driver.cc:35-38, 148-152), achievement_sound_path leaves the
- achievement sound silent (audio_helper.cc:21-24, 38-52). For glyphs the
+ (src/xenia/ui/imgui_drawer.cc:39-44, 364-397), mappings_file to the embedded controller DB
+ (src/xenia/hid/sdl/sdl_input_driver.cc:35-38, 148-152), achievement_sound_path leaves the
+ achievement sound silent (src/xenia/ui/audio_helper.cc:21-24, 38-52). For glyphs the
embedded font lacks, the host font comes from the OS: tahoma.ttf and
msgothic.ttc out of the Windows fonts folder, or the fontconfig sans-serif and
- CJK matches on Linux (imgui_drawer.cc:388-470, 472-556).
+ CJK matches on Linux (src/xenia/ui/imgui_drawer.cc:399-481, 483-567).
Everything under the storage root is written by the emulator or dropped in by
- the user: xenia-edge.config.toml and per-game .config.toml (config.cc:43-46),
- patches/*.patch.toml read on top of the embedded set (emulator.cc:383,
- patch_db.cc:34-58), plugins/
/plugins.toml behind allow_plugins,
- which defaults false (plugin_loader.cc:16-38, 58-72), content, cache0, cache1,
- scratch and mu (emulator.cc:1412-1471). portable.txt next to the executable
+ the user: xenia-edge.config.toml and per-game .config.toml (src/xenia/config.cc:43-46),
+ patches/*.patch.toml read on top of the embedded set (src/xenia/emulator.cc:377,
+ src/xenia/patcher/patch_db.cc:34-58), plugins//plugins.toml behind allow_plugins,
+ which defaults false (src/xenia/patcher/plugin_loader.cc:16-38, 58-72), content, cache0, cache1,
+ scratch and mu (src/xenia/emulator.cc:1442-1501). portable.txt next to the executable
keeps the storage root there instead of the user folder
- (src/xenia/app/xenia_main.cc:556-570).
+ (src/xenia/app/xenia_main.cc:524-538).
On Windows the Direct3D 12 and Vulkan runtimes are not in the release zip,
- which holds only the build output (.github/workflows/build.yml:416-426). The
+ which holds only the build output (.github/workflows/build.yml:500-510). The
emulator looks for them in D3D12/ and Vulkan/ beside the executable and
offers to download pinned archives from Microsoft and LunarG, gated by
d3d12_install_missing_runtime, vulkan_install_missing_loader and
@@ -79,7 +79,7 @@ files:
system: microsoft-xbox-360
required: true
description: "DXIL signer and validator from DirectX Shader Compiler 1.9.2602.24"
- source_ref: "src/xenia/ui/d3d12/d3d12_provider.cc:236-260, src/xenia/gpu/d3d12/pipeline_cache.cc:113-121, src/xenia/ui/redist_installer_wx.cc:79-86, 120-122, 174-186, 588-621"
+ source_ref: "src/xenia/ui/d3d12/d3d12_provider.cc:227-236, src/xenia/gpu/d3d12/pipeline_cache.cc:105-113, src/xenia/ui/redist_installer_wx.cc:79-87, 120-122, src/xenia/ui/redist_installer_wx.cc:174-182, src/xenia/ui/redist_installer_wx.cc:582-614"
note: >-
The only shader library the backend still needs. Loaded by full path from
the D3D12 folder next to the executable, then by plain name from the
@@ -87,8 +87,9 @@ files:
D3D12/. D3D12 rejects an unsigned shader, so PipelineCache::Initialize
stops when IsSignerAvailable() is false and asks for a recent dxil.dll in
the D3D12 folder; that failure propagates to "Failed to setup
- graphics_system!" (src/xenia/emulator.cc:427-431). Windows defaults to
- gpu = "d3d12" (src/xenia/app/xenia_main.cc:70) and the backend factory
+ graphics_system!" (src/xenia/emulator.cc:421-428). Windows defaults to
+ gpu = "d3d12" (src/xenia/emulator.cc:109, the cvar having moved
+ there beside the code that reads it) and the backend factory
only falls back when D3D12GraphicsSystem::IsAvailable() is false, which
tests the D3D12 API itself, not the redistributable. Taken from
bin/x64/dxil.dll in dxc_2026_05_27.zip of DirectXShaderCompiler release
@@ -102,7 +103,7 @@ files:
system: microsoft-xbox-360
required: true
description: "DirectX 12 Agility SDK 1.619.3 runtime"
- source_ref: "src/xenia/ui/d3d12/d3d12_provider.cc:325-336, src/xenia/ui/windowed_app_main_win.cc:25-28, src/xenia/ui/redist_installer_wx.cc:87-93, 123-126, 631-676"
+ source_ref: "src/xenia/ui/d3d12/d3d12_provider.cc:263-274, src/xenia/ui/windowed_app_main_win.cc:25-28, src/xenia/ui/redist_installer_wx.cc:88-94, 123-126, src/xenia/ui/redist_installer_wx.cc:623-668"
note: >-
The binary exports D3D12SDKVersion 619 and D3D12SDKPath ".\D3D12\", so
d3d12.dll loads it at the first device creation. The provider checks for
@@ -118,7 +119,7 @@ files:
system: microsoft-xbox-360
required: false
description: "Direct3D 12 debug layer from Agility SDK 1.619.3"
- source_ref: "src/xenia/ui/d3d12/d3d12_provider.cc:357-385, src/xenia/ui/redist_installer_wx.cc:127-134, 678-723"
+ source_ref: "src/xenia/ui/d3d12/d3d12_provider.cc:295-323, src/xenia/ui/redist_installer_wx.cc:127-134, src/xenia/ui/redist_installer_wx.cc:670-715"
note: >-
Reached only when d3d12_debug is set, which defaults false
(src/xenia/ui/d3d12/d3d12_provider.cc:23). Fetching it re-extracts D3D12Core.dll alongside,
@@ -132,7 +133,7 @@ files:
system: microsoft-xbox-360
required: false
description: "Khronos Vulkan loader 1.4.350.0 for the Vulkan backend on Windows"
- source_ref: "src/xenia/ui/vulkan/vulkan_instance.cc:84-99, src/xenia/ui/redist_installer_wx.cc:95-105, 138-142, 725-764"
+ source_ref: "src/xenia/ui/vulkan/vulkan_instance.cc:84-99, src/xenia/ui/redist_installer_wx.cc:96-106, 138-142, src/xenia/ui/redist_installer_wx.cc:717-756"
note: >-
Read only when the Vulkan backend is selected, and the plain-name load
that follows finds the copy GPU drivers install system-wide, so the folder
@@ -149,7 +150,7 @@ files:
required: false
validation: [signature]
description: "Microsoft Visual C++ 2015-2022 redistributable installer"
- source_ref: "src/xenia/app/xenia_main.cc:578-582, src/xenia/ui/redist_installer_wx.cc:144-172, 379-409, 766-875"
+ source_ref: "src/xenia/app/xenia_main.cc:546-550, src/xenia/ui/redist_installer_wx.cc:144-172, src/xenia/ui/redist_installer_wx.cc:373-403, src/xenia/ui/redist_installer_wx.cc:758-867"
note: >-
Not loaded by the emulator. The runtime version is read from
HKLM\SOFTWARE\Microsoft\VisualStudio\14.0\VC\Runtimes\x64, and when it is