mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-04-13 12:22:33 -05:00
Add PV-2000 & Supracan BIOS; simplify Vita3K
Add Casio PV-2000 BIOS entry (pv2000.zip) to MAME and MESS profiles and update system lists/counts. Add Funtech Super A'Can BIOS entries (supracan.zip and umc6650.zip) with ROM contents to mamemess. Simplify and condense Vita3K emulator profile (rename fields, update profiled_date, add PSVUPDAT.PUP and optional PSP2UPDAT.PUP file entries, and clarify install/partition behavior). Bump database generated_at timestamp and add a system alias mapping "psvita" -> "sony-playstation-vita" in scripts/common.py.
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"generated_at": "2026-03-29T20:39:20Z",
|
"generated_at": "2026-03-29T20:48:26Z",
|
||||||
"total_files": 7245,
|
"total_files": 7245,
|
||||||
"total_size": 9715681216,
|
"total_size": 9715681216,
|
||||||
"files": {
|
"files": {
|
||||||
|
|||||||
@@ -60,12 +60,13 @@ systems:
|
|||||||
- laser310
|
- laser310
|
||||||
- casio-loopy
|
- casio-loopy
|
||||||
- casio-pv1000
|
- casio-pv1000
|
||||||
|
- casio-pv2000
|
||||||
- pegasus
|
- pegasus
|
||||||
- pcw
|
- pcw
|
||||||
|
|
||||||
notes: |
|
notes: |
|
||||||
Rolling release tracking mamedev/mame upstream (currently 0.286).
|
Rolling release tracking mamedev/mame upstream (currently 0.286).
|
||||||
80 BIOS root sets + 18 system ROM sets (apple2gs, astrocade, adam, advision, apfm1000, beena, camplynx, casloopy, crvision, fm7, gamate, gamecom, gamepock, gmaster, gp32, laser310, pcw, pegasus). romload.cpp
|
80 BIOS root sets + 19 system ROM sets (apple2gs, astrocade, adam, advision, apfm1000, beena, camplynx, casloopy, crvision, fm7, gamate, gamecom, gamepock, gmaster, gp32, laser310, pcw, pegasus, pv2000). romload.cpp
|
||||||
unmodified. No hiscore support.
|
unmodified. No hiscore support.
|
||||||
Paths under system_dir/mame/ (artwork, cheat, hash, ini, plugins,
|
Paths under system_dir/mame/ (artwork, cheat, hash, ini, plugins,
|
||||||
samples, crosshair). ROM search: content_dir + system_dir/mame/bios +
|
samples, crosshair). ROM search: content_dir + system_dir/mame/bios +
|
||||||
@@ -605,6 +606,18 @@ files:
|
|||||||
size: 524288
|
size: 524288
|
||||||
crc32: 8f51fa17
|
crc32: 8f51fa17
|
||||||
|
|
||||||
|
# Casio PV-2000
|
||||||
|
- name: pv2000.zip
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
system: casio-pv2000
|
||||||
|
source_ref: "src/mame/casio/pv2000.cpp:416-419"
|
||||||
|
contents:
|
||||||
|
- name: hn613128pc64.bin
|
||||||
|
description: "Z80 BASIC ROM"
|
||||||
|
size: 16384
|
||||||
|
crc32: 8f31f297
|
||||||
|
|
||||||
# Coleco Adam
|
# Coleco Adam
|
||||||
- name: adam.zip
|
- name: adam.zip
|
||||||
required: true
|
required: true
|
||||||
|
|||||||
@@ -29,6 +29,7 @@ systems:
|
|||||||
- fm7
|
- fm7
|
||||||
- laser310
|
- laser310
|
||||||
- casio-loopy
|
- casio-loopy
|
||||||
|
- casio-pv2000
|
||||||
- mz700
|
- mz700
|
||||||
- mz2000
|
- mz2000
|
||||||
- mz2500
|
- mz2500
|
||||||
@@ -36,6 +37,7 @@ systems:
|
|||||||
- pc60
|
- pc60
|
||||||
- mz80k
|
- mz80k
|
||||||
- pegasus
|
- pegasus
|
||||||
|
- supracan
|
||||||
|
|
||||||
notes: |
|
notes: |
|
||||||
SUBTARGET=mess build from libretro/mame. Same source, same CORE_NAME ("mame"),
|
SUBTARGET=mess build from libretro/mame. Same source, same CORE_NAME ("mame"),
|
||||||
@@ -55,11 +57,12 @@ notes: |
|
|||||||
1 active IS_BIOS_ROOT (miuchiz). XaviX TV game parent machines serve as
|
1 active IS_BIOS_ROOT (miuchiz). XaviX TV game parent machines serve as
|
||||||
console BIOS for cartridge-based software (IS_BIOS_ROOT commented out in
|
console BIOS for cartridge-based software (IS_BIOS_ROOT commented out in
|
||||||
source but functionally required). Apple II family, Apple IIgs, Bally
|
source but functionally required). Apple II family, Apple IIgs, Bally
|
||||||
Astrocade, Casio Loopy, Coleco Adam, VTech CreatiVision, Entex
|
Astrocade, Casio Loopy, Casio PV-2000, Coleco Adam, VTech CreatiVision, Entex
|
||||||
Adventure Vision, EACA Colour Genie, Acorn Atom, Tiger game.com,
|
Adventure Vision, EACA Colour Genie, Acorn Atom, Tiger game.com,
|
||||||
Bit Corporation Gamate, Epoch Game Pocket Computer, Hartung Game
|
Bit Corporation Gamate, Epoch Game Pocket Computer, Hartung Game
|
||||||
Master, Technosys Aamber Pegasus and VTech Laser 310 system ROMs
|
Master, Funtech Super A'Can, Technosys Aamber Pegasus and VTech
|
||||||
required for software loading (not IS_BIOS_ROOT but functionally BIOS).
|
Laser 310 system ROMs required for software loading (not IS_BIOS_ROOT
|
||||||
|
but functionally BIOS).
|
||||||
|
|
||||||
Apple II: 4 machine ROM sets (apple2, apple2p, apple2e, apple2ee) plus
|
Apple II: 4 machine ROM sets (apple2, apple2p, apple2e, apple2ee) plus
|
||||||
5 peripheral device ROM sets (disk controllers, CompactFlash, speech).
|
5 peripheral device ROM sets (disk controllers, CompactFlash, speech).
|
||||||
@@ -147,6 +150,11 @@ notes: |
|
|||||||
parents, both NOT_WORKING. Software lists: fm7_cass, fm7_disk, fm77av.
|
parents, both NOT_WORKING. Software lists: fm7_cass, fm7_disk, fm77av.
|
||||||
Driver in fujitsu/fm7.cpp, in mess.flt.
|
Driver in fujitsu/fm7.cpp, in mess.flt.
|
||||||
|
|
||||||
|
Casio PV-2000: 1 machine (pv2000). Z80-based home computer (1983).
|
||||||
|
Single 16KB BASIC ROM (hn613128pc64.bin) mapped at 0x0000-0x3FFF.
|
||||||
|
TMS9928A VDP, SN76489A sound. Cartridge-based (8K or 16K) with software
|
||||||
|
list "pv2000". MACHINE_NOT_WORKING. Driver in casio/pv2000.cpp, in mess.flt.
|
||||||
|
|
||||||
Sharp MZ-80K/A: 3 machines (mz80kj parent MZ-80K Japanese, mz80k clone of
|
Sharp MZ-80K/A: 3 machines (mz80kj parent MZ-80K Japanese, mz80k clone of
|
||||||
mz80kj MZ-80K, mz80a separate parent MZ-80A). Z80-based home computer (1979).
|
mz80kj MZ-80K, mz80a separate parent MZ-80A). Z80-based home computer (1979).
|
||||||
mz80kj parent set has monitor ROM (sp1002), floppy disk interface ROM
|
mz80kj parent set has monitor ROM (sp1002), floppy disk interface ROM
|
||||||
@@ -192,6 +200,14 @@ notes: |
|
|||||||
Software lists: pc6001_cart, pc6001_cass, pc6001mk2_cass.
|
Software lists: pc6001_cart, pc6001_cass, pc6001mk2_cass.
|
||||||
Driver in nec/pc6001.cpp, in mess.flt.
|
Driver in nec/pc6001.cpp, in mess.flt.
|
||||||
|
|
||||||
|
Funtech Super A'Can: 1 machine (supracan). 68000+6502 cartridge-based
|
||||||
|
console (1995, Taiwan). 3 internal ROMs: 68k security ROM (4KB) and
|
||||||
|
two 6502 co-processor ROMs (8KB each, identified from die shot by
|
||||||
|
Furrtek). UMC 6650 lockout chip device ROM (16 bytes) in every
|
||||||
|
cartridge, loaded as separate umc6650 ROM set. MACHINE_IMPERFECT_SOUND |
|
||||||
|
MACHINE_IMPERFECT_GRAPHICS. Software list "supracan".
|
||||||
|
Driver in umc/supracan.cpp, in mess.flt.
|
||||||
|
|
||||||
files:
|
files:
|
||||||
# Miuchiz Virtual Companions
|
# Miuchiz Virtual Companions
|
||||||
- name: miuchiz.zip
|
- name: miuchiz.zip
|
||||||
@@ -544,6 +560,18 @@ files:
|
|||||||
size: 524288
|
size: 524288
|
||||||
crc32: 8f51fa17
|
crc32: 8f51fa17
|
||||||
|
|
||||||
|
# Casio PV-2000
|
||||||
|
- name: pv2000.zip
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
system: casio-pv2000
|
||||||
|
source_ref: "src/mame/casio/pv2000.cpp:416-419"
|
||||||
|
contents:
|
||||||
|
- name: hn613128pc64.bin
|
||||||
|
description: "Z80 BASIC ROM"
|
||||||
|
size: 16384
|
||||||
|
crc32: 8f31f297
|
||||||
|
|
||||||
# Coleco Adam
|
# Coleco Adam
|
||||||
- name: adam.zip
|
- name: adam.zip
|
||||||
required: true
|
required: true
|
||||||
@@ -1533,3 +1561,35 @@ files:
|
|||||||
description: "MCM6571A character generator"
|
description: "MCM6571A character generator"
|
||||||
size: 2048
|
size: 2048
|
||||||
crc32: 5a25144b
|
crc32: 5a25144b
|
||||||
|
|
||||||
|
# Funtech Super A'Can
|
||||||
|
- name: supracan.zip
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
system: supracan
|
||||||
|
source_ref: "src/mame/umc/supracan.cpp:2458-2467"
|
||||||
|
contents:
|
||||||
|
- name: internal_68k.bin
|
||||||
|
description: "68000 internal security ROM"
|
||||||
|
size: 4096
|
||||||
|
crc32: 8d575662
|
||||||
|
- name: internal_6502_1.bin
|
||||||
|
description: "6502 co-processor ROM block 1"
|
||||||
|
size: 8192
|
||||||
|
crc32: fc9fb05f
|
||||||
|
- name: internal_6502_2.bin
|
||||||
|
description: "6502 co-processor ROM block 2"
|
||||||
|
size: 8192
|
||||||
|
crc32: bf950ab7
|
||||||
|
|
||||||
|
- name: umc6650.zip
|
||||||
|
required: true
|
||||||
|
category: bios_zip
|
||||||
|
system: supracan
|
||||||
|
source_ref: "src/mame/umc/umc6650.cpp:32-36"
|
||||||
|
note: "UMC 6650 cartridge lockout chip device ROM."
|
||||||
|
contents:
|
||||||
|
- name: umc6650.bin
|
||||||
|
description: "Lockout chip ROM key"
|
||||||
|
size: 16
|
||||||
|
crc32: 0ba78597
|
||||||
|
|||||||
@@ -1,299 +1,58 @@
|
|||||||
# Vita3K emulator firmware profile
|
|
||||||
# Generated from source analysis of https://github.com/Vita3K/Vita3K
|
|
||||||
# Commit analyzed: HEAD as of 2026-03-17
|
|
||||||
|
|
||||||
emulator: Vita3K
|
emulator: Vita3K
|
||||||
type: standalone
|
type: standalone
|
||||||
source: "https://github.com/Vita3K/Vita3K"
|
source: "https://github.com/Vita3K/Vita3K"
|
||||||
logo: "https://raw.githubusercontent.com/Vita3K/Vita3K/master/data/image/icon.png"
|
upstream: "https://github.com/Vita3K/Vita3K"
|
||||||
profiled_date: "2026-03-18"
|
profiled_date: "2026-03-29"
|
||||||
core_version: "0.2.1"
|
core_version: "0.2.1"
|
||||||
display_name: "Vita3K (PS Vita)"
|
display_name: "Vita3K (PS Vita)"
|
||||||
systems: [sony-playstation-vita]
|
systems: [sony-playstation-vita]
|
||||||
|
|
||||||
firmware_file: "PSVUPDAT.PUP"
|
# Standalone emulator, no libretro core exists.
|
||||||
firmware_source: "https://www.playstation.com/en-us/support/hardware/psvita/system-software/"
|
# Firmware PUP files are one-time installations: install_pup() decrypts and
|
||||||
firmware_detection: "pup_decrypt"
|
# extracts partition images (os0, vs0, sa0, pd0) into the emulator data directory.
|
||||||
firmware_install: "decrypts PUP, extracts FAT/exFAT images into os0/, vs0/, sa0/, pd0/"
|
# The PUP file itself is deleted after extraction.
|
||||||
|
# Three separate PUP packages exist on Sony servers:
|
||||||
|
# 1. PSVUPDAT.PUP (main firmware) from psv.update.playstation.net
|
||||||
|
# 2. PSP2UPDAT.PUP (font package) from psp2.update.playstation.net (sd_ prefix)
|
||||||
|
# 3. PSP2UPDAT.PUP (preinst firmware) from psp2.update.playstation.net (pre_ prefix)
|
||||||
|
# Vita3K uses hybrid LLE/HLE: some modules always loaded from firmware (libc,
|
||||||
|
# libSceFt2, libpvf, libcdlg), others toggleable per-module via settings.
|
||||||
|
|
||||||
validation:
|
files:
|
||||||
method: "pup_decrypt_and_extract"
|
- name: PSVUPDAT.PUP
|
||||||
source_ref: "vita3k/packages/src/pup.cpp:260-314"
|
path: "psvita/PSVUPDAT.PUP"
|
||||||
note: >
|
required: true
|
||||||
PUP is decrypted using SCE keys (register_keys), then four filesystem images are
|
hle_fallback: true
|
||||||
extracted: os0.img (FAT), pd0.img (exFAT), sa0.img (FAT), vs0.img (FAT).
|
|
||||||
Each image is mounted to its respective partition path.
|
|
||||||
|
|
||||||
firmware_version:
|
|
||||||
path: "PUP_DEC/PUP/version.txt"
|
|
||||||
source_ref: "vita3k/packages/src/pup.cpp:303-309"
|
|
||||||
note: "Read from version.txt inside the decrypted PUP during installation"
|
|
||||||
|
|
||||||
# Firmware partitions extracted from PSVUPDAT.PUP
|
|
||||||
partitions:
|
|
||||||
os0:
|
|
||||||
image: "os0.img"
|
|
||||||
filesystem: "FAT"
|
|
||||||
source_ref: "vita3k/packages/src/pup.cpp:293"
|
|
||||||
note: "Core OS partition. Contains kernel modules and low-level system components."
|
|
||||||
|
|
||||||
vs0:
|
|
||||||
image: "vs0.img"
|
|
||||||
filesystem: "FAT"
|
|
||||||
source_ref: "vita3k/packages/src/pup.cpp:299"
|
|
||||||
note: >
|
note: >
|
||||||
Main system partition. Contains firmware modules (sys/external/*.suprx),
|
Main PS Vita firmware. Decrypted via SCE keys, extracts os0 (kernel),
|
||||||
system apps (app/), LiveArea resources, themes, and system configuration.
|
vs0 (system modules and apps), sa0 (fonts), pd0 (system data).
|
||||||
directories:
|
Games load LLE modules from vs0/sys/external/*.suprx. Preload modules
|
||||||
sys_external:
|
(libc, libSceFt2, libpvf) are always LLE. Without firmware most games fail.
|
||||||
path: "vs0/sys/external/"
|
Some simple titles may run on HLE alone.
|
||||||
source_ref: "vita3k/modules/module_parent.cpp:332"
|
source_ref: "vita3k/packages/src/pup.cpp:260-314, vita3k/module/src/load_module.cpp:142-161,187"
|
||||||
note: >
|
|
||||||
Primary firmware module directory. Modules are loaded as .suprx files.
|
|
||||||
RPCS3-style LLE/HLE toggle: Vita3K can load real firmware modules (LLE)
|
|
||||||
or use built-in reimplementations (HLE) per module.
|
|
||||||
|
|
||||||
app:
|
- name: PSP2UPDAT.PUP
|
||||||
path: "vs0/app/"
|
path: "psvita/PSP2UPDAT.PUP"
|
||||||
note: "System applications (settings, browser, store, etc)"
|
required: false
|
||||||
|
hle_fallback: true
|
||||||
data_internal:
|
note: >
|
||||||
path: "vs0/data/internal/"
|
Supplementary firmware font package. Populates sa0 partition with system
|
||||||
note: "Internal system data: themes, LiveArea defaults"
|
fonts (PVF format) used by UI, LiveArea, and games via sceFt2/libpvf API.
|
||||||
files:
|
Vita3K bundles open-source fallback fonts (mplus-1mn-bold.ttf,
|
||||||
- {path: "theme/", purpose: "Default system themes"}
|
SourceHanSansSC-Bold-Min.ttf, neodgm.ttf) when firmware fonts are missing.
|
||||||
- {path: "livearea/default/sce_sys/icon0.png", purpose: "Default app icon"}
|
source_ref: "vita3k/gui/src/gui.cpp:228-267,276-318, vita3k/gui/src/initial_setup.cpp:96-97"
|
||||||
|
|
||||||
sa0:
|
|
||||||
image: "sa0.img"
|
|
||||||
filesystem: "FAT"
|
|
||||||
source_ref: "vita3k/packages/src/pup.cpp:297"
|
|
||||||
note: "System assets partition. Contains firmware fonts (PVF files)."
|
|
||||||
directories:
|
|
||||||
fonts:
|
|
||||||
path: "sa0/data/font/pvf/"
|
|
||||||
source_ref: "vita3k/gui/src/gui.cpp:228-267"
|
|
||||||
note: >
|
|
||||||
PS Vita system fonts in PVF format (PlayStation Vita Font). Used for
|
|
||||||
system UI, LiveArea, and games that use the sceFt2/libpvf font API.
|
|
||||||
Without these, Vita3K falls back to bundled open-source fonts.
|
|
||||||
files:
|
|
||||||
- {name: "ltn0.pvf", type: "Latin Regular", required: true, note: "Primary UI font, checked at startup"}
|
|
||||||
- {name: "jpn0.pvf", type: "Japanese", required: false}
|
|
||||||
- {name: "kr0.pvf", type: "Korean", required: false}
|
|
||||||
- {name: "cn0.pvf", type: "Chinese Simplified", required: false}
|
|
||||||
|
|
||||||
pd0:
|
|
||||||
image: "pd0.img"
|
|
||||||
filesystem: "exFAT"
|
|
||||||
source_ref: "vita3k/packages/src/pup.cpp:295"
|
|
||||||
note: "System data partition. Contains system BGM and other data."
|
|
||||||
files:
|
|
||||||
- {path: "data/systembgm/initialsetup.at9", purpose: "Initial setup background music"}
|
|
||||||
|
|
||||||
# Firmware modules (vs0/sys/external/*.suprx)
|
|
||||||
firmware_modules:
|
|
||||||
# Auto-LLE modules (loaded from firmware by default)
|
|
||||||
auto_lle:
|
|
||||||
source_ref: "vita3k/module/src/load_module.cpp:142-161"
|
|
||||||
note: "These modules are automatically loaded via LLE when firmware is present"
|
|
||||||
modules:
|
|
||||||
- {id: "SCE_SYSMODULE_HTTP", libs: ["libhttp"]}
|
|
||||||
- {id: "SCE_SYSMODULE_SSL", libs: ["libssl"]}
|
|
||||||
- {id: "SCE_SYSMODULE_HTTPS", libs: ["libhttp", "libssl"]}
|
|
||||||
- {id: "SCE_SYSMODULE_ULT", libs: ["libult"]}
|
|
||||||
- {id: "SCE_SYSMODULE_SAS", libs: ["libsas"]}
|
|
||||||
- {id: "SCE_SYSMODULE_PGF", libs: ["libpgf"]}
|
|
||||||
- {id: "SCE_SYSMODULE_FIOS2", libs: ["libfios2"]}
|
|
||||||
- {id: "SCE_SYSMODULE_SYSTEM_GESTURE", libs: ["libsystemgesture"]}
|
|
||||||
- {id: "SCE_SYSMODULE_XML", libs: ["libSceXml"]}
|
|
||||||
- {id: "SCE_SYSMODULE_SQLITE", libs: ["libSceSqlite"]}
|
|
||||||
- {id: "SCE_SYSMODULE_RUDP", libs: ["librudp"]}
|
|
||||||
- {id: "SCE_SYSMODULE_NET_ADHOC_MATCHING", libs: ["adhoc_matching"]}
|
|
||||||
- {id: "SCE_SYSMODULE_MP4", libs: ["libscemp4"]}
|
|
||||||
- {id: "SCE_SYSMODULE_ATRAC", libs: ["libatrac"]}
|
|
||||||
- {id: "SCE_SYSMODULE_FACE", libs: ["libface"]}
|
|
||||||
- {id: "SCE_SYSMODULE_SMART", libs: ["libsmart"]}
|
|
||||||
- {id: "SCE_SYSMODULE_AVPLAYER", libs: ["libsceavplayer", "libscemp4"]}
|
|
||||||
- {id: "SCE_SYSMODULE_JSON", libs: ["libSceJson"]}
|
|
||||||
|
|
||||||
# Always-LLE preload modules
|
|
||||||
preload:
|
|
||||||
source_ref: "vita3k/interface.cpp:497-504, vita3k/module/src/load_module.cpp:187"
|
|
||||||
note: "These modules are always loaded from firmware (LLE), never HLE"
|
|
||||||
modules:
|
|
||||||
- {name: "libc", note: "C standard library"}
|
|
||||||
- {name: "libSceFt2", note: "FreeType2 font engine"}
|
|
||||||
- {name: "libpvf", note: "PlayStation Vita Font library"}
|
|
||||||
- {name: "libcdlg", note: "Common dialog library"}
|
|
||||||
|
|
||||||
# All registered sysmodule mappings
|
|
||||||
sysmodule_map:
|
|
||||||
source_ref: "vita3k/module/src/load_module.cpp:25-109"
|
|
||||||
note: "Complete mapping of SCE_SYSMODULE IDs to firmware library filenames"
|
|
||||||
modules:
|
|
||||||
# Networking
|
|
||||||
- {id: "SCE_SYSMODULE_NET", libs: ["libnet", "libnetctl"]}
|
|
||||||
- {id: "SCE_SYSMODULE_HTTP", libs: ["libhttp"]}
|
|
||||||
- {id: "SCE_SYSMODULE_SSL", libs: ["libssl"]}
|
|
||||||
- {id: "SCE_SYSMODULE_HTTPS", libs: ["libhttp", "libssl"]}
|
|
||||||
# Performance / Threading
|
|
||||||
- {id: "SCE_SYSMODULE_PERF", libs: ["libperf"]}
|
|
||||||
- {id: "SCE_SYSMODULE_FIBER", libs: ["libfiber"]}
|
|
||||||
- {id: "SCE_SYSMODULE_ULT", libs: ["libult"]}
|
|
||||||
# Debug
|
|
||||||
- {id: "SCE_SYSMODULE_DBG", libs: ["librazorcapture_es4", "librazorhud_es4"]}
|
|
||||||
- {id: "SCE_SYSMODULE_RAZOR_CAPTURE", libs: ["librazorcapture_es4"]}
|
|
||||||
- {id: "SCE_SYSMODULE_RAZOR_HUD", libs: ["librazorhud_es4"]}
|
|
||||||
# Audio
|
|
||||||
- {id: "SCE_SYSMODULE_NGS", libs: ["libngs"]}
|
|
||||||
- {id: "SCE_SYSMODULE_SULPHA", libs: ["libsulpha"]}
|
|
||||||
- {id: "SCE_SYSMODULE_SAS", libs: ["libsas"]}
|
|
||||||
- {id: "SCE_SYSMODULE_AUDIOCODEC", libs: ["libaudiocodec"]}
|
|
||||||
- {id: "SCE_SYSMODULE_AACENC", libs: ["libnaac"]}
|
|
||||||
- {id: "SCE_SYSMODULE_ATRAC", libs: ["libatrac"]}
|
|
||||||
- {id: "SCE_SYSMODULE_VOICE", libs: ["libvoice"]}
|
|
||||||
- {id: "SCE_SYSMODULE_VOICEQOS", libs: ["libvoiceqos"]}
|
|
||||||
# Font / Text
|
|
||||||
- {id: "SCE_SYSMODULE_PGF", libs: ["libpgf"]}
|
|
||||||
- {id: "SCE_SYSMODULE_IME", libs: ["libime"]}
|
|
||||||
- {id: "SCE_SYSMODULE_HANDWRITING", libs: ["libhandwriting"]}
|
|
||||||
# System
|
|
||||||
- {id: "SCE_SYSMODULE_APPUTIL", libs: ["apputil"]}
|
|
||||||
- {id: "SCE_SYSMODULE_FIOS2", libs: ["libfios2"]}
|
|
||||||
- {id: "SCE_SYSMODULE_SYSTEM_GESTURE", libs: ["libsystemgesture"]}
|
|
||||||
- {id: "SCE_SYSMODULE_LOCATION", libs: ["liblocation"]}
|
|
||||||
- {id: "SCE_SYSMODULE_CLIPBOARD", libs: ["libclipboard"]}
|
|
||||||
- {id: "SCE_SYSMODULE_TRIGGER_UTIL", libs: ["trigger_util"]}
|
|
||||||
- {id: "SCE_SYSMODULE_LIVEAREA", libs: ["livearea_util"]}
|
|
||||||
- {id: "SCE_SYSMODULE_BG_APP_UTIL", libs: ["bgapputil"]}
|
|
||||||
- {id: "SCE_SYSMODULE_INCOMING_DIALOG", libs: ["incoming_dialog"]}
|
|
||||||
- {id: "SCE_SYSMODULE_IPMI", libs: ["libipmi_nongame"]}
|
|
||||||
- {id: "SCE_SYSMODULE_NOTIFICATION_UTIL", libs: ["notification_util"]}
|
|
||||||
- {id: "SCE_SYSMODULE_SHUTTER_SOUND", libs: ["libSceShutterSound"]}
|
|
||||||
- {id: "SCE_SYSMODULE_SCREEN_SHOT", libs: ["libSceScreenShot"]}
|
|
||||||
# PlayStation Network
|
|
||||||
- {id: "SCE_SYSMODULE_NP_BASIC", libs: ["np_basic"]}
|
|
||||||
- {id: "SCE_SYSMODULE_NP", libs: ["np_common", "np_manager", "np_basic"]}
|
|
||||||
- {id: "SCE_SYSMODULE_NP_COMMERCE2", libs: ["np_commerce2"]}
|
|
||||||
- {id: "SCE_SYSMODULE_NP_UTILITY", libs: ["np_utility"]}
|
|
||||||
- {id: "SCE_SYSMODULE_NP_MATCHING2", libs: ["np_matching2"]}
|
|
||||||
- {id: "SCE_SYSMODULE_NP_SCORE_RANKING", libs: ["np_ranking"]}
|
|
||||||
- {id: "SCE_SYSMODULE_NP_ACTIVITY", libs: ["np_activity_sdk"]}
|
|
||||||
- {id: "SCE_SYSMODULE_NP_TROPHY", libs: ["np_trophy"]}
|
|
||||||
- {id: "SCE_SYSMODULE_NP_MESSAGE", libs: ["np_message_padding", "np_message"]}
|
|
||||||
- {id: "SCE_SYSMODULE_NP_PARTY", libs: ["np_party"]}
|
|
||||||
- {id: "SCE_SYSMODULE_NP_TUS", libs: ["np_tus"]}
|
|
||||||
- {id: "SCE_SYSMODULE_NP_SNS_FACEBOOK", libs: ["np_sns_facebook"]}
|
|
||||||
- {id: "SCE_SYSMODULE_NP_SIGNALING", libs: ["np_signaling"]}
|
|
||||||
- {id: "SCE_SYSMODULE_NP_WEBAPI", libs: ["np_webapi"]}
|
|
||||||
# Media
|
|
||||||
- {id: "SCE_SYSMODULE_MP4", libs: ["libscemp4"]}
|
|
||||||
- {id: "SCE_SYSMODULE_AVPLAYER", libs: ["libsceavplayer", "libscemp4"]}
|
|
||||||
- {id: "SCE_SYSMODULE_AVCDEC", libs: ["avcdec_for_player"]}
|
|
||||||
- {id: "SCE_SYSMODULE_MP4_RECORDER", libs: ["libSceMp4Rec"]}
|
|
||||||
- {id: "SCE_SYSMODULE_PHOTO_EXPORT", libs: ["libScePhotoExport"]}
|
|
||||||
- {id: "SCE_SYSMODULE_VIDEO_EXPORT", libs: ["libSceVideoExport"]}
|
|
||||||
- {id: "SCE_SYSMODULE_MUSIC_EXPORT", libs: ["libSceMusicExport"]}
|
|
||||||
# Other
|
|
||||||
- {id: "SCE_SYSMODULE_XML", libs: ["libSceXml"]}
|
|
||||||
- {id: "SCE_SYSMODULE_JSON", libs: ["libSceJson"]}
|
|
||||||
- {id: "SCE_SYSMODULE_SQLITE", libs: ["libSceSqlite"]}
|
|
||||||
- {id: "SCE_SYSMODULE_RUDP", libs: ["librudp"]}
|
|
||||||
- {id: "SCE_SYSMODULE_NET_ADHOC_MATCHING", libs: ["adhoc_matching"]}
|
|
||||||
- {id: "SCE_SYSMODULE_PSPNET_ADHOC", libs: ["pspnet_adhoc"]}
|
|
||||||
- {id: "SCE_SYSMODULE_FACE", libs: ["libface"]}
|
|
||||||
- {id: "SCE_SYSMODULE_SMART", libs: ["libsmart"]}
|
|
||||||
- {id: "SCE_SYSMODULE_MARLIN", libs: ["libmln"]}
|
|
||||||
- {id: "SCE_SYSMODULE_MARLIN_DOWNLOADER", libs: ["libmlndownloader"]}
|
|
||||||
- {id: "SCE_SYSMODULE_MARLIN_APP_LIB", libs: ["libmlnapplib"]}
|
|
||||||
- {id: "SCE_SYSMODULE_TELEPHONY_UTIL", libs: ["libSceTelephonyUtil"]}
|
|
||||||
- {id: "SCE_SYSMODULE_DTCP_IP", libs: ["libSceDtcpIp"]}
|
|
||||||
- {id: "SCE_SYSMODULE_VIDEO_SEARCH_EMPR", libs: ["libSceVideoSearchEmpr"]}
|
|
||||||
- {id: "SCE_SYSMODULE_BEISOBMF", libs: ["libSceBeisobmf"]}
|
|
||||||
- {id: "SCE_SYSMODULE_BEMP2SYS", libs: ["libSceBemp2sys"]}
|
|
||||||
- {id: "SCE_SYSMODULE_NEAR_UTIL", libs: ["libScenNearUtil"]}
|
|
||||||
- {id: "SCE_SYSMODULE_NEAR_DIALOG_UTIL", libs: ["libSceNearDialogUtil"]}
|
|
||||||
- {id: "SCE_SYSMODULE_LOCATION_EXTENSION", libs: ["liblocation_extension"]}
|
|
||||||
- {id: "SCE_SYSMODULE_MAIL_API", libs: ["mail_api_for_local_libc"]}
|
|
||||||
- {id: "SCE_SYSMODULE_TELEPORT_CLIENT", libs: ["libSceTeleportClient"]}
|
|
||||||
- {id: "SCE_SYSMODULE_TELEPORT_SERVER", libs: ["libSceTeleportServer"]}
|
|
||||||
- {id: "SCE_SYSMODULE_APPUTIL_EXT", libs: ["apputil_ext"]}
|
|
||||||
- {id: "SCE_SYSMODULE_CODECENGINE_PERF", libs: ["libcodecengine_perf"]}
|
|
||||||
|
|
||||||
# Internal sysmodule mappings
|
|
||||||
internal_modules:
|
|
||||||
source_ref: "vita3k/module/src/load_module.cpp:114-136"
|
|
||||||
modules:
|
|
||||||
- {id: "SCE_SYSMODULE_INTERNAL_JPEG_ENC_ARM", libs: ["libscejpegencarm"]}
|
|
||||||
- {id: "SCE_SYSMODULE_INTERNAL_AUDIOCODEC", libs: ["audiocodec"]}
|
|
||||||
- {id: "SCE_SYSMODULE_INTERNAL_BXCE", libs: ["bXCe"]}
|
|
||||||
- {id: "SCE_SYSMODULE_INTERNAL_INI_FILE_PROCESSOR", libs: ["ini_file_processor"]}
|
|
||||||
- {id: "SCE_SYSMODULE_INTERNAL_NP_ACTIVITY_NET", libs: ["np_activity"]}
|
|
||||||
- {id: "SCE_SYSMODULE_INTERNAL_PAF", libs: ["libpaf"]}
|
|
||||||
- {id: "SCE_SYSMODULE_INTERNAL_SQLITE_VSH", libs: ["sqlite"]}
|
|
||||||
- {id: "SCE_SYSMODULE_INTERNAL_DBUTIL", libs: ["dbutil"]}
|
|
||||||
- {id: "SCE_SYSMODULE_INTERNAL_ACTIVITY_DB", libs: ["activity_db"]}
|
|
||||||
- {id: "SCE_SYSMODULE_INTERNAL_COMMON_GUI_DIALOG", libs: ["common_gui_dialog"]}
|
|
||||||
- {id: "SCE_SYSMODULE_INTERNAL_MSG_DIALOG", libs: ["libcdlg_msg"]}
|
|
||||||
- {id: "SCE_SYSMODULE_INTERNAL_SAVEDATA_DIALOG", libs: ["libcdlg_savedata"]}
|
|
||||||
- {id: "SCE_SYSMODULE_INTERNAL_IME_DIALOG", libs: ["libcdlg_ime"]}
|
|
||||||
- {id: "SCE_SYSMODULE_INTERNAL_COMMON_DIALOG_MAIN", libs: ["libcdlg_main"]}
|
|
||||||
- {id: "SCE_SYSMODULE_INTERNAL_DB_RECOVERY_UTILITY", libs: ["dbrecovery_utility"]}
|
|
||||||
- {id: "SCE_SYSMODULE_INTERNAL_DRM_PSM_KDC", libs: ["psmkdc"]}
|
|
||||||
- {id: "SCE_SYSMODULE_INTERNAL_LOCATION_INTERNAL", libs: ["liblocation_internal"]}
|
|
||||||
|
|
||||||
# IO device layout (full Vita filesystem)
|
|
||||||
io_devices:
|
|
||||||
source_ref: "vita3k/io/include/io/VitaIoDevice.h:22-50"
|
|
||||||
firmware_partitions:
|
|
||||||
- {device: "os0", purpose: "Core OS kernel modules"}
|
|
||||||
- {device: "vs0", purpose: "System firmware modules and apps"}
|
|
||||||
- {device: "sa0", purpose: "System assets (fonts)"}
|
|
||||||
- {device: "pd0", purpose: "System data (BGM, resources)"}
|
|
||||||
user_partitions:
|
|
||||||
- {device: "ux0", purpose: "Main storage (memory card)"}
|
|
||||||
- {device: "ur0", purpose: "Internal user storage"}
|
|
||||||
- {device: "uma0", purpose: "USB mass storage (PSTV)"}
|
|
||||||
- {device: "imc0", purpose: "Internal memory card (Slim)"}
|
|
||||||
- {device: "grw0", purpose: "Game card (writable area)"}
|
|
||||||
- {device: "gro0", purpose: "Game card (read-only area)"}
|
|
||||||
app_partitions:
|
|
||||||
- {device: "app0", purpose: "Current running application"}
|
|
||||||
- {device: "addcont0", purpose: "Additional content (DLC)"}
|
|
||||||
- {device: "savedata0", purpose: "Save data (slot 0)"}
|
|
||||||
- {device: "savedata1", purpose: "Save data (slot 1)"}
|
|
||||||
|
|
||||||
# Fallback fonts when firmware is not installed
|
|
||||||
fallback_fonts:
|
|
||||||
source_ref: "vita3k/gui/src/gui.cpp:276-318"
|
|
||||||
path: "data/fonts/"
|
|
||||||
files:
|
|
||||||
- {name: "mplus-1mn-bold.ttf", purpose: "Primary fallback monospaced font"}
|
|
||||||
- {name: "SourceHanSansSC-Bold-Min.ttf", purpose: "Chinese fallback font"}
|
|
||||||
- {name: "neodgm.ttf", purpose: "Korean fallback font"}
|
|
||||||
note: "Open-source fonts bundled with Vita3K, used when firmware fonts (sa0) are not installed"
|
|
||||||
|
|
||||||
notes: |
|
notes: |
|
||||||
Vita3K requires the official PS Vita firmware (PSVUPDAT.PUP) from Sony for full
|
Standalone PS Vita emulator. No libretro core.
|
||||||
compatibility. The firmware is decrypted using SCE keys and extracted into four
|
Firmware installed via File > Install Firmware or CLI --firmware flag.
|
||||||
partition images: os0 (kernel), vs0 (system), sa0 (assets), pd0 (data).
|
PUP files validated by SCEUF magic header only (pup.cpp:119), no hash check.
|
||||||
|
After install, four partitions are extracted:
|
||||||
The most important firmware components are:
|
os0 (FAT, kernel modules), vs0 (FAT, system modules/apps),
|
||||||
1. vs0/sys/external/*.suprx - Firmware modules loaded by games
|
sa0 (FAT, fonts), pd0 (exFAT, system data/BGM).
|
||||||
2. sa0/data/font/pvf/*.pvf - System fonts (ltn0.pvf is checked at startup)
|
Module loading: app0:sce_module/{name}.suprx (game-bundled) then
|
||||||
3. vs0/data/internal/ - LiveArea resources and default themes
|
vs0:sys/external/{name}.suprx (firmware). Auto-LLE modules include
|
||||||
|
libhttp, libssl, libult, libsas, libpgf, libfios2, libsystemgesture,
|
||||||
Vita3K uses a hybrid LLE/HLE approach:
|
libSceXml, libSceSqlite, librudp, libatrac, libface, libsmart,
|
||||||
- Some modules (libc, libSceFt2, libpvf, libcdlg) are always loaded from firmware (LLE)
|
libsceavplayer, libSceJson, and more (load_module.cpp:142-161).
|
||||||
- Others can be toggled between LLE and HLE per module via settings
|
A third optional preinst firmware PUP (pd0 partition: system BGM, resources)
|
||||||
- Without firmware, many games will fail to load required modules
|
is available from Sony but not commonly required for game compatibility.
|
||||||
|
|
||||||
The module loading path is: first check app0:sce_module/{name}.suprx (game-bundled),
|
|
||||||
then fall back to vs0:sys/external/{name}.suprx (firmware). This allows games to
|
|
||||||
ship their own module versions.
|
|
||||||
|
|
||||||
CLI firmware install: vita3k --firmware /path/to/PSVUPDAT.PUP
|
|
||||||
GUI: File > Install Firmware
|
|
||||||
|
|
||||||
Vita3K does not have a libretro core. It is standalone only.
|
|
||||||
|
|||||||
@@ -738,6 +738,7 @@ SYSTEM_ALIASES: dict[str, str] = {
|
|||||||
"gmaster": "hartung-game-master",
|
"gmaster": "hartung-game-master",
|
||||||
"n64dd": "nintendo-64dd",
|
"n64dd": "nintendo-64dd",
|
||||||
"neogeo64": "hyper-neogeo64",
|
"neogeo64": "hyper-neogeo64",
|
||||||
|
"psvita": "sony-playstation-vita",
|
||||||
# Platform IDs missing the manufacturer-prefix hyphen
|
# Platform IDs missing the manufacturer-prefix hyphen
|
||||||
"atari5200": "atari-5200",
|
"atari5200": "atari-5200",
|
||||||
"atari7800": "atari-7800",
|
"atari7800": "atari-7800",
|
||||||
|
|||||||
Reference in New Issue
Block a user