mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-10 21:43:23 -05:00
541 lines
24 KiB
YAML
541 lines
24 KiB
YAML
emulator: FPseNG
|
|
type: standalone
|
|
core_classification: other
|
|
source: "https://play.google.com/store/apps/details?id=com.emulator.fpse64"
|
|
upstream: closed-source
|
|
author: "Schtruck & LDchen"
|
|
profiled_date: "2026-08-11"
|
|
core_version: "1.13"
|
|
display_name: "Sony - PlayStation (FPseNG)"
|
|
cores:
|
|
- "fpse-ng"
|
|
- "fpseng"
|
|
- "fpse64"
|
|
systems:
|
|
- sony-playstation
|
|
mode: standalone
|
|
bios_directory: "bios/"
|
|
bios_size: 524288
|
|
|
|
notes: |
|
|
PlayStation emulator for Android, closed source, sold on Google Play as package
|
|
com.emulator.fpse64 and named FPse64 until the rename. The build read here is
|
|
1.13, versionCode 245, minSdk 23, targetSdk 33, activity
|
|
com.emulator.fpse64.Main. Google signs the package through Play App Signing,
|
|
CN=Android O=Google Inc. issued 2020-05-02, sha256
|
|
5df4c204abac4d2a10c4b8f497689e28c2bfb5dc44a56081ebb4a5e1c2f1d27f, and that
|
|
signature block travels inside the copy read here: the repackager kept the
|
|
original apk as assets/SignatureKiller/origin.apk, whose MANIFEST.MF carries
|
|
the sha256 of all 1278 entries of the distributed build. 1274 match byte for
|
|
byte, among them every native library and every resource; AndroidManifest.xml,
|
|
classes.dex and resources.arsc differ, stamp-cert-sha256 is dropped and one
|
|
class, bin/mt/signature/KillerApplication, is added. Native code and resources
|
|
are therefore the distributed ones and the java below is the application's own,
|
|
minus that injection. A second copy, apkvision 1.8, is signed with the Android
|
|
test key and ships three of the eight libraries its own core links against; it
|
|
is read only to confirm that the preference key, the two size tests and the
|
|
checksum constant below are the application's and not the repackager's.
|
|
ref: com.emulator.fpse64 1.13 assets/SignatureKiller/origin.apk
|
|
META-INF/GOOGPLAY.RSA, META-INF/MANIFEST.MF
|
|
|
|
Two roots hold everything. The private files directory of the package is the
|
|
one the core is given, and bios, plugin, cfg and skin are created under it
|
|
right after the libraries load; the emulator resolves its own paths against it.
|
|
The second is a directory named FPse64 at the root of shared storage, holding
|
|
memcards, cheats, shaders, ogl, sbi, sstates, titles, icons, videos and
|
|
filelist.txt. Paths below are relative to the first root unless they name the
|
|
second.
|
|
ref: Main.java:36420, Main.java:3004, Main.java:27329-27332,
|
|
Main.java:27458-27459, Main.java:30411-30413
|
|
|
|
Exactly one BIOS image is ever loaded and its full path is a setting rather
|
|
than a name the code looks for. The Load Bios browser keeps .bin files and
|
|
lists only those of exactly 524288 bytes, the chosen path is written to the
|
|
preference com.emulator.fpse64.biospath and pushed into the core as string
|
|
slot 6, and the stored path is re-checked at every start: a file that no longer
|
|
exists or is not exactly 524288 bytes clears the preference and the session
|
|
runs on HLE. Slot 6 receives the empty string whenever the path is empty, the
|
|
BIOS switch is off or the launching intent carried bios=0, which is the
|
|
documented way to ask for HLE; the shortcuts the application pins carry that
|
|
same extra. On the core side the value is opened as given, then retried below
|
|
bios/ under the root, so a bare name resolves there; a hit is read as one block
|
|
of 0x80000 bytes after "Loading '%s'...", and a miss reports "Can't load
|
|
biosfile '%s', switching to HLE", sets the HLE bit and writes
|
|
"CEX-3000/1001/1002 by K.S.", "System ROM Version 2.2 12/04/95 A" and the Sony
|
|
copyright line into BIOS memory, so no image is needed on its own. The FAQ on
|
|
the emulator's own site states that a file named scph1001.bin is recommended
|
|
and is not distributed with the emulator.
|
|
ref: Main.java:1169, Main.java:21925-21927, Main.java:25833-25835,
|
|
Main.java:9943-9977, Main.java:30177-30192, Main.java:5392-5396,
|
|
Main.java:36446-36451, Main.java:28751-28754,
|
|
libfpse.so 0x70e20-0x70f20, fpsece.net/faq.html
|
|
|
|
Automatic detection recognises one dump and does it on content. Scanning
|
|
storage, FPseNG keeps files whose lowercased name ends in .bin and whose length
|
|
is exactly 524288, reads all 524288 bytes, sums them as signed bytes and
|
|
accepts the file when the total is 85958, writing the path to the preference
|
|
and turning the BIOS on. The same constant answers over NFS through isnfsbios.
|
|
Recomputed over the collection, that sum resolves to a single image, the
|
|
v2.2 12/04/95 A dump listed below, and to no other. The HLE path impersonates
|
|
the same revision: its identification strings sit in .rodata beside "HLE
|
|
enabled." and the library carries no 512 KB image of its own.
|
|
ref: Main.java:24466-24487, Main.java:24491, Main.java:25670,
|
|
libfpse.so .rodata 0x1b8d81-0x1b8dfb
|
|
|
|
Emulation is split across libraries the core links against. libfpse.so lists
|
|
libopengl, libsoft1, libspuplugin, libneon, libsdl and libnfsplugin in
|
|
DT_NEEDED, and Main names uncompress, spuplugin, soft1, nfsplugin and opengl
|
|
before fpse; sdl and neon are named earlier from a static block that swallows
|
|
UnsatisfiedLinkError, the rest are not guarded. All eight ship in the package
|
|
for arm64-v8a and no other ABI. Eighteen constants naming nine plugins296
|
|
archives on fpse.net and fpsece.net survive in the class and nothing reads
|
|
them, and the two archive extractors keep a branch counting eight .so members
|
|
that no caller reaches. What getfile.php still answers, once per versionCode
|
|
and keyed by ABI as type p64, is a blob handed to setnfspos and summed into a
|
|
preference, not a library anything writes to disk. An OpenGL plugin picked by
|
|
hand from the .so browser is copied over libopengl1.so under the root.
|
|
libGLESv2, libjnigraphics, liblog, libstdc++, libdl, libm and libc are the
|
|
Android runtime and are not files anyone supplies.
|
|
ref: Main.java:25134-25137, Main.java:27300-27312, Main.java:9985,
|
|
Main.java:1116-1133, Main.java:8496, Main.java:13854,
|
|
Main.java:23615-23621, libfpse.so readelf -d
|
|
|
|
Resources unpack through helpers that differ in one respect. The guarded one
|
|
writes only when the target is absent, so bios/kanji.rom, fpse.ini and the
|
|
whole skin set survive being replaced by hand, and the same rule puts
|
|
slot1.mcd and slot2.mcd under FPse64/memcards on shared storage. The
|
|
unguarded one truncates, so gamelist.ini is rewritten from the package at every
|
|
start and a copy put there does not last. The shipped shaders are copied out of
|
|
assets into FPse64/shaders once storage access is granted.
|
|
ref: Main.java:33974-33977, Main.java:34054-34057, Main.java:34750-34753,
|
|
Main.java:27334, Main.java:27346-27347, Main.java:27463,
|
|
Main.java:35829-35845
|
|
|
|
What the application fetches for itself comes from the developer's servers:
|
|
cheat files from fpse.net/c/, per title OpenGL option files packed as
|
|
fpse.net/o/ogl.zip, covers from fpse.net/i64/, titles from fpse.net/t/, game
|
|
notes from fpse.net/games64/, overlay pad skins from fpse.net/s/ as
|
|
padtemp.zip extracted into skin/, and vrback.zip extracted at the root of
|
|
shared storage. Files named after a game identifier and ending in .sbi are
|
|
downloaded into FPse64/sbi for the titles of one internal list; no library and
|
|
no java path reads them back, and the string ".sbi" appears in none of the
|
|
eight libraries.
|
|
ref: Main.java:10505-10507, Main.java:16605, Main.java:16644,
|
|
Main.java:11468, Main.java:11827, l0.java:82-89, Main.java:10846,
|
|
Main.java:11014, Main.java:12555-12585, Main.java:15415-15430,
|
|
Main.java:15489
|
|
|
|
files:
|
|
- name: scph1001.bin
|
|
path: bios/scph1001.bin
|
|
system: sony-playstation
|
|
required: false
|
|
hle_fallback: true
|
|
variant_group: "psx-bios"
|
|
config_key: "com.emulator.fpse64.biospath"
|
|
size: 524288
|
|
validation: [size]
|
|
md5: 924e392ed05558ffdb115408c263dccf
|
|
sha1: 10155d8d6e6e832d6ea66db9bc098321fb5e8ebf
|
|
description: "SCPH-1001, DTL-H1201, DTL-H3001 (v2.2 12-04-95 A)"
|
|
note: "The only image the code identifies, and it identifies it by a checksum of its own rather than by a hash it spells out: the 524288 bytes summed as signed bytes, accepted at 85958. The md5 and sha1 here are the dump that reproduces that sum. Selecting a BIOS by hand takes any .bin of exactly 524288 bytes, so the other images of the group fill the slot without being recognised by name or by sum."
|
|
source_ref: "Main.java:24466-24487, Main.java:9945-9952, Main.java:30177-30192, Main.java:5392-5396, libfpse.so 0x70e20-0x70ed0"
|
|
|
|
- name: kanji.rom
|
|
path: bios/kanji.rom
|
|
required: false
|
|
bundled: true
|
|
size: 238586
|
|
md5: 040d9dcbad83388c14d2628ac69ce88b
|
|
sha1: 915880f8bb04de39fd5132b92dfb99872f54fa47
|
|
description: "FONTX2 font the core draws Japanese text with"
|
|
note: "Header FONTX2X11. Unpacked into bios/ at first start and left alone afterwards, so a replacement stays. The core appends the name to the root and its bios/ component, opens the result read only and carries on when the file is absent."
|
|
source_ref: "Main.java:27334, Main.java:33974-33977, libfpse.so 0x71074-0x710b4, libfpse.so 0x95ce0-0x95ce8"
|
|
|
|
- name: libsoft1.so
|
|
required: true
|
|
bundled: true
|
|
category: game_data
|
|
description: "software renderer plugin"
|
|
note: "Named by System.loadLibrary(\"soft1\") outside any catch and listed in DT_NEEDED by the core. Also holds the VR background loader."
|
|
source_ref: "Main.java:27302, libfpse.so readelf -d"
|
|
|
|
- name: libspuplugin.so
|
|
required: true
|
|
bundled: true
|
|
category: game_data
|
|
description: "sound plugin"
|
|
note: "Named by System.loadLibrary(\"spuplugin\") outside any catch and listed in DT_NEEDED."
|
|
source_ref: "Main.java:27301, libfpse.so readelf -d"
|
|
|
|
- name: libopengl.so
|
|
required: true
|
|
bundled: true
|
|
category: game_data
|
|
aliases: ["libopengl1.so"]
|
|
description: "OpenGL renderer plugin"
|
|
note: "Named by System.loadLibrary(\"opengl\") outside any catch and listed in DT_NEEDED. A plugin chosen from the .so browser is copied over libopengl1.so under the root."
|
|
source_ref: "Main.java:27304, Main.java:9985, libfpse.so readelf -d"
|
|
|
|
- name: libnfsplugin.so
|
|
required: true
|
|
bundled: true
|
|
category: game_data
|
|
description: "NFS client plugin, for discs read from a network share"
|
|
note: "Named by System.loadLibrary(\"nfsplugin\") outside any catch and listed in DT_NEEDED. Backs the isnfsbios and copyfromnfs entry points."
|
|
source_ref: "Main.java:27303, Main.java:25670, libfpse.so readelf -d"
|
|
|
|
- name: libsdl.so
|
|
required: true
|
|
bundled: true
|
|
category: game_data
|
|
description: "SDL audio backend"
|
|
note: "Named by System.loadLibrary(\"sdl\") from a static block that catches UnsatisfiedLinkError, and listed in DT_NEEDED, so the core will not link without it."
|
|
source_ref: "Main.java:25134, libfpse.so readelf -d"
|
|
|
|
- name: libneon.so
|
|
required: true
|
|
bundled: true
|
|
category: game_data
|
|
description: "NEON colour conversion routines"
|
|
note: "Named by System.loadLibrary(\"neon\") from the same static block and listed in DT_NEEDED."
|
|
source_ref: "Main.java:25135, libfpse.so readelf -d"
|
|
|
|
- name: libuncompress.so
|
|
required: true
|
|
bundled: true
|
|
category: game_data
|
|
description: "archive extractor for .zip, .rar, .7z, .ape and .ecm images"
|
|
note: "Named by System.loadLibrary(\"uncompress\") outside any catch, and the only one of the plugins the core does not list in DT_NEEDED."
|
|
source_ref: "Main.java:27300, Main.java:25408, libfpse.so readelf -d"
|
|
|
|
# The Shaders setting walks FPse64/shaders and reads the selected pair,
|
|
# passing the bytes to setVSH and setFSH. The packaged set below is copied
|
|
# out of assets once storage access is granted, and a pair dropped in by
|
|
# hand joins the list. Cartoon_A, Cartoon_B, FXAA, FXAA_natural_vision and
|
|
# TV_HDR share one vertex shader, as do CRT-Hyllian, Grayscale and
|
|
# MangaToon; each pair is read by its own name.
|
|
- name: "4xhqglsl.vsh"
|
|
path: "FPse64/shaders/4xhqglsl.vsh"
|
|
required: false
|
|
bundled: true
|
|
category: game_data
|
|
size: 1048
|
|
sha1: "4af25bc179d1b9b20d080feebc037f08181598d4"
|
|
description: "4xhqglsl vertex shader"
|
|
source_ref: "Main.java:25962-25975, Main.java:35655-35669, Main.java:35829-35845"
|
|
|
|
- name: "4xhqglsl.fsh"
|
|
path: "FPse64/shaders/4xhqglsl.fsh"
|
|
required: false
|
|
bundled: true
|
|
category: game_data
|
|
size: 2159
|
|
sha1: "cdf41e359264996a4ad973d852c9f1daca537e45"
|
|
description: "4xhqglsl fragment shader"
|
|
source_ref: "Main.java:25962-25975, Main.java:35655-35669, Main.java:35829-35845"
|
|
|
|
- name: "5xBR.vsh"
|
|
path: "FPse64/shaders/5xBR.vsh"
|
|
required: false
|
|
bundled: true
|
|
category: game_data
|
|
size: 1100
|
|
sha1: "cf393a7e10bb4c31de0b59056f3a469aecfe6ccf"
|
|
description: "5xBR vertex shader"
|
|
source_ref: "Main.java:25962-25975, Main.java:35655-35669, Main.java:35829-35845"
|
|
|
|
- name: "5xBR.fsh"
|
|
path: "FPse64/shaders/5xBR.fsh"
|
|
required: false
|
|
bundled: true
|
|
category: game_data
|
|
size: 5595
|
|
sha1: "bd2f44f82be53c94c69a20dc8d46019ee91dfc61"
|
|
description: "5xBR fragment shader"
|
|
source_ref: "Main.java:25962-25975, Main.java:35655-35669, Main.java:35829-35845"
|
|
|
|
- name: "5XBRZ.vsh"
|
|
path: "FPse64/shaders/5XBRZ.vsh"
|
|
required: false
|
|
bundled: true
|
|
category: game_data
|
|
size: 1373
|
|
sha1: "92a3f7fdefe9e6ef7af0c37267a809695e9ae4aa"
|
|
description: "5XBRZ vertex shader"
|
|
source_ref: "Main.java:25962-25975, Main.java:35655-35669, Main.java:35829-35845"
|
|
|
|
- name: "5XBRZ.fsh"
|
|
path: "FPse64/shaders/5XBRZ.fsh"
|
|
required: false
|
|
bundled: true
|
|
category: game_data
|
|
size: 7985
|
|
sha1: "abf7371da6b38205b5df861151e6510bc693522d"
|
|
description: "5XBRZ fragment shader"
|
|
source_ref: "Main.java:25962-25975, Main.java:35655-35669, Main.java:35829-35845"
|
|
|
|
- name: "Aacolor.vsh"
|
|
path: "FPse64/shaders/Aacolor.vsh"
|
|
required: false
|
|
bundled: true
|
|
category: game_data
|
|
size: 856
|
|
sha1: "548b2ebebaff89127b243ac8e96dc1243c934ac5"
|
|
description: "Aacolor vertex shader"
|
|
source_ref: "Main.java:25962-25975, Main.java:35655-35669, Main.java:35829-35845"
|
|
|
|
- name: "Aacolor.fsh"
|
|
path: "FPse64/shaders/Aacolor.fsh"
|
|
required: false
|
|
bundled: true
|
|
category: game_data
|
|
size: 1865
|
|
sha1: "e818588e8d5e01a73f45c2d596c6a9a8a9d029f8"
|
|
description: "Aacolor fragment shader"
|
|
source_ref: "Main.java:25962-25975, Main.java:35655-35669, Main.java:35829-35845"
|
|
|
|
- name: "Cartoon_A.vsh"
|
|
path: "FPse64/shaders/Cartoon_A.vsh"
|
|
required: false
|
|
bundled: true
|
|
category: game_data
|
|
size: 195
|
|
sha1: "363d817dadf81bb5ecdcb8675acf9e096dd66241"
|
|
description: "Cartoon_A vertex shader"
|
|
source_ref: "Main.java:25962-25975, Main.java:35655-35669, Main.java:35829-35845"
|
|
|
|
- name: "Cartoon_A.fsh"
|
|
path: "FPse64/shaders/Cartoon_A.fsh"
|
|
required: false
|
|
bundled: true
|
|
category: game_data
|
|
size: 1081
|
|
sha1: "74f54c5430e546c328a5226e068a4ea1e60f67bf"
|
|
description: "Cartoon_A fragment shader"
|
|
source_ref: "Main.java:25962-25975, Main.java:35655-35669, Main.java:35829-35845"
|
|
|
|
- name: "Cartoon_B.vsh"
|
|
path: "FPse64/shaders/Cartoon_B.vsh"
|
|
required: false
|
|
bundled: true
|
|
category: game_data
|
|
size: 195
|
|
sha1: "363d817dadf81bb5ecdcb8675acf9e096dd66241"
|
|
description: "Cartoon_B vertex shader"
|
|
source_ref: "Main.java:25962-25975, Main.java:35655-35669, Main.java:35829-35845"
|
|
|
|
- name: "Cartoon_B.fsh"
|
|
path: "FPse64/shaders/Cartoon_B.fsh"
|
|
required: false
|
|
bundled: true
|
|
category: game_data
|
|
size: 1002
|
|
sha1: "2d3a1cd8d94c6d4223f9ed0f2ae7431d2bd33fe9"
|
|
description: "Cartoon_B fragment shader"
|
|
source_ref: "Main.java:25962-25975, Main.java:35655-35669, Main.java:35829-35845"
|
|
|
|
- name: "CRT-Hyllian.vsh"
|
|
path: "FPse64/shaders/CRT-Hyllian.vsh"
|
|
required: false
|
|
bundled: true
|
|
category: game_data
|
|
size: 197
|
|
sha1: "376fc334df812840ff9c1bf6d23e57574b64b618"
|
|
description: "CRT-Hyllian vertex shader"
|
|
source_ref: "Main.java:25962-25975, Main.java:35655-35669, Main.java:35829-35845"
|
|
|
|
- name: "CRT-Hyllian.fsh"
|
|
path: "FPse64/shaders/CRT-Hyllian.fsh"
|
|
required: false
|
|
bundled: true
|
|
category: game_data
|
|
size: 10670
|
|
sha1: "02a5c9962b973619c31dc9674120c13c33636427"
|
|
description: "CRT-Hyllian fragment shader"
|
|
source_ref: "Main.java:25962-25975, Main.java:35655-35669, Main.java:35829-35845"
|
|
|
|
- name: "Dot.vsh"
|
|
path: "FPse64/shaders/Dot.vsh"
|
|
required: false
|
|
bundled: true
|
|
category: game_data
|
|
size: 844
|
|
sha1: "186fa21b02c96e3cbc84fcecd51b60e6305b2269"
|
|
description: "Dot vertex shader"
|
|
source_ref: "Main.java:25962-25975, Main.java:35655-35669, Main.java:35829-35845"
|
|
|
|
- name: "Dot.fsh"
|
|
path: "FPse64/shaders/Dot.fsh"
|
|
required: false
|
|
bundled: true
|
|
category: game_data
|
|
size: 1744
|
|
sha1: "eeb68f155918dbdcf5b3288173712fef36c259dd"
|
|
description: "Dot fragment shader"
|
|
source_ref: "Main.java:25962-25975, Main.java:35655-35669, Main.java:35829-35845"
|
|
|
|
- name: "FXAA.vsh"
|
|
path: "FPse64/shaders/FXAA.vsh"
|
|
required: false
|
|
bundled: true
|
|
category: game_data
|
|
size: 195
|
|
sha1: "363d817dadf81bb5ecdcb8675acf9e096dd66241"
|
|
description: "FXAA vertex shader"
|
|
source_ref: "Main.java:25962-25975, Main.java:35655-35669, Main.java:35829-35845"
|
|
|
|
- name: "FXAA.fsh"
|
|
path: "FPse64/shaders/FXAA.fsh"
|
|
required: false
|
|
bundled: true
|
|
category: game_data
|
|
size: 1929
|
|
sha1: "e3ebfd7a60030496925db8a621921d0a0e312731"
|
|
description: "FXAA fragment shader"
|
|
source_ref: "Main.java:25962-25975, Main.java:35655-35669, Main.java:35829-35845"
|
|
|
|
- name: "FXAA_natural_vision.vsh"
|
|
path: "FPse64/shaders/FXAA_natural_vision.vsh"
|
|
required: false
|
|
bundled: true
|
|
category: game_data
|
|
size: 195
|
|
sha1: "363d817dadf81bb5ecdcb8675acf9e096dd66241"
|
|
description: "FXAA_natural_vision vertex shader"
|
|
source_ref: "Main.java:25962-25975, Main.java:35655-35669, Main.java:35829-35845"
|
|
|
|
- name: "FXAA_natural_vision.fsh"
|
|
path: "FPse64/shaders/FXAA_natural_vision.fsh"
|
|
required: false
|
|
bundled: true
|
|
category: game_data
|
|
size: 2786
|
|
sha1: "7c18d8516b12a46c2d453f0403922ae0145a569f"
|
|
description: "FXAA_natural_vision fragment shader"
|
|
source_ref: "Main.java:25962-25975, Main.java:35655-35669, Main.java:35829-35845"
|
|
|
|
- name: "Grayscale.vsh"
|
|
path: "FPse64/shaders/Grayscale.vsh"
|
|
required: false
|
|
bundled: true
|
|
category: game_data
|
|
size: 197
|
|
sha1: "376fc334df812840ff9c1bf6d23e57574b64b618"
|
|
description: "Grayscale vertex shader"
|
|
source_ref: "Main.java:25962-25975, Main.java:35655-35669, Main.java:35829-35845"
|
|
|
|
- name: "Grayscale.fsh"
|
|
path: "FPse64/shaders/Grayscale.fsh"
|
|
required: false
|
|
bundled: true
|
|
category: game_data
|
|
size: 215
|
|
sha1: "f679b5cb40646cd29afb2dea6467cf5527d29947"
|
|
description: "Grayscale fragment shader"
|
|
source_ref: "Main.java:25962-25975, Main.java:35655-35669, Main.java:35829-35845"
|
|
|
|
- name: "MangaToon.vsh"
|
|
path: "FPse64/shaders/MangaToon.vsh"
|
|
required: false
|
|
bundled: true
|
|
category: game_data
|
|
size: 197
|
|
sha1: "376fc334df812840ff9c1bf6d23e57574b64b618"
|
|
description: "MangaToon vertex shader"
|
|
source_ref: "Main.java:25962-25975, Main.java:35655-35669, Main.java:35829-35845"
|
|
|
|
- name: "MangaToon.fsh"
|
|
path: "FPse64/shaders/MangaToon.fsh"
|
|
required: false
|
|
bundled: true
|
|
category: game_data
|
|
size: 2760
|
|
sha1: "1e5200df1cd3c828bad5bededf0d357f137f9706"
|
|
description: "MangaToon fragment shader"
|
|
source_ref: "Main.java:25962-25975, Main.java:35655-35669, Main.java:35829-35845"
|
|
|
|
- name: "TV_HDR.vsh"
|
|
path: "FPse64/shaders/TV_HDR.vsh"
|
|
required: false
|
|
bundled: true
|
|
category: game_data
|
|
size: 195
|
|
sha1: "363d817dadf81bb5ecdcb8675acf9e096dd66241"
|
|
description: "TV_HDR vertex shader"
|
|
source_ref: "Main.java:25962-25975, Main.java:35655-35669, Main.java:35829-35845"
|
|
|
|
- name: "TV_HDR.fsh"
|
|
path: "FPse64/shaders/TV_HDR.fsh"
|
|
required: false
|
|
bundled: true
|
|
category: game_data
|
|
size: 358
|
|
sha1: "6fb63828bd49afa86280b903d92a0e5e862d2e66"
|
|
description: "TV_HDR fragment shader"
|
|
source_ref: "Main.java:25962-25975, Main.java:35655-35669, Main.java:35829-35845"
|
|
|
|
- name: vrback.raw
|
|
path: "vrback.raw"
|
|
required: false
|
|
category: game_data
|
|
description: "background image the software renderer draws behind the VR view"
|
|
note: "Opened read only at the root of shared storage and read as 640 by 512 sixteen bit pixels. Not carried by the package: the application downloads fpse.net/vrback.zip, extracts it at that root and deletes the archive. The distributed file is 655364 bytes."
|
|
source_ref: "libsoft1.so 0x5fda8-0x5fdb8, libsoft1.so 0x5fa3c-0x5fa50, Main.java:12555-12585"
|
|
|
|
- name: "<game>.txt"
|
|
path: "FPse64/cheats/<game>.txt"
|
|
required: false
|
|
category: game_data
|
|
unsourceable: "cheat codes fetched per title from the developer site or written by the user"
|
|
description: "cheat codes for one title"
|
|
note: "The path is pushed into the core as string slots 140, 141 and 143, keyed by the licence string of the running disc. A file chosen through a browser listing .txt is copied there, and the cheat search writes its results to the same name."
|
|
source_ref: "Main.java:21973-21975, Main.java:10319-10357, Main.java:26918, Main.java:28219-28226"
|
|
|
|
- name: "<game>.txt"
|
|
path: "FPse64/ogl/<game>.txt"
|
|
required: false
|
|
category: game_data
|
|
unsourceable: "per title OpenGL option value distributed by the developer"
|
|
description: "OpenGL option mask for one title"
|
|
note: "Read as a single integer and applied through setOptionGL, keyed by the licence string. Distributed as fpse.net/o/ogl.zip, which the application extracts into that directory, and rewritten there when the options are changed by hand."
|
|
source_ref: "Main.java:29309-29322, Main.java:18286-18294, Main.java:16605-16644"
|
|
|
|
- name: "<skin>.ini"
|
|
path: "skin/<skin>.ini"
|
|
required: false
|
|
category: game_data
|
|
unsourceable: "overlay pad artwork published by other users"
|
|
description: "external overlay pad skin"
|
|
note: "Selected through a browser listing .ini files. The default set unpacks from the package as skin/pad.ini with its button and stick artwork, and a pack downloaded from the developer arrives as padtemp.zip and is extracted into the same directory."
|
|
source_ref: "Main.java:21943-21947, Main.java:27355, Main.java:11014"
|
|
|
|
- name: LibPS.exe
|
|
system: sony-playstation
|
|
required: false
|
|
description: "PlayStation library executable loaded after the BIOS resources"
|
|
note: "Loaded by bare name during \"Loading files...\" when the matching option bit is set, reporting \"LibPS.exe found and loaded.\" on success and continuing untouched when the loader returns -1. Not carried by the package, and the core never chdirs, so it resolves against the working directory of the process."
|
|
source_ref: "libfpse.so 0x95de8-0x95e1c, libfpse.so .rodata 0x1ba534"
|
|
|
|
exclusion_note: >
|
|
Left out are the files FPseNG writes and reads back itself, which are emulator
|
|
state rather than files a user has to obtain: fpse.ini and the per-title
|
|
configurations under cfg, the memory cards slot1.mcd and slot2.mcd under
|
|
FPse64/memcards, the savestates and snapshots under FPse64/sstates, the game
|
|
list cache FPse64/filelist.txt, the recorded clips under FPse64/videos, and
|
|
the fpselog.txt, cpulog.txt and gpulog.txt traces. gamelist.ini is left out
|
|
with them for a different reason: it is rewritten from the package at every
|
|
start, so a copy placed there never survives. Left out too are the covers,
|
|
titles and game notes the application downloads into FPse64/icons,
|
|
FPse64/titles and fpse64/infos, which are interface metadata keyed by game
|
|
identifier, and the shipped overlay pad artwork, skin/pad.ini with its button
|
|
and stick images, which unpacks from the package. The .sbi files downloaded
|
|
into FPse64/sbi are left out on the ground that nothing loads them: neither
|
|
the java nor any of the eight libraries reads that directory back, and the
|
|
string ".sbi" appears nowhere in the native code. The disc images and their
|
|
.cue sidecars are not emulator files. The HLE BIOS is not a file either: it is
|
|
code, and the identification strings it answers with sit in .rodata beside the
|
|
rest of the core messages, with no 512 KB image anywhere in the library.
|
|
ref: res/raw fpse.ini MemCard1, Main.java:27463, Main.java:34054-34057,
|
|
Main.java:15415-15430, libfpse.so .rodata 0x1b8d81-0x1b8dfb
|