Repository navigation
Releases: Gattic/PSPC
Release list
PSPC 0.1.2
PSPC 0.1.2
PSPC 0.1.2 makes high-resolution rendering faster, adds named firmware profiles and fixes the
launcher asking to rebuild native code after every session. It also brings the GameSpy server up
to the point where Star Wars Battlefront: Elite Squadron and Star Wars Super Squadron can be
played online.
Faster graphics
- With the Direct3D 11 renderer, triangle transform, lighting and clipping now run on the GPU
with results that match the CPU exactly. The remaining vertex work is recorded and spread over
the worker threads. This helps most at the higher render scales. - Texture sampling at higher resolutions is cheaper, and the Syphon Filter games no longer make
Direct3D 11 copy its rendering back to guest memory tens of thousands of times. - The load/save lists and the HOME menu are composited only when they change, instead of on every
frame; with a large window that was about 10 ms of each frame. - Textures that a game draws without their alpha channel no longer turn black at the edges when
upscaled with xBR. - The OpenGL renderer (Linux builds) gets the same GPU transform. On Windows, Direct3D 11 remains
the GPU renderer.
Firmware profiles and launcher
- Firmware is now kept in named profiles (
firmware\<name>\flash0andflash1). The launcher can
build, rebuild, select and delete profiles; firmware installs are staged so existing files are
never overwritten, and firmware from earlier versions is migrated into a profile. - Play no longer finishes with nothing happening when an empty
flash0folder sits next to a
migrated profile, and the native build shows its progress. - The window's size is restored when leaving full screen, and the software renderer's window
recreates its frame after a render device reset. - A game's native code no longer shows REBUILD after every session. PSPC records only
addresses a rebuild can use and writes them only when a run finds new ones, and the launcher
tells a PSPC update apart from newly found code. After installing, a game that was already
asking to be rebuilt may need one last rebuild.
Online
- Star Wars Super Squadron joins Elite Squadron on the Online page's GameSpy card. Its
GameSpy names are redirected to the public serverswss.pspc.onlineby default; starting the
server on your own PC or choosing OpenSpy overrides that. - The game's server list now shows servers: Super Squadron pings them with ICMP echo, and PSPC
answers that itself where Windows would not give it a raw socket. - The GameSpy server was hardened for hosting on the internet (limits for every connection and
protocol, bounded parsing, refusals logged with their reason) and reviewed: the 28 findings and
their fixes are indocs\gamespy-server-security.md. - The server can run sessions (dedicated game servers), list games hosted by players with a limit,
tell its own games apart on the Join screen, read more games fromgamespy-games.jsonand
carry games through a Cloudflare Tunnel. Setup for a public server is in
docs\gamespy-server.mdand, in the source tree,server\deploy\swss. That includes pinning
the map and mode a Super Squadron session hosts, and making a dedicated disc from the playable
one so a hosted game runs with no player in it. - New options for hosts:
game_portinpspc.inibinds a game's UDP socket to a fixed port, and
--renderer noneruns display lists without drawing, for dedicated servers on machines without
a GPU.
Compatibility and correctness
- Fixed network timeouts (WinHTTP receive deadlines and cancellation), an aborted UDP receive that
could resume twice, scheduler switch costs after a thread was deleted, and renaming or deleting
files a game still has open. - Recorded pspautotests results are still 539 of 559 passing, with the same 20 tracked
differences in interpreter and native modes. - Linux support (OpenGL, a GTK launcher, a relocatable runtime package) is in the source and
checked by CI. This release publishes the Windows installer only.
See game compatibility
for tested progress and remaining game-specific issues.
Install or update
Download PSPC-0.1.2-x64.msi below and open it on Windows 10 or 11 x64. It installs for your
Windows account without administrator rights. Opening it over an existing installation
updates PSPC while preserving settings, saves, firmware and server accounts.
The installer is unsigned. Games and Sony firmware are not included. Firmware 4.01 is optional
for the XMB and provides system fonts needed by some games; see the
installation instructions.
SHA256SUMS.txt contains the installer checksum.
PSPC 0.1.1
PSPC 0.1.1
PSPC 0.1.1 brings native game compilation to the Windows release installer, along with
compatibility fixes, large-disc support and launcher improvements.
Native code in the installed app
Choose Build native code in the launcher, or let Play build it first. The installer now
includes the recompiler, portable LLVM/MinGW compiler, matching AOT SDK and private Python
runtime. No separate Visual Studio, LLVM, Windows SDK or Python installation is needed.
Compiled code is cached between runs, and the launcher offers to rebuild outdated code after
an update. The interpreter remains available.
Native builds also work from installation and game paths containing non-ASCII characters.
Other changes since 0.1.0
- Fixed a crash when freshly compiled Daxter code switches task stacks on entering gameplay.
- Added a GameSpy server for Star Wars Battlefront: Elite Squadron, with accounts, friends,
hosted matches and rankings. The launcher's Online page can run it locally or connect to
another server, including OpenSpy. Host and join testing used two instances on one PC. - Improved kernel timing, graphics, audio, I/O and library compatibility. Recorded
pspautotests results are now 539 of 559 passing, with the remaining 20 tracked as known
differences and matching results in interpreter and native modes. - Added support and regression coverage for disc images beyond the original 1.8 GB UMD size,
including reads and seeks beyond 2 GB and 4 GB. ISO 9660 files split into multiple extents
still expose only their first extent. - Games requesting PSP-2000 extended user memory through
PARAM.SFOnow receive it. - Fixed scrolling artifacts on the Online page and missing rows in server dialogs.
- Added a new PSPC logo and app icon, plus repeatable gameplay checkpoints for seven games.
See game compatibility
for tested progress and remaining game-specific issues.
Install or update
Download PSPC-0.1.1-x64.msi below and open it on Windows 10 or 11 x64. It installs for your
Windows account without administrator rights. Opening it over an existing installation
updates PSPC while preserving settings, saves, firmware and server accounts.
The installer is unsigned. Games and Sony firmware are not included. Firmware 4.01 is optional
for the XMB and provides system fonts needed by some games; see the
installation instructions.
SHA256SUMS.txt contains the installer checksum.
PSPC 0.1.0
The first installable PSPC: PSP games on Windows, with its own online services.
Install
- Download PSPC-0.1.0-x64.msi below and open it. PSPC installs for your Windows account in
%LOCALAPPDATA%\Programs\PSPC(no administrator rights needed) and adds PSPC to the Start menu and the desktop.
The installer isn't signed yet, so Windows may say it's from an unknown publisher: choose More info, then Run anyway. - Start PSPC, then put your games (ISO, CSO or EBOOT.PBP dumps of games you own) in its Games folder, or click Choose a folder....
- Double-click a game to play it. Controls, the renderer and the resolution (up to 8K with Direct3D 11) are under Settings.
What's in it
- Online page: run PSPC Network (sign-in, online IDs and friends, PSPC's PlayStation Network stand-in), the Syphon Filter: Combat Ops server and the ad hoc server on your PC with one click, for you and your friends, or point your games at someone else's. Python comes with PSPC; nothing else to install.
- Graphics: a Direct3D 11 renderer at 1x to 16x the PSP's resolution (4K, 8K), drawn straight to the window, with xBR texture upscaling and texture filtering options.
- The PSP's menu (XMB): Boot XMB installs Sony's firmware from the official 4.01 update file (its EBOOT.PBP), which PSPC can't include. That also brings the system fonts some games draw their text with.
- Games run in PSPC's interpreter. Native (AOT) code needs a source build (see the README).
Notes
- When you host servers for friends on other PCs, Windows asks whether Python and pspc.exe may use the network: allow private networks.
- Updating: open a newer MSI. Uninstalling (Windows Settings > Apps > PSPC) keeps your settings, saves and server accounts.