fix: re-read emucorex and armsx2 at head

This commit is contained in:
Abdessamad Derraz committed 2026-10-04 17:26:02 +02:00
1 parent ee417e547c
commit 3427c44928
4 files changed
+446 -307

No files matched your search

+252 -143
View File
@@ -4,9 +4,9 @@ core_classification: community_fork
bios_mode: agnostic bios_mode: agnostic
source: "https://github.com/ARMSX2/ARMSX2" source: "https://github.com/ARMSX2/ARMSX2"
upstream: "https://github.com/PCSX2/pcsx2" upstream: "https://github.com/PCSX2/pcsx2"
profiled_date: "2026-08-11" profiled_date: "2026-10-04"
source_commit: "6e884f11f486bca258efd2470ac09ad4c36a5a4b" source_commit: "d383b3636947565d9201f81e32178d0288623d8d"
core_version: "2.6.6.5" core_version: "2.8"
display_name: "Sony - PlayStation 2 (ARMSX2)" display_name: "Sony - PlayStation 2 (ARMSX2)"
cores: cores:
- armsx2 - armsx2
@@ -22,7 +22,7 @@ notes: |
EE, IOP, VU and vtlb fast memory recompilers with native AArch64 ones. One tree EE, IOP, VU and vtlb fast memory recompilers with native AArch64 ones. One tree
builds the Android application com.armsx2, an iOS package, macOS, Windows and builds the Android application com.armsx2, an iOS package, macOS, Windows and
Linux on arm64, an SDL handheld frontend, and a libretro core. Linux on arm64, an SDL handheld frontend, and a libretro core.
ref: README.md:1-24, platforms/android/app/build.gradle.kts:17-74, ref: README.md:1-24, platforms/android/app/build.gradle.kts:42, platforms/android/app/build.gradle.kts:110-124,
.github/workflows/build-all.yml:79-85 .github/workflows/build-all.yml:79-85
A BIOS image is required and boot stops without one: LoadBIOS returning false A BIOS image is required and boot stops without one: LoadBIOS returning false
@@ -31,22 +31,35 @@ notes: |
directory, bios by default, and on Android the setup wizard keeps it in directory, bios by default, and on Android the setup wizard keeps it in
app-private storage because the native file APIs cannot reliably open a dump off app-private storage because the native file APIs cannot reliably open a dump off
a SAF volume. a SAF volume.
ref: pcsx2/ps2/BiosTools.cpp:332-348, pcsx2/VMManager.cpp:1592-1607, ref: pcsx2/ps2/BiosTools.cpp:408-432, pcsx2/VMManager.cpp:2003-2023,
pcsx2/Pcsx2Config.cpp:2498, pcsx2/Pcsx2Config.cpp:2554,
platforms/android/app/src/main/java/kr/co/iefriends/pcsx2/NativeApp.java:82-93 platforms/android/app/src/main/java/kr/co/iefriends/pcsx2/NativeApp.java:80-92
Detection is by content. The scan lists the BIOS folder, keeps files between 4 Detection is by content. The scan lists the BIOS folder, keeps files between 4
and 8 MB, and accepts an image whose romdir carries a RESET entry followed by a and 8 MB, and accepts an image whose romdir carries a RESET entry followed by a
readable ROMVER; the fifth ROMVER character gives the zone among Japan, USA, readable ROMVER; the fifth ROMVER character gives the zone among Japan, USA,
Europe, Asia, China, T10K, COH-H, Test and Free, and an EXTINFO entry supplies Europe, Asia, China, T10K, COH-H, Test and Free, and an EXTINFO entry supplies
the serial. An image named in the configuration is opened at its own path, the serial. The console scan passes over a COH-H image. An image named in the
without the size filter. No name and no hash is matched anywhere. The image is configuration is opened at its own path, without the size filter. No name and
read into the 4 MB ROM region and truncated to it, and one shorter than 2465792 no hash is matched anywhere. The image is read into the 4 MB ROM region and
bytes turns off the OSDSys parameter HLE. IsBIOSFromFd runs the same romdir test truncated to it, and one shorter than 2465792 bytes turns off the OSDSys
on a file descriptor, which is how the Android picker identifies a dump handed parameter HLE. IsBIOSFromFd runs the same romdir test on a file descriptor,
over by the storage framework. which is how the Android picker identifies a dump handed over by the storage
ref: pcsx2/ps2/BiosTools.cpp:16-17, pcsx2/ps2/BiosTools.cpp:80-197, framework.
pcsx2/ps2/BiosTools.cpp:258-309, pcsx2/ps2/BiosTools.cpp:350-373 ref: pcsx2/ps2/BiosTools.cpp:17-18, pcsx2/ps2/BiosTools.cpp:81-211,
pcsx2/ps2/BiosTools.cpp:329-385, pcsx2/ps2/BiosTools.cpp:434-457
An arcade session, opened from an .acgame manifest carrying an NM game id,
takes a Namco System 246 or 256 board BIOS instead. Filenames/ArcadeBIOS names
it; when that is empty or is not a COH-H image the BIOS folder is scanned for
images between 2 and 8 MB whose zone is COH-H, the one with EXTINFO serial
20040519-145634, the System 256 board, being preferred. Boot stops when none is
found. The boot ELF, the media image and the SRAM the manifest names are
per-title content resolved beside it, and its dongle and second card are looked
up in the memory cards folder.
ref: pcsx2/ps2/BiosTools.cpp:272-327, pcsx2/ps2/BiosTools.cpp:412-419,
pcsx2/VMManager.cpp:834-847, pcsx2/VMManager.cpp:1615-1750,
pcsx2/VMManager.cpp:2006-2013
Companions derive from the selected image. rom1 and rom2 are appended to the Companions derive from the selected image. rom1 and rom2 are appended to the
full name first, then substituted for the existing extension, so an image at full name first, then substituted for the existing extension, so an image at
@@ -55,52 +68,57 @@ notes: |
are 4 MB here. The nvm and the mec are read at the substituted extension only; are 4 MB here. The nvm and the mec are read at the substituted extension only;
the nvm is rebuilt in memory with region and language defaults when it is the nvm is rebuilt in memory with region and language defaults when it is
missing or its config block is blank, and the mec is written back to disk as missing or its config block is blank, and the mec is written back to disk as
0x00020603 when it cannot be read. 0x00020603, or 0x0104020a in an arcade session, when it cannot be read.
ref: pcsx2/ps2/BiosTools.cpp:214-241, pcsx2/ps2/BiosTools.cpp:381-397, ref: pcsx2/ps2/BiosTools.cpp:228-255, pcsx2/ps2/BiosTools.cpp:465-481,
pcsx2/MemoryTypes.h:12-14, pcsx2/CDVD/CDVD.cpp:46-60, pcsx2/MemoryTypes.h:12-14, pcsx2/CDVD/CDVD.cpp:48-64,
pcsx2/CDVD/CDVD.cpp:147-214 pcsx2/CDVD/CDVD.cpp:150-221
The network adapter opens eeprom.dat and flash.dat from the working directory, The network adapter opens eeprom.dat and flash.dat from the working directory,
standing in a compiled-in image for the first and a card filled with 0xFF for standing in a compiled-in image for the first and a card filled with 0xFF for
the second. DEV9hdd.raw is the default name of the empty disk image the settings the second. DEV9hdd.raw is the default name of the empty disk image the settings
page writes, and memory cards, save states and screenshots are likewise produced page writes, and memory cards, save states and screenshots are likewise produced
by the emulator rather than read from a distribution. by the emulator rather than read from a distribution.
ref: pcsx2/DEV9/DEV9.cpp:109-160, pcsx2/DEV9/flash.cpp:8-16, ref: pcsx2/DEV9/DEV9.cpp:224-275, pcsx2/DEV9/flash.cpp:8-16,
pcsx2/DEV9/flash.cpp:62-86, pcsx2/DEV9/DEV9.h:31-33 pcsx2/DEV9/flash.cpp:62-86, pcsx2/DEV9/DEV9.h:31-33
An IRX named in the configuration is read into the ROM region at 0x3C0000 once An IRX named in the configuration is read into the ROM region at 0x3C0000 once
the IOP reaches 0x1630. The field is empty by default and names no file of its the IOP reaches 0x1630. The field is empty by default and names no file of its
own. own.
ref: pcsx2/ps2/BiosTools.cpp:243-256, pcsx2/ps2/BiosTools.cpp:399-400, ref: pcsx2/ps2/BiosTools.cpp:257-270, pcsx2/ps2/BiosTools.cpp:483-484,
pcsx2/R3000AInterpreter.cpp:220 pcsx2/R3000AInterpreter.cpp:223, pcsx2/arm64/iR3000A-arm64.cpp:1283
Everything under the resources folder is read at its own name from Everything under the resources folder is read at its own name from
EmuFolders::Resources, and GetOverridableResourcePath lets a copy in EmuFolders::Resources, and GetOverridableResourcePath lets a copy in
UserResources take precedence. The standalone builds carry the folder with them, UserResources take precedence. The standalone builds carry the folder with them,
the Android application unpacks it from its assets and force-refreshes the the Android application unpacks it from its assets and force-refreshes the
shaders and the two game databases on update because a stale copy no longer shaders and the two game databases on update because a stale copy no longer
matches the binary. The libretro core ships as a bare shared object and reads matches the binary. The libretro core reads the same tree from
the same tree from <system>/pcsx2/resources, with the BIOS folder at <system>/pcsx2/resources, with the BIOS folder at <system>/pcsx2/bios. Its build
<system>/pcsx2/bios, so a libretro user supplies both. also compiles in the shaders under shaders/common, shaders/opengl and
ref: pcsx2/Pcsx2Config.cpp:2348-2357, pcsx2/Pcsx2Config.cpp:2507, shaders/vulkan, GameIndex.yaml and a patches.zip fetched at configure time; the
pcsx2/Pcsx2Config.cpp:2584-2598, pcsx2-libretro/Main.cpp:157-158, copy in the resources folder wins and the compiled-in one stands in when the
pcsx2-libretro/Main.cpp:1000, file is absent.
ref: pcsx2/Pcsx2Config.cpp:2400-2414, pcsx2/Pcsx2Config.cpp:2563,
pcsx2/Pcsx2Config.cpp:2637-2651, pcsx2-libretro/Main.cpp:180-181,
pcsx2-libretro/Main.cpp:1101,
platforms/android/app/src/main/java/kr/co/iefriends/pcsx2/MainActivity.java:60-61, platforms/android/app/src/main/java/kr/co/iefriends/pcsx2/MainActivity.java:60-61,
platforms/android/app/src/main/java/kr/co/iefriends/pcsx2/MainActivity.java:355-372 platforms/android/app/src/main/java/kr/co/iefriends/pcsx2/MainActivity.java:370-387,
pcsx2/CMakeLists.txt:1477-1496, pcsx2/CMakeLists.txt:1531-1533,
pcsx2/GS/Renderers/Common/GSDevice.cpp:528-540,
pcsx2/GameDatabase.cpp:1314-1324, pcsx2/Patch.cpp:303-325
Missing resources are not uniformly survivable. A font that cannot be read fails Missing resources are not uniformly survivable. A font that cannot be read is
LoadFontData, which fails ImGuiManager::Initialize and tears the GS device down, logged and skipped, LoadFontData succeeding regardless. A shader source that
whichever renderer is running. A shader source that cannot be read fails the cannot be read fails the pipeline compile and the device with it, but only for
pipeline compile and the device with it, but only for the backend that reads it, the backend that reads it, and the renderer setting picks among OpenGL, Vulkan,
and the renderer setting picks among OpenGL, Vulkan and, on Windows, Direct3D 11 Direct3D 11 and 12 on Windows and Metal on Apple systems. The caught failures
and 12. Vulkan is the only backend the Android, iOS and libretro builds have, so are the three Vulkan compute pipelines, sharpening, FSR1 and SGSR, which turn
its sources are the ones no session can do without. The single caught failure is themselves off. The databases, the patch archive, the controller mappings, the
the Vulkan sharpening pipeline, which turns itself off. The databases, the patch sounds and the interface artwork degrade instead.
archive, the controller mappings, the sounds and the interface artwork degrade ref: pcsx2/ImGui/ImGuiManager.cpp:155-160, pcsx2/ImGui/ImGuiManager.cpp:509-525,
instead. pcsx2/ImGui/ImGuiManager.cpp:527-570,
ref: pcsx2/ImGui/ImGuiManager.cpp:155-160, pcsx2/ImGui/ImGuiManager.cpp:501-575, pcsx2/GS/GS.cpp:97-133, pcsx2/GS/GS.cpp:175-194,
pcsx2/GS/GS.cpp:88-110, pcsx2/GS/GS.cpp:160-179, pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:3056-3094
pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:2593-2612
The Qt builds resolve a per-script interface font by filename, first under The Qt builds resolve a per-script interface font by filename, first under
UserResources then under the resources folder, and download the first entry of UserResources then under the resources folder, and download the first entry of
@@ -123,8 +141,45 @@ files:
Any image whose romdir holds RESET and ROMVER is accepted, whatever its Any image whose romdir holds RESET and ROMVER is accepted, whatever its
name. The 4 to 8 MB range gates the folder scan; an image named in the name. The 4 to 8 MB range gates the folder scan; an image named in the
configuration skips that range. Read into the 4 MB ROM region and truncated configuration skips that range. Read into the 4 MB ROM region and truncated
to it. Shorter than 2465792 bytes disables the OSDSys parameter HLE. to it. Shorter than 2465792 bytes disables the OSDSys parameter HLE. A
source_ref: "pcsx2/ps2/BiosTools.cpp:16-17, pcsx2/ps2/BiosTools.cpp:80-197, pcsx2/ps2/BiosTools.cpp:258-294, pcsx2/ps2/BiosTools.cpp:332-373" COH-H image is passed over by the console scan.
source_ref: "pcsx2/ps2/BiosTools.cpp:17-18, pcsx2/ps2/BiosTools.cpp:81-211, pcsx2/ps2/BiosTools.cpp:329-358, pcsx2/ps2/BiosTools.cpp:408-468"
- name: r27v1602f.8g
path: pcsx2/bios/r27v1602f.8g
standalone_path: bios/r27v1602f.8g
agnostic: true
required: false
min_size: 2097152
max_size: 8388608
validation: [size]
config_key: "Filenames/ArcadeBIOS"
description: "Namco System 256 board BIOS"
note: >-
Read by arcade sessions only, which cannot boot without a COH-H image.
Found by content, whatever its name: the BIOS folder is scanned for images
between 2 and 8 MB whose ROMVER zone is COH-H, and the scan stops at the
one whose EXTINFO serial is 20040519-145634, the System 256 board, which
also runs System 246 games. A configured arcade BIOS that is not COH-H is
set aside for that scan. The name is the board position the 2 MB chip
dump carries.
source_ref: "pcsx2/ps2/BiosTools.cpp:272-327, pcsx2/ps2/BiosTools.cpp:412-432, pcsx2/VMManager.cpp:834-838, pcsx2/VMManager.cpp:2006-2013"
- name: r27v1602f.7d
path: pcsx2/bios/r27v1602f.7d
standalone_path: bios/r27v1602f.7d
agnostic: true
required: false
min_size: 2097152
max_size: 8388608
validation: [size]
config_key: "Filenames/ArcadeBIOS"
description: "Namco System 246 board BIOS"
note: >-
The other COH-H image the same scan accepts, taken when no System 256
image is in the folder. The System 246 Rack C board carries EXTINFO serial
20021119-163841.
source_ref: "pcsx2/ps2/BiosTools.cpp:176-183, pcsx2/ps2/BiosTools.cpp:272-327, pcsx2/ps2/BiosTools.cpp:412-432"
- name: ps2-0230a-20080220.rom1 - name: ps2-0230a-20080220.rom1
path: pcsx2/bios/ps2-0230a-20080220.rom1 path: pcsx2/bios/ps2-0230a-20080220.rom1
@@ -136,7 +191,7 @@ files:
Tried as {bios}.rom1 then {biosbase}.rom1, with a case-insensitive retry on Tried as {bios}.rom1 then {biosbase}.rom1, with a case-insensitive retry on
the open. Copied to the ROM1 region and truncated to 4 MB. Logged and the open. Copied to the ROM1 region and truncated to 4 MB. Logged and
skipped when absent. skipped when absent.
source_ref: "pcsx2/ps2/BiosTools.cpp:214-241, pcsx2/ps2/BiosTools.cpp:381, pcsx2/ps2/BiosTools.cpp:386-397, pcsx2/MemoryTypes.h:13" source_ref: "pcsx2/ps2/BiosTools.cpp:228-255, pcsx2/ps2/BiosTools.cpp:465, pcsx2/ps2/BiosTools.cpp:470-481, pcsx2/MemoryTypes.h:13"
- name: ps2-0230a-20080220.rom2 - name: ps2-0230a-20080220.rom2
aliases: aliases:
@@ -149,7 +204,7 @@ files:
note: >- note: >-
Same two-step naming as rom1. Copied to the ROM2 region, which is 4 MB in Same two-step naming as rom1. Copied to the ROM2 region, which is 4 MB in
this tree. Only present on Chinese region consoles. this tree. Only present on Chinese region consoles.
source_ref: "pcsx2/ps2/BiosTools.cpp:214-241, pcsx2/ps2/BiosTools.cpp:382, pcsx2/ps2/BiosTools.cpp:386-397, pcsx2/MemoryTypes.h:14" source_ref: "pcsx2/ps2/BiosTools.cpp:228-255, pcsx2/ps2/BiosTools.cpp:466, pcsx2/ps2/BiosTools.cpp:470-481, pcsx2/MemoryTypes.h:14"
- name: ps2-0230a-20080220.nvm - name: ps2-0230a-20080220.nvm
path: pcsx2/bios/ps2-0230a-20080220.nvm path: pcsx2/bios/ps2-0230a-20080220.nvm
@@ -163,8 +218,9 @@ files:
console id, the iLink id, the MAC, the model number and the OSD console id, the iLink id, the MAC, the model number and the OSD
configuration. A 1024 byte image is built in memory when the file is absent, configuration. A 1024 byte image is built in memory when the file is absent,
short, or carries a blank config block, zeroed except for a fixed iLink id short, or carries a blank config block, zeroed except for a fixed iLink id
and the language and region defaults of the BIOS region. and the language and region defaults of the BIOS region. An arcade session
source_ref: "pcsx2/CDVD/CDVD.cpp:46-47, pcsx2/CDVD/CDVD.cpp:147-200" skips the blank-block test and fills the built image with 0xFF instead.
source_ref: "pcsx2/CDVD/CDVD.cpp:48-49, pcsx2/CDVD/CDVD.cpp:150-204"
- name: ps2-0230a-20080220.mec - name: ps2-0230a-20080220.mec
path: pcsx2/bios/ps2-0230a-20080220.mec path: pcsx2/bios/ps2-0230a-20080220.mec
@@ -175,8 +231,9 @@ files:
description: "Mechacon version" description: "Mechacon version"
note: >- note: >-
Read at the BIOS path with the extension replaced by mec. Defaults to Read at the BIOS path with the extension replaced by mec. Defaults to
0x00020603 and is written back at that path when it cannot be read. 0x00020603, or 0x0104020a in an arcade session, and is written back at that
source_ref: "pcsx2/CDVD/CDVD.cpp:60, pcsx2/CDVD/CDVD.cpp:201-214" path when it cannot be read.
source_ref: "pcsx2/CDVD/CDVD.cpp:62-63, pcsx2/CDVD/CDVD.cpp:206-219"
- name: eeprom.dat - name: eeprom.dat
required: false required: false
@@ -187,7 +244,7 @@ files:
Opened from the working directory when the network adapter starts and mapped Opened from the working directory when the network adapter starts and mapped
over 64 bytes. A compiled-in image stands in when the file is missing or over 64 bytes. A compiled-in image stands in when the file is missing or
cannot be mapped. cannot be mapped.
source_ref: "pcsx2/DEV9/DEV9.cpp:60, pcsx2/DEV9/DEV9.cpp:109-160" source_ref: "pcsx2/DEV9/DEV9.cpp:77, pcsx2/DEV9/DEV9.cpp:224-275"
- name: flash.dat - name: flash.dat
required: false required: false
@@ -208,7 +265,7 @@ files:
note: >- note: >-
Read into the ROM region at 0x3C0000 when the IOP program counter reaches Read into the ROM region at 0x3C0000 when the IOP program counter reaches
0x1630 and the setting is longer than three characters. Empty by default. 0x1630 and the setting is longer than three characters. Empty by default.
source_ref: "pcsx2/ps2/BiosTools.cpp:243-256, pcsx2/ps2/BiosTools.cpp:399-400, pcsx2/R3000AInterpreter.cpp:220, pcsx2/Config.h:1601" source_ref: "pcsx2/ps2/BiosTools.cpp:257-270, pcsx2/ps2/BiosTools.cpp:483-484, pcsx2/R3000AInterpreter.cpp:223, pcsx2/arm64/iR3000A-arm64.cpp:1283, pcsx2/Config.h:1671"
- name: GameIndex.yaml - name: GameIndex.yaml
path: pcsx2/resources/GameIndex.yaml path: pcsx2/resources/GameIndex.yaml
@@ -218,8 +275,9 @@ files:
description: "Game database" description: "Game database"
note: >- note: >-
Read from the resources folder, keyed by serial, carrying the per-game Read from the resources folder, keyed by serial, carrying the per-game
fixes, patches and settings overrides. Parsed once on first lookup. fixes, patches and settings overrides. Parsed once on first lookup. The
source_ref: "pcsx2/GameDatabase.cpp:43, pcsx2/GameDatabase.cpp:1205-1210" libretro build falls back on a compiled-in copy when the file is absent.
source_ref: "pcsx2/GameDatabase.cpp:47, pcsx2/GameDatabase.cpp:1373-1378, pcsx2/GameDatabase.cpp:1314-1324"
- name: armsx2_overrides.yaml - name: armsx2_overrides.yaml
path: pcsx2/resources/armsx2_overrides.yaml path: pcsx2/resources/armsx2_overrides.yaml
@@ -232,7 +290,7 @@ files:
declares. Carries GS and JIT tuning correct on tiler GPUs. Kept outside the declares. Carries GS and JIT tuning correct on tiler GPUs. Kept outside the
shipped resources folder and copied in only for arm64 Linux, Android and shipped resources folder and copied in only for arm64 Linux, Android and
iOS; the loader no-ops where it is absent. iOS; the loader no-ops where it is absent.
source_ref: "pcsx2/GameDatabase.cpp:50, pcsx2/GameDatabase.cpp:1211-1214, cmake/BuildParameters.cmake:186-200, pcsx2/CMakeLists.txt:1441-1451, platforms/android/app/build.gradle.kts:40-48" source_ref: "pcsx2/GameDatabase.cpp:54, pcsx2/GameDatabase.cpp:1379-1382, cmake/BuildParameters.cmake:227-240, pcsx2/CMakeLists.txt:1828-1837, platforms/android/app/build.gradle.kts:73-85"
- name: RedumpDatabase.yaml - name: RedumpDatabase.yaml
path: pcsx2/resources/RedumpDatabase.yaml path: pcsx2/resources/RedumpDatabase.yaml
@@ -243,7 +301,7 @@ files:
note: >- note: >-
Loaded on the first hash lookup and used to tell the user whether a dump Loaded on the first hash lookup and used to tell the user whether a dump
matches a known good one. Read by the Qt game summary page. matches a known good one. Read by the Qt game summary page.
source_ref: "pcsx2/GameDatabase.cpp:1278, pcsx2/GameDatabase.cpp:1328-1345, pcsx2-qt/Settings/GameSummaryWidget.cpp:322" source_ref: "pcsx2/GameDatabase.cpp:1461, pcsx2/GameDatabase.cpp:1511-1526, pcsx2-qt/Settings/GameSummaryWidget.cpp:325"
- name: patches.zip - name: patches.zip
path: pcsx2/resources/patches.zip path: pcsx2/resources/patches.zip
@@ -255,8 +313,9 @@ files:
Per-game pnach entries matched on serial and disc CRC. The patches and Per-game pnach entries matched on serial and disc CRC. The patches and
cheats folders take precedence over the archive. Fetched from the cheats folders take precedence over the archive. Fetched from the
pcsx2_patches releases at build time for the desktop builds and committed pcsx2_patches releases at build time for the desktop builds and committed
for Android and iOS. for Android and iOS. The libretro build compiles in the copy it fetches at
source_ref: "pcsx2/Patch.cpp:118, pcsx2/Patch.cpp:290-318, pcsx2/Patch.cpp:425-435, .github/workflows/linux_build_qt.yml:33" configure time and opens it when the file is absent.
source_ref: "pcsx2/Patch.cpp:122, pcsx2/Patch.cpp:294-345, pcsx2/Patch.cpp:452-464, .github/workflows/linux_build_qt.yml:33"
- name: game_controller_db.txt - name: game_controller_db.txt
path: pcsx2/resources/game_controller_db.txt path: pcsx2/resources/game_controller_db.txt
@@ -268,48 +327,49 @@ files:
A copy in the data root wins, then the resources folder, and the path is A copy in the data root wins, then the resources folder, and the path is
handed to SDL as a hint. SDL falls back to its built-in mappings when handed to SDL as a hint. SDL falls back to its built-in mappings when
neither exists. neither exists.
source_ref: "pcsx2/Input/SDLInputSource.cpp:24, pcsx2/Input/SDLInputSource.cpp:614-627" source_ref: "pcsx2/Input/SDLInputSource.cpp:24, pcsx2/Input/SDLInputSource.cpp:699-713"
- name: Roboto-Regular.ttf - name: Roboto-Regular.ttf
path: pcsx2/resources/fonts/Roboto-Regular.ttf path: pcsx2/resources/fonts/Roboto-Regular.ttf
standalone_path: resources/fonts/Roboto-Regular.ttf standalone_path: resources/fonts/Roboto-Regular.ttf
required: true required: false
bundled: true bundled: true
description: "Interface font" description: "Interface font"
note: >- note: >-
Seeded as the standard font when no language layer supplied one, which is Seeded as the standard font when no language layer supplied one, which is
always the case on Android. LoadFontData fails without it and the GS device always the case on Android. A missing file is logged and the font list is
is torn down. left empty.
source_ref: "pcsx2/ImGui/ImGuiManager.cpp:501-523, pcsx2/ImGui/ImGuiManager.cpp:155-160, pcsx2/GS/GS.cpp:160-179" source_ref: "pcsx2/ImGui/ImGuiManager.cpp:509-525, pcsx2/ImGui/ImGuiManager.cpp:533-543, pcsx2/ImGui/ImGuiManager.cpp:155-160, pcsx2/GS/GS.cpp:175-194"
- name: RobotoMono-Medium.ttf - name: RobotoMono-Medium.ttf
path: pcsx2/resources/fonts/RobotoMono-Medium.ttf path: pcsx2/resources/fonts/RobotoMono-Medium.ttf
standalone_path: resources/fonts/RobotoMono-Medium.ttf standalone_path: resources/fonts/RobotoMono-Medium.ttf
required: true required: false
bundled: true bundled: true
description: "Fixed-width interface font" description: "Fixed-width interface font"
note: >- note: >-
Read for the fixed-width font. LoadFontData fails without it. Also the Read for the fixed-width font, the standard font standing in when it is
initial path the fullscreen interface offers when picking a custom OSD font. missing. Also the initial path the fullscreen interface offers when picking
source_ref: "pcsx2/ImGui/ImGuiManager.cpp:544-552, pcsx2/ImGui/FullscreenUI_Settings.cpp:3417" a custom OSD font.
source_ref: "pcsx2/ImGui/ImGuiManager.cpp:509-525, pcsx2/ImGui/ImGuiManager.cpp:565, pcsx2/ImGui/FullscreenUI_Settings.cpp:3533"
- name: fa-solid-900.ttf - name: fa-solid-900.ttf
path: pcsx2/resources/fonts/fa-solid-900.ttf path: pcsx2/resources/fonts/fa-solid-900.ttf
standalone_path: resources/fonts/fa-solid-900.ttf standalone_path: resources/fonts/fa-solid-900.ttf
required: true required: false
bundled: true bundled: true
description: "Font Awesome icon font" description: "Font Awesome icon font"
note: "Read for the interface icon glyphs. LoadFontData fails without it." note: "Read for the interface icon glyphs. A missing file is logged and skipped."
source_ref: "pcsx2/ImGui/ImGuiManager.cpp:554-562" source_ref: "pcsx2/ImGui/ImGuiManager.cpp:509-525, pcsx2/ImGui/ImGuiManager.cpp:566"
- name: promptfont.otf - name: promptfont.otf
path: pcsx2/resources/fonts/promptfont.otf path: pcsx2/resources/fonts/promptfont.otf
standalone_path: resources/fonts/promptfont.otf standalone_path: resources/fonts/promptfont.otf
required: true required: false
bundled: true bundled: true
description: "Controller prompt font" description: "Controller prompt font"
note: "Read for the controller button glyphs. LoadFontData fails without it." note: "Read for the controller button glyphs. A missing file is logged and skipped."
source_ref: "pcsx2/ImGui/ImGuiManager.cpp:564-572" source_ref: "pcsx2/ImGui/ImGuiManager.cpp:509-525, pcsx2/ImGui/ImGuiManager.cpp:567"
- name: Twemoji.Mozilla.ttf - name: Twemoji.Mozilla.ttf
path: pcsx2/resources/fonts/Twemoji.Mozilla.ttf path: pcsx2/resources/fonts/Twemoji.Mozilla.ttf
@@ -320,19 +380,8 @@ files:
note: >- note: >-
First entry of the emoji script table, resolved under UserResources then the First entry of the emoji script table, resolved under UserResources then the
resources folder and downloaded into UserResources/fonts when neither holds resources folder and downloaded into UserResources/fonts when neither holds
it. it. Read by the Qt builds only; the Android asset step leaves it out.
source_ref: "pcsx2-qt/Translations.cpp:340-347, pcsx2-qt/Translations.cpp:407-424, pcsx2-qt/Translations.cpp:541-549" source_ref: "pcsx2-qt/Translations.cpp:340-347, pcsx2-qt/Translations.cpp:407-424, pcsx2-qt/Translations.cpp:541-549, platforms/android/app/build.gradle.kts:79-81"
- name: NotoColorEmoji-Regular.ttf
path: pcsx2/resources/fonts/NotoColorEmoji-Regular.ttf
standalone_path: resources/fonts/NotoColorEmoji-Regular.ttf
required: false
bundled: true
description: "Android emoji font"
note: >-
Committed under the Android asset tree and unpacked with the rest of the
resources folder. Rendered by the Compose interface.
source_ref: "platforms/android/app/src/main/assets/resources/fonts/NotoColorEmoji-Regular.ttf, platforms/android/app/src/main/java/com/armsx2/ui/emulation/EmulationMenuScreen.kt:507"
- name: NotoSansJP-Regular.ttf - name: NotoSansJP-Regular.ttf
path: pcsx2/resources/fonts/NotoSansJP-Regular.ttf path: pcsx2/resources/fonts/NotoSansJP-Regular.ttf
@@ -400,10 +449,10 @@ files:
bundled: true bundled: true
description: "Vulkan texture function shader" description: "Vulkan texture function shader"
note: >- note: >-
Compiled at device creation. The Vulkan backend is the only one the Android, Compiled at device creation. A source that cannot be read fails the
iOS and libretro builds use, and a source that cannot be read fails the pipeline compile and the Vulkan device with it. The libretro build falls
pipeline compile and the device with it. back on a compiled-in copy of every shader source.
source_ref: "pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:2568, pcsx2/GS/Renderers/Common/GSDevice.cpp:422-425" source_ref: "pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:3031-3036, pcsx2/GS/Renderers/Common/GSDevice.cpp:528-540"
- name: convert.glsl - name: convert.glsl
path: pcsx2/resources/shaders/vulkan/convert.glsl path: pcsx2/resources/shaders/vulkan/convert.glsl
@@ -411,7 +460,7 @@ files:
required: true required: true
bundled: true bundled: true
description: "Vulkan conversion shader" description: "Vulkan conversion shader"
source_ref: "pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:5521-5527, pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:5877" source_ref: "pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:6174-6179, pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:6537-6542"
- name: present.glsl - name: present.glsl
path: pcsx2/resources/shaders/vulkan/present.glsl path: pcsx2/resources/shaders/vulkan/present.glsl
@@ -419,7 +468,7 @@ files:
required: true required: true
bundled: true bundled: true
description: "Vulkan presentation shader" description: "Vulkan presentation shader"
source_ref: "pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:5706" source_ref: "pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:6366-6370"
- name: merge.glsl - name: merge.glsl
path: pcsx2/resources/shaders/vulkan/merge.glsl path: pcsx2/resources/shaders/vulkan/merge.glsl
@@ -427,7 +476,7 @@ files:
required: true required: true
bundled: true bundled: true
description: "Vulkan merge shader" description: "Vulkan merge shader"
source_ref: "pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:5807" source_ref: "pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:6467-6471"
- name: interlace.glsl - name: interlace.glsl
path: pcsx2/resources/shaders/vulkan/interlace.glsl path: pcsx2/resources/shaders/vulkan/interlace.glsl
@@ -435,7 +484,7 @@ files:
required: true required: true
bundled: true bundled: true
description: "Vulkan interlace shader" description: "Vulkan interlace shader"
source_ref: "pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:5756" source_ref: "pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:6416-6420"
- name: shadeboost.glsl - name: shadeboost.glsl
path: pcsx2/resources/shaders/vulkan/shadeboost.glsl path: pcsx2/resources/shaders/vulkan/shadeboost.glsl
@@ -446,7 +495,7 @@ files:
note: >- note: >-
Compiled by the post-processing pass, which runs unconditionally in the Compiled by the post-processing pass, which runs unconditionally in the
device creation chain, so a source that cannot be read fails the device. device creation chain, so a source that cannot be read fails the device.
source_ref: "pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:5857, pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:5911-5917, pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:2593-2598" source_ref: "pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:6517, pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:6572-6577, pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:3056-3061"
- name: cas.glsl - name: cas.glsl
path: pcsx2/resources/shaders/vulkan/cas.glsl path: pcsx2/resources/shaders/vulkan/cas.glsl
@@ -458,7 +507,30 @@ files:
Includes ffx_a.h and ffx_cas.h. The only shader whose compile failure is Includes ffx_a.h and ffx_cas.h. The only shader whose compile failure is
caught: sharpening is turned off and device creation carries on, because caught: sharpening is turned off and device creation carries on, because
older Adreno compilers reject the compute pipeline. older Adreno compilers reject the compute pipeline.
source_ref: "pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:5963, pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:2606-2612" source_ref: "pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:6623-6625, pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:3069-3076"
- name: fsr1.glsl
path: pcsx2/resources/shaders/vulkan/fsr1.glsl
standalone_path: resources/shaders/vulkan/fsr1.glsl
required: false
bundled: true
description: "Vulkan FSR1 upscaling shader"
note: >-
Read twice, once per pass, with ffx_a_fsr1.h and ffx_fsr1.h substituted
for its include lines. A failure turns FSR1 upscaling off and device
creation carries on.
source_ref: "pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:6672-6676, pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:3087-3091, pcsx2/GS/Renderers/Common/GSDevice.cpp:1643-1660"
- name: sgsr.glsl
path: pcsx2/resources/shaders/vulkan/sgsr.glsl
standalone_path: resources/shaders/vulkan/sgsr.glsl
required: false
bundled: true
description: "Vulkan SGSR upscaling shader"
note: >-
Read twice, once per edge-direction variant. A failure turns SGSR
upscaling off and device creation carries on.
source_ref: "pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:6720-6724, pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:3081-3085"
- name: imgui.glsl - name: imgui.glsl
path: pcsx2/resources/shaders/vulkan/imgui.glsl path: pcsx2/resources/shaders/vulkan/imgui.glsl
@@ -466,7 +538,7 @@ files:
required: true required: true
bundled: true bundled: true
description: "Vulkan interface shader" description: "Vulkan interface shader"
source_ref: "pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:5989" source_ref: "pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:6747-6752, pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:3093-3094"
- name: fxaa.fx - name: fxaa.fx
path: pcsx2/resources/shaders/common/fxaa.fx path: pcsx2/resources/shaders/common/fxaa.fx
@@ -478,7 +550,7 @@ files:
Compiled by the Vulkan and OpenGL post-processing passes as part of device Compiled by the Vulkan and OpenGL post-processing passes as part of device
creation, so the device fails without it. The Direct3D backends compile it creation, so the device fails without it. The Direct3D backends compile it
lazily on first use and only lose the effect. lazily on first use and only lose the effect.
source_ref: "pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:5884, pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:607, pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:2805-2813, pcsx2/GS/Renderers/DX11/GSDevice11.cpp:1933-1940" source_ref: "pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:6544-6549, pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:686-687, pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:3180-3188, pcsx2/GS/Renderers/DX11/GSDevice11.cpp:1967-1974, pcsx2/GS/Renderers/DX12/GSDevice12.cpp:3167"
- name: ffx_a.h - name: ffx_a.h
path: pcsx2/resources/shaders/common/ffx_a.h path: pcsx2/resources/shaders/common/ffx_a.h
@@ -489,7 +561,7 @@ files:
note: >- note: >-
Read as a source file and substituted for the include line of the sharpening Read as a source file and substituted for the include line of the sharpening
shader before compilation. shader before compilation.
source_ref: "pcsx2/GS/Renderers/Common/GSDevice.cpp:1481-1488" source_ref: "pcsx2/GS/Renderers/Common/GSDevice.cpp:1630-1641"
- name: ffx_cas.h - name: ffx_cas.h
path: pcsx2/resources/shaders/common/ffx_cas.h path: pcsx2/resources/shaders/common/ffx_cas.h
@@ -498,7 +570,27 @@ files:
bundled: true bundled: true
description: "FidelityFX CAS header" description: "FidelityFX CAS header"
note: "Substituted the same way as ffx_a.h." note: "Substituted the same way as ffx_a.h."
source_ref: "pcsx2/GS/Renderers/Common/GSDevice.cpp:1481-1488" source_ref: "pcsx2/GS/Renderers/Common/GSDevice.cpp:1630-1641"
- name: ffx_a_fsr1.h
path: pcsx2/resources/shaders/common/ffx_a_fsr1.h
standalone_path: resources/shaders/common/ffx_a_fsr1.h
required: false
bundled: true
description: "FidelityFX helper header for FSR1"
note: >-
Read as a source file and substituted for the include line of the FSR1
shader before compilation.
source_ref: "pcsx2/GS/Renderers/Common/GSDevice.cpp:1643-1660"
- name: ffx_fsr1.h
path: pcsx2/resources/shaders/common/ffx_fsr1.h
standalone_path: resources/shaders/common/ffx_fsr1.h
required: false
bundled: true
description: "FidelityFX FSR1 header"
note: "Substituted the same way as ffx_a_fsr1.h."
source_ref: "pcsx2/GS/Renderers/Common/GSDevice.cpp:1643-1660"
- name: tfx_vgs.glsl - name: tfx_vgs.glsl
path: pcsx2/resources/shaders/opengl/tfx_vgs.glsl path: pcsx2/resources/shaders/opengl/tfx_vgs.glsl
@@ -507,10 +599,10 @@ files:
bundled: true bundled: true
description: "OpenGL texture function vertex and geometry shader" description: "OpenGL texture function vertex and geometry shader"
note: >- note: >-
The OpenGL backend is one of three the renderer setting selects, and it is The OpenGL backend is one of those the renderer setting selects, and it is
what an Android device falls back to when Vulkan is not chosen. Its device what an Android device falls back to when Vulkan is not chosen. Its device
creation fails without this source; a Vulkan session is unaffected. creation fails without this source; a Vulkan session is unaffected.
source_ref: "pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:749-753, pcsx2/GS/GS.cpp:88-110" source_ref: "pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:891-895, pcsx2/GS/GS.cpp:97-133"
- name: tfx_fs.glsl - name: tfx_fs.glsl
path: pcsx2/resources/shaders/opengl/tfx_fs.glsl path: pcsx2/resources/shaders/opengl/tfx_fs.glsl
@@ -519,7 +611,7 @@ files:
bundled: true bundled: true
description: "OpenGL texture function fragment shader" description: "OpenGL texture function fragment shader"
note: "Read with tfx_vgs.glsl; the OpenGL device fails without it." note: "Read with tfx_vgs.glsl; the OpenGL device fails without it."
source_ref: "pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:749-753" source_ref: "pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:891-895"
- name: convert.glsl - name: convert.glsl
path: pcsx2/resources/shaders/opengl/convert.glsl path: pcsx2/resources/shaders/opengl/convert.glsl
@@ -528,7 +620,7 @@ files:
bundled: true bundled: true
description: "OpenGL conversion shader" description: "OpenGL conversion shader"
note: "The OpenGL device fails without it." note: "The OpenGL device fails without it."
source_ref: "pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:441-447" source_ref: "pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:517-523"
- name: present.glsl - name: present.glsl
path: pcsx2/resources/shaders/opengl/present.glsl path: pcsx2/resources/shaders/opengl/present.glsl
@@ -537,7 +629,7 @@ files:
bundled: true bundled: true
description: "OpenGL presentation shader" description: "OpenGL presentation shader"
note: "The OpenGL device fails without it." note: "The OpenGL device fails without it."
source_ref: "pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:527-532" source_ref: "pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:605-610"
- name: merge.glsl - name: merge.glsl
path: pcsx2/resources/shaders/opengl/merge.glsl path: pcsx2/resources/shaders/opengl/merge.glsl
@@ -546,7 +638,7 @@ files:
bundled: true bundled: true
description: "OpenGL merge shader" description: "OpenGL merge shader"
note: "The OpenGL device fails without it." note: "The OpenGL device fails without it."
source_ref: "pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:563-568" source_ref: "pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:641-646"
- name: interlace.glsl - name: interlace.glsl
path: pcsx2/resources/shaders/opengl/interlace.glsl path: pcsx2/resources/shaders/opengl/interlace.glsl
@@ -555,7 +647,7 @@ files:
bundled: true bundled: true
description: "OpenGL interlace shader" description: "OpenGL interlace shader"
note: "The OpenGL device fails without it." note: "The OpenGL device fails without it."
source_ref: "pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:586-591" source_ref: "pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:664-669"
- name: shadeboost.glsl - name: shadeboost.glsl
path: pcsx2/resources/shaders/opengl/shadeboost.glsl path: pcsx2/resources/shaders/opengl/shadeboost.glsl
@@ -566,7 +658,7 @@ files:
note: >- note: >-
Compiled with the FXAA program in the OpenGL device creation chain, so that Compiled with the FXAA program in the OpenGL device creation chain, so that
device fails without it. device fails without it.
source_ref: "pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:607-608, pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:3060-3066" source_ref: "pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:686-687, pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:3435-3441"
- name: cas.glsl - name: cas.glsl
path: pcsx2/resources/shaders/opengl/cas.glsl path: pcsx2/resources/shaders/opengl/cas.glsl
@@ -575,9 +667,10 @@ files:
bundled: true bundled: true
description: "OpenGL contrast adaptive sharpening shader" description: "OpenGL contrast adaptive sharpening shader"
note: >- note: >-
A desktop GL compute shader, gated away from GL ES contexts because feeding A desktop GL compute shader, read only on a GL 4.2 context with compute
it to an ES compiler crashes some drivers. shaders and gated away from GL ES contexts because feeding it to an ES
source_ref: "pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:3251, pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:610-615" compiler crashes some drivers. A failure turns sharpening off.
source_ref: "pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:3624-3630, pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:689-698"
- name: imgui.glsl - name: imgui.glsl
path: pcsx2/resources/shaders/opengl/imgui.glsl path: pcsx2/resources/shaders/opengl/imgui.glsl
@@ -586,7 +679,7 @@ files:
bundled: true bundled: true
description: "OpenGL interface shader" description: "OpenGL interface shader"
note: "The OpenGL device fails without it." note: "The OpenGL device fails without it."
source_ref: "pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:709-710, pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:3309-3316" source_ref: "pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:792-793, pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:3684-3691"
- name: tfx.fx - name: tfx.fx
path: pcsx2/resources/shaders/dx11/tfx.fx path: pcsx2/resources/shaders/dx11/tfx.fx
@@ -598,7 +691,7 @@ files:
Read by the Direct3D 11 and Direct3D 12 backends of the Windows on arm64 Read by the Direct3D 11 and Direct3D 12 backends of the Windows on arm64
build, whose devices fail without it. The Android asset step drops the dx11 build, whose devices fail without it. The Android asset step drops the dx11
folder because the mobile backends never compile it. folder because the mobile backends never compile it.
source_ref: "pcsx2/GS/Renderers/DX11/GSDevice11.cpp:215-218, pcsx2/GS/Renderers/DX12/GSDevice12.cpp:967, platforms/android/app/build.gradle.kts:40-47" source_ref: "pcsx2/GS/Renderers/DX11/GSDevice11.cpp:215-218, pcsx2/GS/Renderers/DX12/GSDevice12.cpp:1008, platforms/android/app/build.gradle.kts:73-78"
- name: convert.fx - name: convert.fx
path: pcsx2/resources/shaders/dx11/convert.fx path: pcsx2/resources/shaders/dx11/convert.fx
@@ -607,7 +700,7 @@ files:
bundled: true bundled: true
description: "Direct3D conversion shader" description: "Direct3D conversion shader"
note: "The Direct3D devices fail without it." note: "The Direct3D devices fail without it."
source_ref: "pcsx2/GS/Renderers/DX11/GSDevice11.cpp:229-231, pcsx2/GS/Renderers/DX12/GSDevice12.cpp:2827" source_ref: "pcsx2/GS/Renderers/DX11/GSDevice11.cpp:229-231, pcsx2/GS/Renderers/DX12/GSDevice12.cpp:2893"
- name: present.fx - name: present.fx
path: pcsx2/resources/shaders/dx11/present.fx path: pcsx2/resources/shaders/dx11/present.fx
@@ -616,7 +709,7 @@ files:
bundled: true bundled: true
description: "Direct3D presentation shader" description: "Direct3D presentation shader"
note: "The Direct3D devices fail without it." note: "The Direct3D devices fail without it."
source_ref: "pcsx2/GS/Renderers/DX11/GSDevice11.cpp:265, pcsx2/GS/Renderers/DX12/GSDevice12.cpp:2971" source_ref: "pcsx2/GS/Renderers/DX11/GSDevice11.cpp:267, pcsx2/GS/Renderers/DX12/GSDevice12.cpp:3041"
- name: merge.fx - name: merge.fx
path: pcsx2/resources/shaders/dx11/merge.fx path: pcsx2/resources/shaders/dx11/merge.fx
@@ -625,7 +718,7 @@ files:
bundled: true bundled: true
description: "Direct3D merge shader" description: "Direct3D merge shader"
note: "The Direct3D devices fail without it." note: "The Direct3D devices fail without it."
source_ref: "pcsx2/GS/Renderers/DX11/GSDevice11.cpp:317, pcsx2/GS/Renderers/DX12/GSDevice12.cpp:3050" source_ref: "pcsx2/GS/Renderers/DX11/GSDevice11.cpp:319, pcsx2/GS/Renderers/DX12/GSDevice12.cpp:3120"
- name: interlace.fx - name: interlace.fx
path: pcsx2/resources/shaders/dx11/interlace.fx path: pcsx2/resources/shaders/dx11/interlace.fx
@@ -634,7 +727,7 @@ files:
bundled: true bundled: true
description: "Direct3D interlace shader" description: "Direct3D interlace shader"
note: "The Direct3D devices fail without it." note: "The Direct3D devices fail without it."
source_ref: "pcsx2/GS/Renderers/DX11/GSDevice11.cpp:352, pcsx2/GS/Renderers/DX12/GSDevice12.cpp:3014" source_ref: "pcsx2/GS/Renderers/DX11/GSDevice11.cpp:354, pcsx2/GS/Renderers/DX12/GSDevice12.cpp:3084"
- name: shadeboost.fx - name: shadeboost.fx
path: pcsx2/resources/shaders/dx11/shadeboost.fx path: pcsx2/resources/shaders/dx11/shadeboost.fx
@@ -642,7 +735,7 @@ files:
required: false required: false
bundled: true bundled: true
description: "Direct3D shade boost shader" description: "Direct3D shade boost shader"
source_ref: "pcsx2/GS/Renderers/DX11/GSDevice11.cpp:372, pcsx2/GS/Renderers/DX12/GSDevice12.cpp:3120" source_ref: "pcsx2/GS/Renderers/DX11/GSDevice11.cpp:374, pcsx2/GS/Renderers/DX12/GSDevice12.cpp:3190"
- name: cas.hlsl - name: cas.hlsl
path: pcsx2/resources/shaders/dx11/cas.hlsl path: pcsx2/resources/shaders/dx11/cas.hlsl
@@ -651,7 +744,7 @@ files:
bundled: true bundled: true
description: "Direct3D contrast adaptive sharpening shader" description: "Direct3D contrast adaptive sharpening shader"
note: "Includes ffx_a.h and ffx_cas.h." note: "Includes ffx_a.h and ffx_cas.h."
source_ref: "pcsx2/GS/Renderers/DX11/GSDevice11.cpp:2259, pcsx2/GS/Renderers/DX12/GSDevice12.cpp:2299" source_ref: "pcsx2/GS/Renderers/DX11/GSDevice11.cpp:2305, pcsx2/GS/Renderers/DX12/GSDevice12.cpp:2365"
- name: imgui.fx - name: imgui.fx
path: pcsx2/resources/shaders/dx11/imgui.fx path: pcsx2/resources/shaders/dx11/imgui.fx
@@ -660,7 +753,23 @@ files:
bundled: true bundled: true
description: "Direct3D interface shader" description: "Direct3D interface shader"
note: "The Direct3D devices fail without it." note: "The Direct3D devices fail without it."
source_ref: "pcsx2/GS/Renderers/DX11/GSDevice11.cpp:2309-2313, pcsx2/GS/Renderers/DX12/GSDevice12.cpp:2327" source_ref: "pcsx2/GS/Renderers/DX11/GSDevice11.cpp:2355-2359, pcsx2/GS/Renderers/DX12/GSDevice12.cpp:2393"
- name: proverb.zip
standalone_path: arcade/proverb.zip
mode: standalone
required: false
max_size: 67108864
validation: [size]
description: "Arcade boot programs"
note: >-
The Proverb bootloader release, one zip holding bin/<gameid>/boot.elf for
every arcade game. The Android application downloads it from the proverb
nightly release into arcade under its files directory, refuses one over
64 MB or one holding no boot program, and writes the game's boot.elf out
of it at each import. The core opens only that boot.elf, at the path the
game's manifest gives, and an arcade boot stops without it.
source_ref: "platforms/android/app/src/main/java/com/armsx2/arcade/ArcadeLibrary.kt:46-47, platforms/android/app/src/main/java/com/armsx2/arcade/ArcadeLibrary.kt:58, platforms/android/app/src/main/java/com/armsx2/arcade/ArcadeLibrary.kt:118, platforms/android/app/src/main/java/com/armsx2/arcade/ArcadeLibrary.kt:131-167, platforms/android/app/src/main/java/com/armsx2/arcade/ArcadeLibrary.kt:393-400, pcsx2/VMManager.cpp:1719-1726"
- name: message.wav - name: message.wav
path: pcsx2/resources/sounds/achievements/message.wav path: pcsx2/resources/sounds/achievements/message.wav
@@ -671,7 +780,7 @@ files:
note: >- note: >-
Played from the resources folder when the achievement information sound is Played from the resources folder when the achievement information sound is
enabled and no custom sound is set. enabled and no custom sound is set.
source_ref: "pcsx2/Achievements.cpp:68, pcsx2/Achievements.cpp:1275-1281, pcsx2/Achievements.cpp:1525" source_ref: "pcsx2/Achievements.cpp:68, pcsx2/Achievements.cpp:1278-1284, pcsx2/Achievements.cpp:1528"
- name: unlock.wav - name: unlock.wav
path: pcsx2/resources/sounds/achievements/unlock.wav path: pcsx2/resources/sounds/achievements/unlock.wav
@@ -679,7 +788,7 @@ files:
required: false required: false
bundled: true bundled: true
description: "Achievement unlock sound" description: "Achievement unlock sound"
source_ref: "pcsx2/Achievements.cpp:69, pcsx2/Achievements.cpp:1275-1281, pcsx2/Achievements.cpp:1578" source_ref: "pcsx2/Achievements.cpp:69, pcsx2/Achievements.cpp:1278-1284, pcsx2/Achievements.cpp:1581"
- name: lbsubmit.wav - name: lbsubmit.wav
path: pcsx2/resources/sounds/achievements/lbsubmit.wav path: pcsx2/resources/sounds/achievements/lbsubmit.wav
@@ -687,7 +796,7 @@ files:
required: false required: false
bundled: true bundled: true
description: "Leaderboard submission sound" description: "Leaderboard submission sound"
source_ref: "pcsx2/Achievements.cpp:70, pcsx2/Achievements.cpp:1275-1281, pcsx2/Achievements.cpp:1672" source_ref: "pcsx2/Achievements.cpp:70, pcsx2/Achievements.cpp:1278-1284, pcsx2/Achievements.cpp:1675"
- name: placeholder.png - name: placeholder.png
path: pcsx2/resources/fullscreenui/placeholder.png path: pcsx2/resources/fullscreenui/placeholder.png
@@ -697,7 +806,7 @@ files:
description: "Fullscreen interface placeholder texture" description: "Fullscreen interface placeholder texture"
note: >- note: >-
Named as the placeholder texture when the fullscreen interface initialises. Named as the placeholder texture when the fullscreen interface initialises.
source_ref: "pcsx2/ImGui/FullscreenUI.cpp:335" source_ref: "pcsx2/ImGui/FullscreenUI.cpp:331"
- name: no-save.png - name: no-save.png
path: pcsx2/resources/fullscreenui/no-save.png path: pcsx2/resources/fullscreenui/no-save.png
@@ -705,7 +814,7 @@ files:
required: false required: false
bundled: true bundled: true
description: "Empty save slot texture" description: "Empty save slot texture"
source_ref: "pcsx2/ImGui/ImGuiOverlays.cpp:1664" source_ref: "pcsx2/ImGui/ImGuiOverlays.cpp:1689"
- name: media-cdrom.svg - name: media-cdrom.svg
path: pcsx2/resources/fullscreenui/media-cdrom.svg path: pcsx2/resources/fullscreenui/media-cdrom.svg
@@ -713,7 +822,7 @@ files:
required: false required: false
bundled: true bundled: true
description: "Game list menu icon" description: "Game list menu icon"
source_ref: "pcsx2/ImGui/FullscreenUI.cpp:1367, pcsx2/ImGui/FullscreenUI.cpp:3483" source_ref: "pcsx2/ImGui/FullscreenUI.cpp:1398, pcsx2/ImGui/FullscreenUI.cpp:3522"
- name: start-game.svg - name: start-game.svg
path: pcsx2/resources/fullscreenui/start-game.svg path: pcsx2/resources/fullscreenui/start-game.svg
@@ -721,7 +830,7 @@ files:
required: false required: false
bundled: true bundled: true
description: "Start game menu icon" description: "Start game menu icon"
source_ref: "pcsx2/ImGui/FullscreenUI.cpp:1373" source_ref: "pcsx2/ImGui/FullscreenUI.cpp:1404"
- name: applications-system.svg - name: applications-system.svg
path: pcsx2/resources/fullscreenui/applications-system.svg path: pcsx2/resources/fullscreenui/applications-system.svg
@@ -729,7 +838,7 @@ files:
required: false required: false
bundled: true bundled: true
description: "Settings menu icon" description: "Settings menu icon"
source_ref: "pcsx2/ImGui/FullscreenUI.cpp:1380, pcsx2/ImGui/FullscreenUI.cpp:3478" source_ref: "pcsx2/ImGui/FullscreenUI.cpp:1411, pcsx2/ImGui/FullscreenUI.cpp:3517"
- name: exit.svg - name: exit.svg
path: pcsx2/resources/fullscreenui/exit.svg path: pcsx2/resources/fullscreenui/exit.svg
@@ -737,7 +846,7 @@ files:
required: false required: false
bundled: true bundled: true
description: "Exit menu icon" description: "Exit menu icon"
source_ref: "pcsx2/ImGui/FullscreenUI.cpp:1386, pcsx2/ImGui/FullscreenUI.cpp:1519" source_ref: "pcsx2/ImGui/FullscreenUI.cpp:1417, pcsx2/ImGui/FullscreenUI.cpp:1550"
- name: start-file.svg - name: start-file.svg
path: pcsx2/resources/fullscreenui/start-file.svg path: pcsx2/resources/fullscreenui/start-file.svg
@@ -745,7 +854,7 @@ files:
required: false required: false
bundled: true bundled: true
description: "Start file menu icon" description: "Start file menu icon"
source_ref: "pcsx2/ImGui/FullscreenUI.cpp:1443" source_ref: "pcsx2/ImGui/FullscreenUI.cpp:1474"
- name: drive-cdrom.svg - name: drive-cdrom.svg
path: pcsx2/resources/fullscreenui/drive-cdrom.svg path: pcsx2/resources/fullscreenui/drive-cdrom.svg
@@ -753,7 +862,7 @@ files:
required: false required: false
bundled: true bundled: true
description: "Start disc menu icon" description: "Start disc menu icon"
source_ref: "pcsx2/ImGui/FullscreenUI.cpp:1449" source_ref: "pcsx2/ImGui/FullscreenUI.cpp:1480"
- name: start-bios.svg - name: start-bios.svg
path: pcsx2/resources/fullscreenui/start-bios.svg path: pcsx2/resources/fullscreenui/start-bios.svg
@@ -761,7 +870,7 @@ files:
required: false required: false
bundled: true bundled: true
description: "Start BIOS menu icon" description: "Start BIOS menu icon"
source_ref: "pcsx2/ImGui/FullscreenUI.cpp:1455" source_ref: "pcsx2/ImGui/FullscreenUI.cpp:1486"
- name: back-icon.svg - name: back-icon.svg
path: pcsx2/resources/fullscreenui/back-icon.svg path: pcsx2/resources/fullscreenui/back-icon.svg
@@ -769,7 +878,7 @@ files:
required: false required: false
bundled: true bundled: true
description: "Back menu icon" description: "Back menu icon"
source_ref: "pcsx2/ImGui/FullscreenUI.cpp:1461, pcsx2/ImGui/FullscreenUI.cpp:1511" source_ref: "pcsx2/ImGui/FullscreenUI.cpp:1492, pcsx2/ImGui/FullscreenUI.cpp:1542"
- name: desktop-mode.svg - name: desktop-mode.svg
path: pcsx2/resources/fullscreenui/desktop-mode.svg path: pcsx2/resources/fullscreenui/desktop-mode.svg
@@ -777,7 +886,7 @@ files:
required: false required: false
bundled: true bundled: true
description: "Desktop mode menu icon" description: "Desktop mode menu icon"
source_ref: "pcsx2/ImGui/FullscreenUI.cpp:1527" source_ref: "pcsx2/ImGui/FullscreenUI.cpp:1558"
- name: AppBanner.svg - name: AppBanner.svg
path: pcsx2/resources/icons/AppBanner.svg path: pcsx2/resources/icons/AppBanner.svg
@@ -785,7 +894,7 @@ files:
required: false required: false
bundled: true bundled: true
description: "Application banner" description: "Application banner"
source_ref: "pcsx2/ImGui/FullscreenUI.cpp:762" source_ref: "pcsx2/ImGui/FullscreenUI.cpp:783"
- name: AppIconLarge.png - name: AppIconLarge.png
path: pcsx2/resources/icons/AppIconLarge.png path: pcsx2/resources/icons/AppIconLarge.png
@@ -796,7 +905,7 @@ files:
note: >- note: >-
Drawn by the fullscreen interface, shown by the Qt setup wizard, and copied Drawn by the fullscreen interface, shown by the Qt setup wizard, and copied
out when a desktop entry is written. out when a desktop entry is written.
source_ref: "pcsx2/ImGui/FullscreenUI.cpp:1291, pcsx2-qt/SetupWizardDialog.cpp:165, pcsx2-qt/QtUtils.cpp:843" source_ref: "pcsx2/ImGui/FullscreenUI.cpp:1315, pcsx2-qt/SetupWizardDialog.cpp:165, pcsx2-qt/QtUtils.cpp:843"
- name: AppIconLarge.ico - name: AppIconLarge.ico
path: pcsx2/resources/icons/AppIconLarge.ico path: pcsx2/resources/icons/AppIconLarge.ico
@@ -813,29 +922,29 @@ files:
required: false required: false
bundled: true bundled: true
description: "RetroAchievements icon" description: "RetroAchievements icon"
source_ref: "pcsx2/ImGui/FullscreenUI_Settings.cpp:4388, pcsx2-qt/SetupWizardDialog.cpp:428, pcsx2-qt/Settings/AchievementLoginDialog.cpp:21" source_ref: "pcsx2/ImGui/FullscreenUI_Settings.cpp:4503, pcsx2-qt/SetupWizardDialog.cpp:428, pcsx2-qt/Settings/AchievementLoginDialog.cpp:21"
- name: "star-<rating>.svg" - name: "star-<rating>.svg"
path: pcsx2/resources/icons/ path: "pcsx2/resources/icons/star-<rating>.svg"
standalone_path: resources/icons/ standalone_path: "resources/icons/star-<rating>.svg"
required: false required: false
bundled: true bundled: true
description: "Compatibility rating icons" description: "Compatibility rating icons"
note: >- note: >-
Six files, star-0.svg through star-5.svg, named from the compatibility Six files, star-0.svg through star-5.svg, named from the compatibility
rating of the entry. rating of the entry.
source_ref: "pcsx2/ImGui/FullscreenUI.cpp:767, pcsx2-qt/GameList/GameListModel.cpp:529" source_ref: "pcsx2/ImGui/FullscreenUI.cpp:788, pcsx2-qt/GameList/GameListModel.cpp:529"
- name: "<region>.svg" - name: "<region>.svg"
path: pcsx2/resources/icons/flags/ path: "pcsx2/resources/icons/flags/<region>.svg"
standalone_path: resources/icons/flags/ standalone_path: "resources/icons/flags/<region>.svg"
required: false required: false
bundled: true bundled: true
description: "Region flag icons" description: "Region flag icons"
note: >- note: >-
Forty-eight files, named from the region of the entry through Forty-eight files, named from the region of the entry through
RegionToFlagFilename. RegionToFlagFilename.
source_ref: "pcsx2/ImGui/FullscreenUI.cpp:2842" source_ref: "pcsx2/ImGui/FullscreenUI.cpp:2881"
- name: cover-placeholder.png - name: cover-placeholder.png
path: pcsx2/resources/cover-placeholder.png path: pcsx2/resources/cover-placeholder.png
+153 -126
View File
@@ -4,10 +4,10 @@ core_classification: community_fork
source: "https://github.com/sashkinbro/EmuCoreX" source: "https://github.com/sashkinbro/EmuCoreX"
upstream: "https://github.com/PCSX2/pcsx2" upstream: "https://github.com/PCSX2/pcsx2"
author: "Oleksandr (sashkinbro)" author: "Oleksandr (sashkinbro)"
profiled_date: "2026-09-04" profiled_date: "2026-10-04"
source_commit: "f32393ae0dc1df81834e58873145cff5b8bc8175" source_commit: "ed8d7dd721dc8da958f3149acdc4c72d77d5a685"
upstream_commit: "53e3838c1dd59f611fa3d2fd36915903a1304c6e" upstream_commit: "c10a5c9ad951c517dc48b722b5b84eb9bf7fdb42"
core_version: "0.3.3" core_version: "0.4.6"
display_name: "Sony - PlayStation 2 (EmuCoreX)" display_name: "Sony - PlayStation 2 (EmuCoreX)"
cores: cores:
- emucorex - emucorex
@@ -21,23 +21,23 @@ resources_directory: "resources/"
notes: | notes: |
PlayStation 2 emulator for Android, package com.sbro.emucorex, arm64-v8a only, PlayStation 2 emulator for Android, package com.sbro.emucorex, arm64-v8a only,
minSdk 29. A Kotlin and Compose front end drives a PCSX2 tree vendored under minSdk 29. A Kotlin and Compose front end drives a PCSX2 tree vendored under
app/src/main/cpp/pcsx2 and pinned to v2.7.316, reached through the ARM_ANDROID app/src/main/cpp/pcsx2 and pinned to v2.8.0, reached through the ARM_ANDROID
adapter that owns the JNI entry points. Frontends start the exported activity adapter that owns the JNI entry points. Frontends start the exported activity
com.sbro.emucorex.MainActivity; ES-DE passes the disc as the intent data URI. com.sbro.emucorex.MainActivity; ES-DE passes the disc as the intent data URI.
ref: app/build.gradle.kts:53-56, app/build.gradle.kts:77, ref: app/build.gradle.kts:66-70, app/build.gradle.kts:97,
app/src/main/AndroidManifest.xml:48-62, app/src/main/AndroidManifest.xml:90-104,
app/src/main/cpp/ARM_ANDROID/CMakeLists.txt:77-79, app/src/main/cpp/ARM_ANDROID/CMakeLists.txt:78-82,
app/src/main/cpp/ARM_ANDROID/CMakeLists.txt:338 app/src/main/cpp/ARM_ANDROID/CMakeLists.txt:359-360
The whole upstream core is linked, with three files swapped out of the target: The whole upstream core is linked, with three files swapped out of the target:
Achievements.cpp, Host/SDLAudioStream.cpp and Input/SDLInputSource.cpp are Achievements.cpp, Host/SDLAudioStream.cpp and Input/SDLInputSource.cpp are
removed and replaced by the adapter's own achievements, AAudio and OpenSL, and removed and replaced by the adapter's own achievements, AAudio and OpenSL, and
input sources. OpenGL and Vulkan are on, pcsx2-qt is never added, and the input sources. OpenGL and Vulkan are on, pcsx2-qt is never added, and the
DX11 and DX12 renderers sit in the Windows branch of the core CMakeLists. DX11 and DX12 renderers sit in the Windows branch of the core CMakeLists.
ref: app/src/main/cpp/ARM_ANDROID/CMakeLists.txt:239-256, ref: app/src/main/cpp/ARM_ANDROID/CMakeLists.txt:259-272,
app/src/main/cpp/ARM_ANDROID/CMakeLists.txt:58-59, app/src/main/cpp/ARM_ANDROID/CMakeLists.txt:59-60,
app/src/main/cpp/pcsx2/pcsx2/CMakeLists.txt:691, app/src/main/cpp/pcsx2/pcsx2/CMakeLists.txt:706,
app/src/main/cpp/pcsx2/pcsx2/CMakeLists.txt:708-712 app/src/main/cpp/pcsx2/pcsx2/CMakeLists.txt:723-734
Storage. The data root is the app files directory; the app creates cache, Storage. The data root is the app files directory; the app creates cache,
resources, inis, sstates and memcards under it, then copies the whole resources resources, inis, sstates and memcards under it, then copies the whole resources
@@ -45,12 +45,12 @@ notes: |
DataRoot, Resources, Settings and Cache from that root, and the launcher sets DataRoot, Resources, Settings and Cache from that root, and the launcher sets
Folders for Bios, Savestates, MemoryCards, Textures, Cheats, Patches and Logs Folders for Bios, Savestates, MemoryCards, Textures, Cheats, Patches and Logs
per run. per run.
ref: app/src/main/java/com/sbro/emucorex/core/NativeApp.kt:28, ref: app/src/main/java/com/sbro/emucorex/core/NativeApp.kt:30,
app/src/main/java/com/sbro/emucorex/core/NativeApp.kt:163-165, app/src/main/java/com/sbro/emucorex/core/NativeApp.kt:430-432,
app/src/main/java/com/sbro/emucorex/core/NativeApp.kt:293-300, app/src/main/java/com/sbro/emucorex/core/NativeApp.kt:563-570,
app/src/main/java/com/sbro/emucorex/core/NativeApp.kt:316-348, app/src/main/java/com/sbro/emucorex/core/NativeApp.kt:587-619,
app/src/main/cpp/ARM_ANDROID/src/runtime/upstream_vm_bridge.cpp:135-139, app/src/main/cpp/ARM_ANDROID/src/runtime/upstream_vm_bridge.cpp:261-265,
app/src/main/java/com/sbro/emucorex/core/EmulatorBridge.kt:546-552 app/src/main/java/com/sbro/emucorex/core/EmulatorBridge.kt:612-618
A BIOS image is required and boot stops without one: LoadBIOS returning false A BIOS image is required and boot stops without one: LoadBIOS returning false
makes VMManager report that a PlayStation 2 BIOS is needed. Only a GS dump makes VMManager report that a PlayStation 2 BIOS is needed. Only a GS dump
@@ -59,7 +59,8 @@ notes: |
followed by a readable ROMVER, the fifth ROMVER character giving the zone among followed by a readable ROMVER, the fifth ROMVER character giving the zone among
Japan, USA, Europe, Asia, China, T10K, COH-H, Test and Free, with EXTINFO Japan, USA, Europe, Asia, China, T10K, COH-H, Test and Free, with EXTINFO
supplying the serial. An image named in the configuration is opened at its own supplying the serial. An image named in the configuration is opened at its own
path without the size filter. No name and no hash is matched. path without the size filter. No hash is matched, and a console image is
matched under no name.
MIN_BIOS_SIZE was halved to 2 MB to admit the Namco System 246/256 chip dumps, MIN_BIOS_SIZE was halved to 2 MB to admit the Namco System 246/256 chip dumps,
which are 2 MB where a console image is 4. Three other changes came with it: which are 2 MB where a console image is 4. Three other changes came with it:
@@ -74,30 +75,40 @@ notes: |
app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:278-314, app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:278-314,
app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:337-391, app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:337-391,
app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:365-367 (ROM window cleared), app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:365-367 (ROM window cleared),
app/src/main/cpp/pcsx2/pcsx2/VMManager.cpp:1487-1499 app/src/main/cpp/pcsx2/pcsx2/VMManager.cpp:1898-1912
The app runs its own gate over the same test before launching. A candidate is An arcade launch starts from a manifest carrying an NM game id and a board
a .bin, .rom, .7d or .8g between 512 KB and 8 MB whose name carries scph, ps2, generation. It selects the board BIOS by name from the BIOS folder,
bios, rom or r27v1602f, and it is confirmed by isBiosPath or isBiosFd, both of r27v1602f.8g for System 256 and Super 256 and r27v1602f.7d for System 246, and
which call the core's IsBIOS on the path or on /proc/self/fd. The two extra keeps the configured BIOS with a warning when that file is absent. The dongle,
extensions are the board positions the Namco dumps carry instead of a memory card, boot ELF, SRAM and media the manifest names are per-title content
conventional one. resolved beside it.
ref: app/src/main/cpp/pcsx2/pcsx2/VMManager.cpp:1530-1598,
app/src/main/cpp/pcsx2/pcsx2/VMManager.cpp:1608-1733
The app runs its own gate before launching. A candidate is a .bin, .rom, .7d
or .8g between 512 KB and 8 MB. It passes when the core's IsBIOS accepts it,
reached through isBiosPath on the path or isBiosFd on /proc/self/fd, or when
its name carries scph, ps2, bios, rom or r27v1602f. The two extra extensions
are the board positions the Namco dumps carry instead of a conventional one.
ref: app/src/main/java/com/sbro/emucorex/core/BiosValidator.kt:13-21, ref: app/src/main/java/com/sbro/emucorex/core/BiosValidator.kt:13-21,
app/src/main/java/com/sbro/emucorex/core/BiosValidator.kt:110-137, app/src/main/java/com/sbro/emucorex/core/BiosValidator.kt:112-146,
app/src/main/cpp/ARM_ANDROID/src/jni/native_app_jni.cpp:414-436 app/src/main/java/com/sbro/emucorex/core/BiosValidator.kt:177-185,
app/src/main/cpp/ARM_ANDROID/src/jni/native_app_jni.cpp:493-515
A BIOS folder picked through the storage access framework is copied flat into A BIOS folder picked through the storage access framework is copied flat into
imported-bios under the external files directory, and Folders/Bios points there. imported-bios under the external files directory, and Folders/Bios points there.
The import filter takes any .bin or .rom, plus .mec, .nvm and .elf whose name The import filter takes any .bin, .rom, .7d or .8g, plus .mec, .nvm and .elf
carries one of the hints. Neither rom1 nor rom2 is an accepted extension, and whose name carries one of the hints. Neither rom1 nor rom2 is an accepted
LoadExtraRom looks for exactly {bios}.rom1 or {biosbase}.rom1, so the two ROM extension, and LoadExtraRom looks for exactly {bios}.rom1 or {biosbase}.rom1,
modules only reach the core when Folders/Bios is a plain filesystem path used so the two ROM modules only reach the core when Folders/Bios is a plain
as-is. A re-import preserves the .nvm and .mec sitting beside the image. filesystem path used as-is. A re-import preserves the .nvm and .mec sitting
ref: app/src/main/java/com/sbro/emucorex/core/DocumentPathResolver.kt:25-27, beside the image.
app/src/main/java/com/sbro/emucorex/core/DocumentPathResolver.kt:101-154, ref: app/src/main/java/com/sbro/emucorex/core/DocumentPathResolver.kt:26-28,
app/src/main/java/com/sbro/emucorex/core/DocumentPathResolver.kt:366-388, app/src/main/java/com/sbro/emucorex/core/DocumentPathResolver.kt:104-157,
app/src/main/java/com/sbro/emucorex/core/DocumentPathResolver.kt:433-438, app/src/main/java/com/sbro/emucorex/core/DocumentPathResolver.kt:430-452,
app/src/main/java/com/sbro/emucorex/core/DocumentPathResolver.kt:492-499 app/src/main/java/com/sbro/emucorex/core/DocumentPathResolver.kt:497-502,
app/src/main/java/com/sbro/emucorex/core/DocumentPathResolver.kt:556-563
Much of the bundled resource tree is compiled out on this platform and never Much of the bundled resource tree is compiled out on this platform and never
read. ImGuiManager::Initialize returns false before creating the ImGui context, read. ImGuiManager::Initialize returns false before creating the ImGui context,
@@ -106,24 +117,24 @@ notes: |
unconditionally, so FullscreenUI::Initialize never runs and nothing under unconditionally, so FullscreenUI::Initialize never runs and nothing under
fullscreenui or icons is loaded. The adapter reads two fonts of its own instead fullscreenui or icons is loaded. The adapter reads two fonts of its own instead
and hands them over through SetFonts. and hands them over through SetFonts.
ref: app/src/main/cpp/pcsx2/pcsx2/ImGui/ImGuiManager.cpp:115-128, ref: app/src/main/cpp/pcsx2/pcsx2/ImGui/ImGuiManager.cpp:131-146,
app/src/main/cpp/pcsx2/pcsx2/ImGui/ImGuiManager.cpp:132-136, app/src/main/cpp/pcsx2/pcsx2/ImGui/ImGuiManager.cpp:148-152,
app/src/main/cpp/pcsx2/pcsx2/ImGui/ImGuiManager.cpp:147, app/src/main/cpp/pcsx2/pcsx2/ImGui/ImGuiManager.cpp:163,
app/src/main/cpp/pcsx2/pcsx2/ImGui/ImGuiManager.cpp:193-198, app/src/main/cpp/pcsx2/pcsx2/ImGui/ImGuiManager.cpp:224-229,
app/src/main/cpp/pcsx2/pcsx2/ImGui/ImGuiManager.cpp:262-281, app/src/main/cpp/pcsx2/pcsx2/ImGui/ImGuiManager.cpp:296-316,
app/src/main/cpp/pcsx2/pcsx2/ImGui/ImGuiManager.cpp:449-511, app/src/main/cpp/pcsx2/pcsx2/ImGui/ImGuiManager.cpp:483-536,
app/src/main/cpp/ARM_ANDROID/src/runtime/upstream_vm_bridge.cpp:254-282, app/src/main/cpp/ARM_ANDROID/src/runtime/upstream_vm_bridge.cpp:384-412,
app/src/main/cpp/ARM_ANDROID/src/runtime/upstream_vm_bridge.cpp:307 app/src/main/cpp/ARM_ANDROID/src/runtime/upstream_vm_bridge.cpp:437
The three achievement sounds are the one resource the code reads that the tree The three achievement sounds are the one resource the code reads that the tree
does not carry. Their directory holds only the README naming their origin, does not carry. Their directory holds only the README naming their origin,
while upstream v2.7.316 ships message.wav at 15696 bytes, lbsubmit.wav at 82096 while upstream v2.8.0 ships message.wav at 15696 bytes, lbsubmit.wav at 82096
and unlock.wav at 202702. All four sound settings default on, so a signed-in and unlock.wav at 202702. All four sound settings default on, so a signed-in
session asks for them at every notification. session asks for them at every notification.
ref: app/src/main/cpp/pcsx2/bin/resources/sounds/achievements/README.txt:1-3, ref: app/src/main/cpp/pcsx2/bin/resources/sounds/achievements/README.txt:1-3,
app/src/main/cpp/ARM_ANDROID/src/integration/pcsx2_achievements_android.cpp:81-83, app/src/main/cpp/ARM_ANDROID/src/integration/pcsx2_achievements_android.cpp:81-83,
app/src/main/cpp/pcsx2/pcsx2/Config.h:1346-1349, app/src/main/cpp/pcsx2/pcsx2/Config.h:1371-1374,
app/src/main/cpp/pcsx2/pcsx2/Pcsx2Config.cpp:1951-1954 app/src/main/cpp/pcsx2/pcsx2/Pcsx2Config.cpp:1963-1966
files: files:
- name: ps2-0230a-20080220.bin - name: ps2-0230a-20080220.bin
@@ -137,7 +148,7 @@ files:
description: "PS2 BIOS image" description: "PS2 BIOS image"
note: >- note: >-
Any image whose romdir holds RESET and ROMVER is accepted, whatever its Any image whose romdir holds RESET and ROMVER is accepted, whatever its
name. The 4 to 8 MB range gates the folder scan; an image named in the name. The 2 to 8 MB range gates the folder scan; an image named in the
configuration skips that range. Read into the 4 MB ROM region, which is configuration skips that range. Read into the 4 MB ROM region, which is
zero-filled first, and truncated to it. Shorter than 2465792 bytes disables zero-filled first, and truncated to it. Shorter than 2465792 bytes disables
the OSDSys parameter HLE. the OSDSys parameter HLE.
@@ -159,9 +170,10 @@ files:
hint r27v1602f carries it past the name test. Read into the 4 MB ROM hint r27v1602f carries it past the name test. Read into the 4 MB ROM
window, whose upper half is cleared first. ROMVER marks it T with a fifth window, whose upper half is cleared first. ROMVER marks it T with a fifth
character Z, which is what makes it COH-H and region 11; its description character Z, which is what makes it COH-H and region 11; its description
comes from the EXTINFO serial. Byte-identical to the r27v1602f.7d member comes from the EXTINFO serial. A System 246 arcade manifest selects this
of the MAME sys246 set. name from the BIOS folder. Byte-identical to the r27v1602f.7d member of the
source_ref: "app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:16-17, app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:150-151, app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:176-190, app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:365-367, app/src/main/java/com/sbro/emucorex/core/BiosValidator.kt:13-21" MAME sys246 set.
source_ref: "app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:16-17, app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:150-151, app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:176-190, app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:365-367, app/src/main/cpp/pcsx2/pcsx2/VMManager.cpp:1590-1598, app/src/main/java/com/sbro/emucorex/core/BiosValidator.kt:13-21"
- name: r27v1602f.8g - name: r27v1602f.8g
path: bios/r27v1602f.8g path: bios/r27v1602f.8g
@@ -175,9 +187,10 @@ files:
description: "Namco System 256 COH-H BIOS chip dump" description: "Namco System 256 COH-H BIOS chip dump"
note: >- note: >-
The System 256 counterpart, taken by the same path and the same widened The System 256 counterpart, taken by the same path and the same widened
size gate. Byte-identical to the r27v1602f.8g member of the MAME sys256 size gate. A System 256 or Super 256 arcade manifest selects this name
set. from the BIOS folder. Byte-identical to the r27v1602f.8g member of the
source_ref: "app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:16-17, app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:150-151, app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:176-190, app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:365-367, app/src/main/java/com/sbro/emucorex/core/BiosValidator.kt:13-21" MAME sys256 set.
source_ref: "app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:16-17, app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:150-151, app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:176-190, app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:365-367, app/src/main/cpp/pcsx2/pcsx2/VMManager.cpp:1590-1598, app/src/main/java/com/sbro/emucorex/core/BiosValidator.kt:13-21"
- name: ps2-0230a-20080220.rom1 - name: ps2-0230a-20080220.rom1
path: bios/ps2-0230a-20080220.rom1 path: bios/ps2-0230a-20080220.rom1
@@ -190,7 +203,7 @@ files:
the open. Copied to the ROM1 region and truncated to 4 MB. Logged and the open. Copied to the ROM1 region and truncated to 4 MB. Logged and
skipped when absent. The storage access framework import does not carry skipped when absent. The storage access framework import does not carry
this extension, so it is reachable only from a plain BIOS folder path. this extension, so it is reachable only from a plain BIOS folder path.
source_ref: "app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:214-241, app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:366, app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:371-381, app/src/main/java/com/sbro/emucorex/core/DocumentPathResolver.kt:25-27, app/src/main/java/com/sbro/emucorex/core/DocumentPathResolver.kt:433-438" source_ref: "app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:234-261, app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:388, app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:393-403, app/src/main/java/com/sbro/emucorex/core/DocumentPathResolver.kt:26-28, app/src/main/java/com/sbro/emucorex/core/DocumentPathResolver.kt:497-502"
- name: ps2-0230a-20080220.rom2 - name: ps2-0230a-20080220.rom2
aliases: aliases:
@@ -203,7 +216,7 @@ files:
note: >- note: >-
Same two-step naming as rom1, copied to the ROM2 region. Present on Chinese Same two-step naming as rom1, copied to the ROM2 region. Present on Chinese
region consoles. Carried by the same import restriction as rom1. region consoles. Carried by the same import restriction as rom1.
source_ref: "app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:214-241, app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:367, app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:371-381" source_ref: "app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:234-261, app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:389, app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:393-403"
- name: ps2-0230a-20080220.nvm - name: ps2-0230a-20080220.nvm
path: bios/ps2-0230a-20080220.nvm path: bios/ps2-0230a-20080220.nvm
@@ -217,8 +230,10 @@ files:
Carries the console id, the iLink id, the model number and the OSD Carries the console id, the iLink id, the model number and the OSD
configuration. A 1024 byte image is built in memory when the file is absent, configuration. A 1024 byte image is built in memory when the file is absent,
short, or carries a blank config block, filled with a fixed iLink id and the short, or carries a blank config block, filled with a fixed iLink id and the
language and region defaults of the detected BIOS region. language and region defaults of the detected BIOS region. Under a COH-H
source_ref: "app/src/main/cpp/pcsx2/pcsx2/CDVD/CDVD.cpp:46-47, app/src/main/cpp/pcsx2/pcsx2/CDVD/CDVD.cpp:160-163, app/src/main/cpp/pcsx2/pcsx2/CDVD/CDVD.cpp:165-189" BIOS the blank-block test is skipped and the built image is 0xFF-filled
with the iLink id alone.
source_ref: "app/src/main/cpp/pcsx2/pcsx2/CDVD/CDVD.cpp:47-48, app/src/main/cpp/pcsx2/pcsx2/CDVD/CDVD.cpp:139-162, app/src/main/cpp/pcsx2/pcsx2/CDVD/CDVD.cpp:164-167, app/src/main/cpp/pcsx2/pcsx2/CDVD/CDVD.cpp:169-193"
- name: ps2-0230a-20080220.mec - name: ps2-0230a-20080220.mec
path: bios/ps2-0230a-20080220.mec path: bios/ps2-0230a-20080220.mec
@@ -229,8 +244,9 @@ files:
description: "Mechacon version" description: "Mechacon version"
note: >- note: >-
Read at the BIOS path with the extension replaced by mec. Defaults to Read at the BIOS path with the extension replaced by mec. Defaults to
0x00020603 and is written back at that path when it cannot be read. 0x00020603, or 0x0104020a under a COH-H BIOS, and is written back at that
source_ref: "app/src/main/cpp/pcsx2/pcsx2/CDVD/CDVD.cpp:49, app/src/main/cpp/pcsx2/pcsx2/CDVD/CDVD.cpp:191-204" path when it cannot be read.
source_ref: "app/src/main/cpp/pcsx2/pcsx2/CDVD/CDVD.cpp:50-51, app/src/main/cpp/pcsx2/pcsx2/CDVD/CDVD.cpp:195-208"
- name: eeprom.dat - name: eeprom.dat
system: sony-playstation-2 system: sony-playstation-2
@@ -242,7 +258,7 @@ files:
Opened from the working directory when the network adapter starts and mapped Opened from the working directory when the network adapter starts and mapped
over 64 bytes. A compiled-in image stands in when the file is missing or over 64 bytes. A compiled-in image stands in when the file is missing or
cannot be mapped. cannot be mapped.
source_ref: "app/src/main/cpp/pcsx2/pcsx2/DEV9/DEV9.cpp:97-160" source_ref: "app/src/main/cpp/pcsx2/pcsx2/DEV9/DEV9.cpp:104-167"
- name: flash.dat - name: flash.dat
system: sony-playstation-2 system: sony-playstation-2
@@ -266,7 +282,7 @@ files:
Read into the ROM region at 0x3C0000 when the IOP program counter reaches Read into the ROM region at 0x3C0000 when the IOP program counter reaches
0x1630 and the setting is longer than three characters. The launcher fills 0x1630 and the setting is longer than three characters. The launcher fills
it from the boot parameters when the picked file is an IRX. Empty otherwise. it from the boot parameters when the picked file is an IRX. Empty otherwise.
source_ref: "app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:243-256, app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:384-385, app/src/main/cpp/pcsx2/pcsx2/VMManager.cpp:1434, app/src/main/cpp/ARM_ANDROID/src/runtime/upstream_vm_bridge.cpp:334" source_ref: "app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:263-276, app/src/main/cpp/pcsx2/pcsx2/ps2/BiosTools.cpp:406-407, app/src/main/cpp/pcsx2/pcsx2/R3000AInterpreter.cpp:220, app/src/main/cpp/pcsx2/pcsx2/arm64/iop/iR3000A-arm64.cpp:1695, app/src/main/cpp/pcsx2/pcsx2/VMManager.cpp:1846, app/src/main/cpp/ARM_ANDROID/src/runtime/upstream_vm_bridge.cpp:462-467"
- name: GameIndex.yaml - name: GameIndex.yaml
path: resources/GameIndex.yaml path: resources/GameIndex.yaml
@@ -280,7 +296,7 @@ files:
drives per-title rounding modes, clamp modes, GS hacks and memory card drives per-title rounding modes, clamp modes, GS hacks and memory card
filters. The Kotlin catalog reads the same file straight out of the package filters. The Kotlin catalog reads the same file straight out of the package
for the compatibility badges it draws. for the compatibility badges it draws.
source_ref: "app/src/main/cpp/pcsx2/pcsx2/GameDatabase.cpp:39, app/src/main/cpp/pcsx2/pcsx2/GameDatabase.cpp:976-977, app/src/main/java/com/sbro/emucorex/ui/gamedb/GameDbCatalogRepository.kt:96, app/src/main/java/com/sbro/emucorex/ui/gamedb/GameDbCatalogRepository.kt:202" source_ref: "app/src/main/cpp/pcsx2/pcsx2/GameDatabase.cpp:39, app/src/main/cpp/pcsx2/pcsx2/GameDatabase.cpp:1036-1037, app/src/main/java/com/sbro/emucorex/ui/gamedb/GameDbCatalogRepository.kt:97, app/src/main/java/com/sbro/emucorex/ui/gamedb/GameDbCatalogRepository.kt:202"
- name: RedumpDatabase.yaml - name: RedumpDatabase.yaml
path: resources/RedumpDatabase.yaml path: resources/RedumpDatabase.yaml
@@ -292,7 +308,7 @@ files:
note: >- note: >-
Opened from the resources directory and parsed into the hash database used Opened from the resources directory and parsed into the hash database used
to name a disc from its dump. to name a disc from its dump.
source_ref: "app/src/main/cpp/pcsx2/pcsx2/GameDatabase.cpp:1081, app/src/main/cpp/pcsx2/pcsx2/GameDatabase.cpp:1138-1139" source_ref: "app/src/main/cpp/pcsx2/pcsx2/GameDatabase.cpp:1141, app/src/main/cpp/pcsx2/pcsx2/GameDatabase.cpp:1198-1199"
- name: patches.zip - name: patches.zip
path: resources/patches.zip path: resources/patches.zip
@@ -304,8 +320,10 @@ files:
note: >- note: >-
Opened read only from the resources directory as a zip source and searched Opened read only from the resources directory as a zip source and searched
for the pnach matching the running serial and CRC. A failure to open is for the pnach matching the running serial and CRC. A failure to open is
reported once and the built-in patches are dropped for the session. reported once and the built-in patches are dropped for the session. The
source_ref: "app/src/main/cpp/pcsx2/pcsx2/Patch.cpp:117, app/src/main/cpp/pcsx2/pcsx2/Patch.cpp:289-310, app/src/main/java/com/sbro/emucorex/core/NativeApp.kt:163-165" app logs an error at startup when the copied archive is missing or holds
no pnach.
source_ref: "app/src/main/cpp/pcsx2/pcsx2/Patch.cpp:118, app/src/main/cpp/pcsx2/pcsx2/Patch.cpp:290-317, app/src/main/java/com/sbro/emucorex/core/NativeApp.kt:432-433, app/src/main/java/com/sbro/emucorex/core/NativeApp.kt:621-635"
- name: Roboto-Regular.ttf - name: Roboto-Regular.ttf
path: resources/fonts/Roboto-Regular.ttf path: resources/fonts/Roboto-Regular.ttf
@@ -316,7 +334,7 @@ files:
note: >- note: >-
Read by the adapter's own font setup before the VM starts and handed to the Read by the adapter's own font setup before the VM starts and handed to the
core as the standard font. An empty font list is logged as a setup failure. core as the standard font. An empty font list is logged as a setup failure.
source_ref: "app/src/main/cpp/ARM_ANDROID/src/runtime/upstream_vm_bridge.cpp:254-262, app/src/main/cpp/ARM_ANDROID/src/runtime/upstream_vm_bridge.cpp:271-282, app/src/main/cpp/ARM_ANDROID/src/runtime/upstream_vm_bridge.cpp:307" source_ref: "app/src/main/cpp/ARM_ANDROID/src/runtime/upstream_vm_bridge.cpp:384-392, app/src/main/cpp/ARM_ANDROID/src/runtime/upstream_vm_bridge.cpp:402-411, app/src/main/cpp/ARM_ANDROID/src/runtime/upstream_vm_bridge.cpp:437"
- name: Twemoji.Mozilla.ttf - name: Twemoji.Mozilla.ttf
path: resources/fonts/Twemoji.Mozilla.ttf path: resources/fonts/Twemoji.Mozilla.ttf
@@ -327,7 +345,7 @@ files:
note: >- note: >-
Read by the same font setup and appended as the emoji face. Skipped when the Read by the same font setup and appended as the emoji face. Skipped when the
file cannot be read. file cannot be read.
source_ref: "app/src/main/cpp/ARM_ANDROID/src/runtime/upstream_vm_bridge.cpp:263-270, app/src/main/cpp/ARM_ANDROID/src/runtime/upstream_vm_bridge.cpp:271-282" source_ref: "app/src/main/cpp/ARM_ANDROID/src/runtime/upstream_vm_bridge.cpp:393-400, app/src/main/cpp/ARM_ANDROID/src/runtime/upstream_vm_bridge.cpp:402-411"
- name: tfx.glsl - name: tfx.glsl
path: resources/shaders/vulkan/tfx.glsl path: resources/shaders/vulkan/tfx.glsl
@@ -338,7 +356,7 @@ files:
note: >- note: >-
Read from the resources directory when the Vulkan device is created. A read Read from the resources directory when the Vulkan device is created. A read
failure is reported and device creation fails. failure is reported and device creation fails.
source_ref: "app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Common/GSDevice.cpp:346-349, app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:2400-2404" source_ref: "app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Common/GSDevice.cpp:404-407, app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:2531-2535"
- name: convert.glsl - name: convert.glsl
path: resources/shaders/vulkan/convert.glsl path: resources/shaders/vulkan/convert.glsl
@@ -349,7 +367,7 @@ files:
note: >- note: >-
Read when the conversion pipelines are compiled and again as the vertex Read when the conversion pipelines are compiled and again as the vertex
stage of the FXAA pipeline. stage of the FXAA pipeline.
source_ref: "app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:4462-4466, app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:4847-4851" source_ref: "app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:4901-4905, app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:5247-5251"
- name: present.glsl - name: present.glsl
path: resources/shaders/vulkan/present.glsl path: resources/shaders/vulkan/present.glsl
@@ -357,7 +375,7 @@ files:
required: true required: true
bundled: true bundled: true
description: "Vulkan presentation shader" description: "Vulkan presentation shader"
source_ref: "app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:4676-4680" source_ref: "app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:5076-5080"
- name: interlace.glsl - name: interlace.glsl
path: resources/shaders/vulkan/interlace.glsl path: resources/shaders/vulkan/interlace.glsl
@@ -365,7 +383,7 @@ files:
required: true required: true
bundled: true bundled: true
description: "Vulkan deinterlacing shader" description: "Vulkan deinterlacing shader"
source_ref: "app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:4726-4730" source_ref: "app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:5126-5130"
- name: merge.glsl - name: merge.glsl
path: resources/shaders/vulkan/merge.glsl path: resources/shaders/vulkan/merge.glsl
@@ -373,7 +391,7 @@ files:
required: true required: true
bundled: true bundled: true
description: "Vulkan field merge shader" description: "Vulkan field merge shader"
source_ref: "app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:4777-4781" source_ref: "app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:5177-5181"
- name: shadeboost.glsl - name: shadeboost.glsl
path: resources/shaders/vulkan/shadeboost.glsl path: resources/shaders/vulkan/shadeboost.glsl
@@ -381,7 +399,7 @@ files:
required: true required: true
bundled: true bundled: true
description: "Vulkan brightness and contrast shader" description: "Vulkan brightness and contrast shader"
source_ref: "app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:4882-4886" source_ref: "app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:5282-5286"
- name: cas.glsl - name: cas.glsl
path: resources/shaders/vulkan/cas.glsl path: resources/shaders/vulkan/cas.glsl
@@ -394,7 +412,7 @@ files:
contents of the common headers. The Vulkan device compiles the CAS contents of the common headers. The Vulkan device compiles the CAS
pipelines unconditionally and returns on a failure, so a missing file stops pipelines unconditionally and returns on a failure, so a missing file stops
device creation rather than dropping the feature. device creation rather than dropping the feature.
source_ref: "app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:2438-2439, app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:4932-4934, app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Common/GSDevice.cpp:1038-1049" source_ref: "app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:2569-2570, app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:5333-5335, app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Common/GSDevice.cpp:1194-1205"
- name: imgui.glsl - name: imgui.glsl
path: resources/shaders/vulkan/imgui.glsl path: resources/shaders/vulkan/imgui.glsl
@@ -402,7 +420,7 @@ files:
required: true required: true
bundled: true bundled: true
description: "Vulkan overlay shader" description: "Vulkan overlay shader"
source_ref: "app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:4959-4962" source_ref: "app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:5359-5362"
- name: tfx_vgs.glsl - name: tfx_vgs.glsl
path: resources/shaders/opengl/tfx_vgs.glsl path: resources/shaders/opengl/tfx_vgs.glsl
@@ -412,7 +430,7 @@ files:
description: "OpenGL texture and framebuffer vertex shader" description: "OpenGL texture and framebuffer vertex shader"
note: >- note: >-
Read from the resources directory when the OpenGL device is created. Read from the resources directory when the OpenGL device is created.
source_ref: "app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Common/GSDevice.cpp:346-349, app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:778" source_ref: "app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Common/GSDevice.cpp:404-407, app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:918-924"
- name: tfx_fs.glsl - name: tfx_fs.glsl
path: resources/shaders/opengl/tfx_fs.glsl path: resources/shaders/opengl/tfx_fs.glsl
@@ -420,7 +438,7 @@ files:
required: true required: true
bundled: true bundled: true
description: "OpenGL texture and framebuffer fragment shader" description: "OpenGL texture and framebuffer fragment shader"
source_ref: "app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:779" source_ref: "app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:919-924"
- name: convert.glsl - name: convert.glsl
path: resources/shaders/opengl/convert.glsl path: resources/shaders/opengl/convert.glsl
@@ -428,7 +446,7 @@ files:
required: true required: true
bundled: true bundled: true
description: "OpenGL format conversion shader" description: "OpenGL format conversion shader"
source_ref: "app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:514-518" source_ref: "app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:602-606"
- name: present.glsl - name: present.glsl
path: resources/shaders/opengl/present.glsl path: resources/shaders/opengl/present.glsl
@@ -436,7 +454,7 @@ files:
required: true required: true
bundled: true bundled: true
description: "OpenGL presentation shader" description: "OpenGL presentation shader"
source_ref: "app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:584" source_ref: "app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:688-692"
- name: interlace.glsl - name: interlace.glsl
path: resources/shaders/opengl/interlace.glsl path: resources/shaders/opengl/interlace.glsl
@@ -444,7 +462,7 @@ files:
required: true required: true
bundled: true bundled: true
description: "OpenGL deinterlacing shader" description: "OpenGL deinterlacing shader"
source_ref: "app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:643" source_ref: "app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:747-751"
- name: merge.glsl - name: merge.glsl
path: resources/shaders/opengl/merge.glsl path: resources/shaders/opengl/merge.glsl
@@ -452,7 +470,7 @@ files:
required: true required: true
bundled: true bundled: true
description: "OpenGL field merge shader" description: "OpenGL field merge shader"
source_ref: "app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:620" source_ref: "app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:724-728"
- name: shadeboost.glsl - name: shadeboost.glsl
path: resources/shaders/opengl/shadeboost.glsl path: resources/shaders/opengl/shadeboost.glsl
@@ -460,7 +478,7 @@ files:
required: true required: true
bundled: true bundled: true
description: "OpenGL brightness and contrast shader" description: "OpenGL brightness and contrast shader"
source_ref: "app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:2423" source_ref: "app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:767-768, app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:2868-2872"
- name: cas.glsl - name: cas.glsl
path: resources/shaders/opengl/cas.glsl path: resources/shaders/opengl/cas.glsl
@@ -469,9 +487,10 @@ files:
bundled: true bundled: true
description: "OpenGL contrast adaptive sharpening shader" description: "OpenGL contrast adaptive sharpening shader"
note: >- note: >-
Read as a compute program with the two include lines substituted, and needs Read as a compute program with the two include lines substituted, and
an ES 3.1 or 3.2 context. A failure turns CAS sharpening off. tried only on an ES 3.2 context or on GL 4.2 with compute shaders. A
source_ref: "app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:2577-2597, app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Common/GSDevice.cpp:1038-1049" failure turns CAS sharpening off.
source_ref: "app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:771, app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:3068-3088, app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Common/GSDevice.cpp:1194-1205"
- name: imgui.glsl - name: imgui.glsl
path: resources/shaders/opengl/imgui.glsl path: resources/shaders/opengl/imgui.glsl
@@ -479,7 +498,7 @@ files:
required: true required: true
bundled: true bundled: true
description: "OpenGL overlay shader" description: "OpenGL overlay shader"
source_ref: "app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:2661" source_ref: "app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:3152-3156"
- name: fxaa.fx - name: fxaa.fx
path: resources/shaders/common/fxaa.fx path: resources/shaders/common/fxaa.fx
@@ -490,9 +509,10 @@ files:
note: >- note: >-
Read as the fragment stage of the FXAA pipeline on Vulkan, inside the Read as the fragment stage of the FXAA pipeline on Vulkan, inside the
post-processing pipelines the device creation chain requires, so a missing post-processing pipelines the device creation chain requires, so a missing
file stops device creation there. On OpenGL the program is compiled on its file stops device creation there. On OpenGL the program is compiled beside
own and an invalid one makes the FXAA pass return without drawing. the shadeboost one in the device creation chain, which returns on a read
source_ref: "app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:2425-2430, app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:4854-4858, app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:2385-2390, app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:2404-2407" failure.
source_ref: "app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:2556-2561, app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:5254-5258, app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:767-768, app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:2611-2619"
- name: ffx_a.h - name: ffx_a.h
path: resources/shaders/common/ffx_a.h path: resources/shaders/common/ffx_a.h
@@ -505,7 +525,7 @@ files:
of the CAS shader, the compilers having no include support. It shares the of the CAS shader, the compilers having no include support. It shares the
fate of the CAS shader it is pasted into: fatal to device creation on fate of the CAS shader it is pasted into: fatal to device creation on
Vulkan, and only the sharpening feature on OpenGL. Vulkan, and only the sharpening feature on OpenGL.
source_ref: "app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Common/GSDevice.cpp:1038-1049, app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:2438-2439, app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:667" source_ref: "app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Common/GSDevice.cpp:1194-1205, app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:2569-2570, app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:771"
- name: ffx_cas.h - name: ffx_cas.h
path: resources/shaders/common/ffx_cas.h path: resources/shaders/common/ffx_cas.h
@@ -516,7 +536,7 @@ files:
note: >- note: >-
Read and substituted the same way as the other CAS header, with the same Read and substituted the same way as the other CAS header, with the same
consequence per renderer when it is missing. consequence per renderer when it is missing.
source_ref: "app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Common/GSDevice.cpp:1038-1049, app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:2438-2439, app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:667" source_ref: "app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Common/GSDevice.cpp:1194-1205, app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:2569-2570, app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:771"
- name: message.wav - name: message.wav
path: resources/sounds/achievements/message.wav path: resources/sounds/achievements/message.wav
@@ -528,9 +548,9 @@ files:
raised and no custom sound is configured. Sound effects and the notification raised and no custom sound is configured. Sound effects and the notification
sound both default on. The vendored tree carries only the README for this sound both default on. The vendored tree carries only the README for this
directory, so the file has to be supplied; the Android sound callback directory, so the file has to be supplied; the Android sound callback
returns without playing when the path is not a file. Upstream v2.7.316 returns without playing when the path is not a file. Upstream v2.8.0
ships it at 15696 bytes. ships it at 15696 bytes.
source_ref: "app/src/main/cpp/ARM_ANDROID/src/integration/pcsx2_achievements_android.cpp:81, app/src/main/cpp/ARM_ANDROID/src/integration/pcsx2_achievements_android.cpp:1245-1250, app/src/main/cpp/pcsx2/pcsx2/Pcsx2Config.cpp:1951-1954, app/src/main/java/com/sbro/emucorex/core/NativeApp.kt:194-200" source_ref: "app/src/main/cpp/ARM_ANDROID/src/integration/pcsx2_achievements_android.cpp:81, app/src/main/cpp/ARM_ANDROID/src/integration/pcsx2_achievements_android.cpp:1245-1250, app/src/main/cpp/pcsx2/pcsx2/Pcsx2Config.cpp:1963-1966, app/src/main/java/com/sbro/emucorex/core/NativeApp.kt:461-467"
- name: unlock.wav - name: unlock.wav
path: resources/sounds/achievements/unlock.wav path: resources/sounds/achievements/unlock.wav
@@ -539,7 +559,7 @@ files:
description: "achievement unlock sound" description: "achievement unlock sound"
note: >- note: >-
Played on an unlock under the same two settings, both on by default. Absent Played on an unlock under the same two settings, both on by default. Absent
from the vendored tree. Upstream v2.7.316 ships it at 202702 bytes. from the vendored tree. Upstream v2.8.0 ships it at 202702 bytes.
source_ref: "app/src/main/cpp/ARM_ANDROID/src/integration/pcsx2_achievements_android.cpp:82, app/src/main/cpp/ARM_ANDROID/src/integration/pcsx2_achievements_android.cpp:1313-1318" source_ref: "app/src/main/cpp/ARM_ANDROID/src/integration/pcsx2_achievements_android.cpp:82, app/src/main/cpp/ARM_ANDROID/src/integration/pcsx2_achievements_android.cpp:1313-1318"
- name: lbsubmit.wav - name: lbsubmit.wav
@@ -549,7 +569,7 @@ files:
description: "leaderboard submission sound" description: "leaderboard submission sound"
note: >- note: >-
Played on a leaderboard submission under the same two settings, both on by Played on a leaderboard submission under the same two settings, both on by
default. Absent from the vendored tree. Upstream v2.7.316 ships it at 82096 default. Absent from the vendored tree. Upstream v2.8.0 ships it at 82096
bytes. bytes.
source_ref: "app/src/main/cpp/ARM_ANDROID/src/integration/pcsx2_achievements_android.cpp:83, app/src/main/cpp/ARM_ANDROID/src/integration/pcsx2_achievements_android.cpp:1458-1463" source_ref: "app/src/main/cpp/ARM_ANDROID/src/integration/pcsx2_achievements_android.cpp:83, app/src/main/cpp/ARM_ANDROID/src/integration/pcsx2_achievements_android.cpp:1458-1463"
@@ -564,7 +584,7 @@ files:
SQLite catalog carried in the package assets and copied into internal SQLite catalog carried in the package assets and copied into internal
storage the first time the catalog is queried, then read from there. A copy storage the first time the catalog is queried, then read from there. A copy
already present is kept. already present is kept.
source_ref: "app/src/main/java/com/sbro/emucorex/data/ps2/Ps2CatalogRepository.kt:18, app/src/main/java/com/sbro/emucorex/data/ps2/Ps2CatalogRepository.kt:38-56" source_ref: "app/src/main/java/com/sbro/emucorex/data/ps2/Ps2CatalogRepository.kt:17-18, app/src/main/java/com/sbro/emucorex/data/ps2/Ps2CatalogRepository.kt:27, app/src/main/java/com/sbro/emucorex/data/ps2/Ps2CatalogRepository.kt:39-56"
- name: "<SERIAL>_<CRC>.pnach" - name: "<SERIAL>_<CRC>.pnach"
path: "cheats/<SERIAL>_<CRC>.pnach" path: "cheats/<SERIAL>_<CRC>.pnach"
@@ -576,9 +596,12 @@ files:
note: >- note: >-
The cheats folder is searched for the running serial and CRC, then for files The cheats folder is searched for the running serial and CRC, then for files
carrying the CRC alone, both with a trailing wildcard so a suffix after the carrying the CRC alone, both with a trailing wildcard so a suffix after the
CRC is kept. The patches folder is searched the same way for patches rather CRC is kept. An arcade title, whose serial starts with NM and whose CRC is
than cheats. The app also imports pnach files out of a picked zip. zero, is matched on the serial alone. The patches folder is searched the
source_ref: "app/src/main/cpp/pcsx2/pcsx2/Patch.cpp:331-342, app/src/main/cpp/pcsx2/pcsx2/Patch.cpp:344-366, app/src/main/java/com/sbro/emucorex/core/NativeApp.kt:355" same way for patches rather than cheats. The app's cheat manager keeps a
picked pnach document in its own store and writes the enabled blocks into
the cheats folder as <SERIAL>_<CRC>.pnach, or <CRC>.pnach without a serial.
source_ref: "app/src/main/cpp/pcsx2/pcsx2/Patch.cpp:332-345, app/src/main/cpp/pcsx2/pcsx2/Patch.cpp:347-369, app/src/main/java/com/sbro/emucorex/ui/cheats/CheatManagerScreen.kt:291-309, app/src/main/java/com/sbro/emucorex/data/CheatRepository.kt:186-220, app/src/main/java/com/sbro/emucorex/data/CheatRepository.kt:304-311"
- name: "<hash>.png" - name: "<hash>.png"
path: "textures/<SERIAL>/replacements/<hash>.png" path: "textures/<SERIAL>/replacements/<hash>.png"
@@ -598,17 +621,20 @@ files:
- name: "<driver>.zip" - name: "<driver>.zip"
system: sony-playstation-2 system: sony-playstation-2
required: false required: false
unsourceable: "Vulkan driver built for one Adreno family, not an emulator artefact" unsourceable: "Vulkan driver built for one GPU family, not an emulator artefact"
description: "replacement Vulkan driver package" description: "replacement Vulkan driver package"
note: >- note: >-
Listed by a catalog fetched from the EmuCoreV-Drivers repository, or picked Listed by a catalog fetched from the EmuCoreV-Drivers repository, or picked
from the device. The archive is unpacked into a directory named after it from the device. A catalog download whose length differs from the size the
under driver in internal storage, entries carrying a parent path segment catalog states is discarded. The archive is unpacked into a directory named
being refused, and the Vulkan library it holds is recorded in a after it under driver in internal storage, entries carrying a parent path
driver_name.txt written beside it. The renderer then resolves the driver segment being refused, and the Vulkan library it holds is recorded in a
through adrenotools from that pair. The system loader is used when no driver driver_name.txt written beside it. The install is removed when that library
is configured. does not start with the ELF magic or when its GPU vendor, taken from the
source_ref: "app/src/main/java/com/sbro/emucorex/core/GpuDriverCatalogRepository.kt:131-135, app/src/main/java/com/sbro/emucorex/core/GpuDriverManager.kt:89-128, app/src/main/java/com/sbro/emucorex/core/GpuDriverManager.kt:135-141, app/src/main/cpp/ARM_ANDROID/src/runtime/android_runtime.cpp:98-112, app/src/main/cpp/ARM_ANDROID/src/runtime/android_runtime.cpp:362" catalog or from markers in the library, does not match the device. The
renderer then resolves the driver through adrenotools from that pair. The
system loader is used when no driver is configured.
source_ref: "app/src/main/java/com/sbro/emucorex/core/GpuDriverCatalogRepository.kt:143-147, app/src/main/java/com/sbro/emucorex/core/GpuDriverCatalogRepository.kt:76-87, app/src/main/java/com/sbro/emucorex/core/GpuDriverManager.kt:98-170, app/src/main/java/com/sbro/emucorex/core/GpuDriverManager.kt:172-181, app/src/main/java/com/sbro/emucorex/core/GpuDriverManager.kt:214-228, app/src/main/cpp/ARM_ANDROID/src/runtime/android_runtime.cpp:138-152, app/src/main/cpp/ARM_ANDROID/src/runtime/android_runtime.cpp:401-402, app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Vulkan/VKLoader.cpp:136, app/src/main/cpp/pcsx2/pcsx2/GS/Renderers/Vulkan/VKLoader.cpp:200-206"
exclusion_note: > exclusion_note: >
Left out are the parts of the bundled resource tree that this platform compiles Left out are the parts of the bundled resource tree that this platform compiles
@@ -629,19 +655,20 @@ exclusion_note: >
reads back, which is state rather than system files: the inis, the per-game reads back, which is state rather than system files: the inis, the per-game
settings and input profiles, the memory cards, the save states, the snapshots, settings and input profiles, the memory cards, the save states, the snapshots,
the shader and texture caches, the logs, the dumped textures, and the the shader and texture caches, the logs, the dumped textures, and the
system-ca-bundle.pem the app exports from the Android trust store. The covers system-ca-bundle.pem the app exports from the Android trust store, and the
folder is inert: its only readers are the FullscreenUI game list and per-title arcade content a manifest names. The covers folder is inert: its
GameList::DownloadCovers, which has no caller, and the app runs its own cover only readers are the FullscreenUI game list and GameList::DownloadCovers,
cache. which only FullscreenUI calls, and the app runs its own cover cache.
ref: app/src/main/cpp/pcsx2/pcsx2/ImGui/ImGuiManager.cpp:133-136, ref: app/src/main/cpp/pcsx2/pcsx2/ImGui/ImGuiManager.cpp:149-152,
app/src/main/cpp/pcsx2/pcsx2/ImGui/ImGuiManager.cpp:193-198, app/src/main/cpp/pcsx2/pcsx2/ImGui/ImGuiManager.cpp:224-229,
app/src/main/cpp/pcsx2/pcsx2/ImGui/ImGuiManager.cpp:449-511, app/src/main/cpp/pcsx2/pcsx2/ImGui/ImGuiManager.cpp:483-536,
app/src/main/cpp/pcsx2/pcsx2/ImGui/FullscreenUI.cpp:335, app/src/main/cpp/pcsx2/pcsx2/ImGui/FullscreenUI.cpp:323,
app/src/main/cpp/pcsx2/pcsx2/CMakeLists.txt:691, app/src/main/cpp/pcsx2/pcsx2/CMakeLists.txt:706,
app/src/main/cpp/pcsx2/pcsx2/CMakeLists.txt:708-712, app/src/main/cpp/pcsx2/pcsx2/CMakeLists.txt:723-734,
app/src/main/cpp/pcsx2/pcsx2/Input/SDLInputSource.cpp:24, app/src/main/cpp/pcsx2/pcsx2/Input/SDLInputSource.cpp:24,
app/src/main/cpp/ARM_ANDROID/CMakeLists.txt:239-243, app/src/main/cpp/ARM_ANDROID/CMakeLists.txt:259-263,
app/src/main/cpp/pcsx2/pcsx2/Pcsx2Config.cpp:2439-2446, app/src/main/cpp/pcsx2/pcsx2/Pcsx2Config.cpp:2452-2466,
app/src/main/cpp/pcsx2/pcsx2/GameList.cpp:1336, app/src/main/cpp/pcsx2/pcsx2/GameList.cpp:1376,
app/src/main/java/com/sbro/emucorex/data/ps2/Ps2CatalogRepository.kt:191-203, app/src/main/cpp/pcsx2/pcsx2/ImGui/FullscreenUI.cpp:3640,
app/src/main/java/com/sbro/emucorex/core/NativeApp.kt:166-171 app/src/main/java/com/sbro/emucorex/data/ps2/Ps2CatalogRepository.kt:235-248,
app/src/main/java/com/sbro/emucorex/core/NativeApp.kt:434-436
+33 -30
View File
@@ -3,10 +3,10 @@ type: libretro
core_classification: enhanced_fork core_classification: enhanced_fork
source: "https://github.com/TASEmulators/freej2me-plus" source: "https://github.com/TASEmulators/freej2me-plus"
upstream: "https://github.com/hex007/freej2me" upstream: "https://github.com/hex007/freej2me"
profiled_date: "2026-09-17" profiled_date: "2026-10-04"
source_commit: "631cf3f8edf18ce8ef2e9de46bd2dad50d6411a2" source_commit: "68069d79aa6ed106eb788a640a8294a0db55fdcd"
upstream_commit: "8b9bc8a19baf26e3d92f88934a64a32f1cbc2795" upstream_commit: "8b9bc8a19baf26e3d92f88934a64a32f1cbc2795"
core_version: "1.52" core_version: "1.53"
display_name: "Mobile - J2ME (FreeJ2ME-Plus)" display_name: "Mobile - J2ME (FreeJ2ME-Plus)"
cores: cores:
- freej2me_plus - freej2me_plus
@@ -20,23 +20,25 @@ notes: |
directory, checks that freej2me_plus-lr.jar exists there and spawns directory, checks that freej2me_plus-lr.jar exists there and spawns
java -jar with the file encoding and the screen size as arguments, then java -jar with the file encoding and the screen size as arguments, then
drives the Java process over pipes. Windows launches javaw through drives the Java process over pipes. Windows launches javaw through
CreateProcess with the system directory as starting directory; Linux CreateProcess with the system directory as starting directory; Linux and
forks, chdir()s into it and execvp()s java. A Java runtime (8 or later) macOS fork, chdir() into it and execvp() java. A Java runtime must be on
must be on the host PATH. The jar is built by ant from build.xml, which the host PATH, and the start failure message asks for Java 6 or newer. The
writes the libretro variant as freej2me_plus-lr.jar. jar is built by ant from build.xml, which writes the libretro variant as
ref: src/libretro/freej2me_libretro.c:38-42, freej2me_plus-lr.jar.
src/libretro/freej2me_libretro.c:845-874, ref: src/libretro/freej2me_libretro.c:38-45,
src/libretro/freej2me_libretro.c:1566-1568, src/libretro/freej2me_libretro.c:859-888,
src/libretro/freej2me_libretro.c:1665-1674, src/libretro/freej2me_libretro.c:1556-1582,
build.xml:66-76 src/libretro/freej2me_libretro.c:1679-1688,
src/libretro/freej2me_libretro.h:80,
build.xml:86-99
Only existence is tested. When the jar is absent the core posts the Only existence is tested. When the jar is absent the core posts the
SYSTEM_NOT_FOUND message and returns from retro_init before any process is SYSTEM_NOT_FOUND message and returns from retro_init before any process is
created, so nothing loads. The message text still names freej2me-lr.jar, created, so nothing loads. The message text still names freej2me-lr.jar,
the file the original core opens; this core opens freej2me_plus-lr.jar. the file the original core opens; this core opens freej2me_plus-lr.jar.
ref: src/libretro/freej2me_libretro.c:334-341, ref: src/libretro/freej2me_libretro.c:339-346,
src/libretro/freej2me_libretro.c:852-858, src/libretro/freej2me_libretro.c:866-872,
src/libretro/freej2me_libretro.h:74 src/libretro/freej2me_libretro.h:73-79
Every relative path the jar opens resolves against the system directory, Every relative path the jar opens resolves against the system directory,
since the Java process starts there. freej2me_system/ is created on first since the Java process starts there. freej2me_system/ is created on first
@@ -48,11 +50,11 @@ notes: |
config/<suite>/game.conf), falling back to the system directory when the config/<suite>/game.conf), falling back to the system directory when the
frontend has no save directory. frontend has no save directory.
ref: src/org/recompile/freej2me/Config.java:47-48, ref: src/org/recompile/freej2me/Config.java:47-48,
src/org/recompile/freej2me/Config.java:186-205, src/org/recompile/freej2me/Config.java:186-206,
src/org/recompile/mobile/Mobile.java:117-119, src/org/recompile/mobile/Mobile.java:121-123,
src/org/recompile/mobile/Mobile.java:131, src/org/recompile/mobile/Mobile.java:135,
src/libretro/freej2me_libretro.c:912-920, src/libretro/freej2me_libretro.c:926-934,
src/org/recompile/freej2me/Libretro.java:198-202, src/org/recompile/freej2me/Libretro.java:201-205,
src/javax/microedition/rms/RecordStore.java:111 src/javax/microedition/rms/RecordStore.java:111
Two files are user supplied and optional. With the freej2me_midifont core Two files are user supplied and optional. With the freej2me_midifont core
@@ -63,14 +65,15 @@ notes: |
freej2me_system/customFont/; off, the AWT SansSerif, Monospaced and Dialog freej2me_system/customFont/; off, the AWT SansSerif, Monospaced and Dialog
faces are used. Both directories are created with a placeholder file when faces are used. Both directories are created with a placeholder file when
missing, and neither file has a fixed name. missing, and neither file has a fixed name.
ref: src/libretro/freej2me_libretro.c:459-471, ref: src/libretro/freej2me_libretro.c:464-469,
src/org/recompile/freej2me/Libretro.java:236, src/libretro/freej2me_libretro.c:480-485,
src/org/recompile/freej2me/Libretro.java:250, src/org/recompile/freej2me/Libretro.java:240,
src/org/recompile/mobile/Mobile.java:987-993, src/org/recompile/freej2me/Libretro.java:254,
src/javax/microedition/media/Manager.java:53, src/org/recompile/mobile/Mobile.java:1056-1064,
src/javax/microedition/media/Manager.java:325-346, src/javax/microedition/media/Manager.java:55,
src/javax/microedition/media/Manager.java:328-351,
src/org/recompile/mobile/PlatformFont.java:63, src/org/recompile/mobile/PlatformFont.java:63,
src/org/recompile/mobile/PlatformFont.java:102-119 src/org/recompile/mobile/PlatformFont.java:133-154
files: files:
- name: "freej2me_plus-lr.jar" - name: "freej2me_plus-lr.jar"
@@ -80,7 +83,7 @@ files:
validation: [existence] validation: [existence]
description: "FreeJ2ME-Plus libretro Java application" description: "FreeJ2ME-Plus libretro Java application"
note: "Java program the native core launches with java -jar from the system directory root. Built by ant from build.xml at the pinned revision; the code reads no size and no hash." note: "Java program the native core launches with java -jar from the system directory root. Built by ant from build.xml at the pinned revision; the code reads no size and no hash."
source_ref: "src/libretro/freej2me_libretro.c:38-42 (freej2meapp), src/libretro/freej2me_libretro.c:845-861 (GET_SYSTEM_DIRECTORY, freej2me_present, SYSTEM_NOT_FOUND_MSG), src/libretro/freej2me_libretro.c:334-341 (access F_OK), src/libretro/freej2me_libretro.c:863-874 (java -jar argv), build.xml:66-76 (destfile)" source_ref: "src/libretro/freej2me_libretro.c:38-45 (freej2meapp), src/libretro/freej2me_libretro.c:859-875 (GET_SYSTEM_DIRECTORY, freej2me_present, SYSTEM_NOT_FOUND_MSG), src/libretro/freej2me_libretro.c:339-346 (access F_OK), src/libretro/freej2me_libretro.c:877-888 (java -jar argv), build.xml:86-99 (destfile)"
- name: "<soundfont>.sf2" - name: "<soundfont>.sf2"
system: j2me system: j2me
@@ -90,7 +93,7 @@ files:
category: game_data category: game_data
description: "MIDI soundbank for J2ME audio" description: "MIDI soundbank for J2ME audio"
note: "First .sf2 or .gm in the directory listing, loaded through MidiSystem.getSoundbank when the freej2me_midifont option is on. A rejected file is logged and the JVM default soundbank stays." note: "First .sf2 or .gm in the directory listing, loaded through MidiSystem.getSoundbank when the freej2me_midifont option is on. A rejected file is logged and the JVM default soundbank stays."
source_ref: "src/javax/microedition/media/Manager.java:53, src/javax/microedition/media/Manager.java:325-346, src/org/recompile/mobile/Mobile.java:987-989" source_ref: "src/javax/microedition/media/Manager.java:55, src/javax/microedition/media/Manager.java:328-351, src/org/recompile/mobile/Mobile.java:1056-1058"
- name: "<font>.ttf" - name: "<font>.ttf"
system: j2me system: j2me
@@ -100,4 +103,4 @@ files:
category: game_data category: game_data
description: "TrueType font for J2ME text" description: "TrueType font for J2ME text"
note: "First .ttf, .otf or .ttc in the directory listing, loaded through Font.createFont when the freej2me_textfont option is on. A rejected file is logged and the AWT faces stay." note: "First .ttf, .otf or .ttc in the directory listing, loaded through Font.createFont when the freej2me_textfont option is on. A rejected file is logged and the AWT faces stay."
source_ref: "src/org/recompile/mobile/PlatformFont.java:63, src/org/recompile/mobile/PlatformFont.java:102-119, src/org/recompile/mobile/Mobile.java:991-993" source_ref: "src/org/recompile/mobile/PlatformFont.java:63, src/org/recompile/mobile/PlatformFont.java:133-154, src/org/recompile/mobile/Mobile.java:1062-1064"
+8 -8
View File
@@ -5,8 +5,8 @@ source: "https://github.com/glKarin/com.n0n3m4.diii4a"
upstream: "https://github.com/glKarin/com.n0n3m4.diii4a" upstream: "https://github.com/glKarin/com.n0n3m4.diii4a"
author: "glKarin" author: "glKarin"
profiled_date: "2026-09-17" profiled_date: "2026-09-17"
source_commit: "e4d1382275155b18d51f91c3e1af35ca1fd16e13" source_commit: "ce49510f3b0c04969eab8ebe8238416e84e4f0bb"
core_version: "1.1.0harmattan72" core_version: "1.1.0harmattan73"
display_name: "id Tech engine collection (idTech4A++)" display_name: "id Tech engine collection (idTech4A++)"
cores: cores:
- "idtech4a++" - "idtech4a++"
@@ -48,10 +48,10 @@ notes: |
application starts a game directly through com.n0n3m4.q3e.Q3EMain with a `game` application starts a game directly through com.n0n3m4.q3e.Q3EMain with a `game`
extra carrying the game token and a `command` extra carrying an argument vector extra carrying the game token and a `command` extra carrying an argument vector
that begins with `game.arm`. that begins with `game.arm`.
ref: README.md:13-26, 237-251, ref: README.md:13-26, 248-262,
Q3E/src/main/java/com/n0n3m4/q3e/Q3EGameConstants.java:8-33, 91-116, 303, Q3E/src/main/java/com/n0n3m4/q3e/Q3EGameConstants.java:8-33, 91-116, 303,
Q3E/src/main/java/com/n0n3m4/q3e/Q3EGlobals.java:9, Q3E/src/main/java/com/n0n3m4/q3e/Q3EGlobals.java:9,
idTech4Amm/build.gradle:13-14, 23 idTech4Amm/build.gradle:10-14, 23
Game data lives under a working directory, `/sdcard/diii4a` unless the Game data lives under a working directory, `/sdcard/diii4a` unless the
preference names another, and each game reads a base folder inside it. With the preference names another, and each game reads a base folder inside it. With the
@@ -419,7 +419,7 @@ files:
sort last. It holds the defs, scripts and multiplayer AAS files the bot sort last. It holds the defs, scripts and multiplayer AAS files the bot
commands need. A second entry repacks only the `maps/` tree into commands need. A second entry repacks only the `maps/` tree into
zzz_idTech4Amm_d3_sabot_a7_aas.pk4 for users who already have the mod. zzz_idTech4Amm_d3_sabot_a7_aas.pk4 for users who already have the mod.
source_ref: "Q3E/src/main/java/com/n0n3m4/q3e/Q3EPatchResourceManager.java:48-58, 129-140, README.md:256-259" source_ref: "Q3E/src/main/java/com/n0n3m4/q3e/Q3EPatchResourceManager.java:48-58, 129-140, README.md:267-270"
- name: q4_sabot_a9.pk4 - name: q4_sabot_a9.pk4
required: false required: false
@@ -433,7 +433,7 @@ files:
note: >- note: >-
The Quake 4 counterpart, extracted the same way, with the same The Quake 4 counterpart, extracted the same way, with the same
maps-only variant written as zzz_idTech4Amm_q4_sabot_a9_aas.pk4. maps-only variant written as zzz_idTech4Amm_q4_sabot_a9_aas.pk4.
source_ref: "Q3E/src/main/java/com/n0n3m4/q3e/Q3EPatchResourceManager.java:36-46, 116-127, README.md:256-259" source_ref: "Q3E/src/main/java/com/n0n3m4/q3e/Q3EPatchResourceManager.java:36-46, 116-127, README.md:267-270"
- name: play_original_doom3_level.pk4 - name: play_original_doom3_level.pk4
required: false required: false
@@ -461,7 +461,7 @@ files:
note: >- note: >-
Copied into the DOOM 3 base folder on request. It pairs with the Copied into the DOOM 3 base folder on request. It pairs with the
wide-character language and BFG font support compiled into the engine. wide-character language and BFG font support compiled into the engine.
source_ref: "Q3E/src/main/java/com/n0n3m4/q3e/Q3EPatchResourceManager.java:105-114, README.md:37, 168-169" source_ref: "Q3E/src/main/java/com/n0n3m4/q3e/Q3EPatchResourceManager.java:105-114, README.md:37, README.md:174-175"
- name: controls_theme.zipak - name: controls_theme.zipak
required: false required: false
@@ -560,7 +560,7 @@ files:
architecture, gameaarch64.so on arm64 and gamearm.so on armv7. Without it architecture, gameaarch64.so on arm64 and gamearm.so on armv7. Without it
the engine keeps the game code built into the apk. The launcher also the engine keeps the game code built into the apk. The launcher also
accepts a full path to any libxxxxx.so instead. accepts a full path to any libxxxxx.so instead.
source_ref: "Q3E/src/main/java/com/n0n3m4/q3e/Q3EGameHelper.java:342-372, 429-434, idTech4Amm/src/main/java/com/n0n3m4/DIII4A/launcher/AddExternalLibraryFunc.java:71-86, README.md:229-233, 241-251" source_ref: "Q3E/src/main/java/com/n0n3m4/q3e/Q3EGameHelper.java:342-372, 429-434, idTech4Amm/src/main/java/com/n0n3m4/DIII4A/launcher/AddExternalLibraryFunc.java:71-86, README.md:240-244, README.md:252-262"
- name: server.so - name: server.so
required: false required: false