TL;DR
Get the latest gadgets delivered free — and shop member deals
- Fast, free delivery on millions of items
- Access to Prime Big Deal Days deals on October 6–7
- Prime Video, Amazon Music and more included
A developer has built a project that recompiles PSP game code into C++ and WebAssembly, then runs it in a browser with a custom PSP system and graphics layer. The project report says God of War: Chains of Olympus and Ghost of Sparta run in Chrome and Firefox; users must supply their own game data, and some details, including broad device performance, remain unverified.
A developer has published a project that recompiles PlayStation Portable game code into WebAssembly, allowing selected games to run in a web browser without using a conventional PSP emulator. The project report names God of War: Chains of Olympus and God of War: Ghost of Sparta as working titles, while requiring users to provide their own game data.
The project translates a game’s decrypted MIPS executable into C++ ahead of time, compiles that output to WebAssembly, and links it to a small reimplementation of parts of the PSP operating system and graphics hardware. Its renderer processes PSP graphics commands and uses WebGL2 to draw. The repository describes this as recompilation rather than running the original game through a conventional, instruction-by-instruction emulator.
According to the project’s GitHub report, Chains of Olympus runs from startup through menus, cutscenes and combat. The developer reports 60 frames per second in the scenes measured in Chrome and Firefox on a laptop, at up to four times the PSP’s native 480-by-272 resolution. Music, dialogue and sound effects work, but movie playback is skipped for now. The report also says the game can run on phones using on-screen touch controls; it does not provide broad device testing or performance figures for mobile.
The report says Ghost of Sparta was brought up using the same scripts and recompiler, reaching 55 to 60 frames per second at three times native resolution. It required support for a small DRM-protected file, additional system calls and a lighting correction. The project says game data is not included: users supply a disc image they own, and the scripts turn it into a web page on the user’s machine. Its file system can stream disc data using HTTP Range requests, so only the executable needs to be downloaded at the outset.
A Different Route to Browser Play
The demonstration shows how ahead-of-time recompilation can make software written for older hardware accessible through a browser while retaining much of the original program’s structure. Rather than rebuilding each game from scratch, the project translates executable code and supplies the system services and graphics behavior the game expects. That approach could be useful to preservation and research projects seeking ways to run legacy software on current devices.
Its reported performance also reflects more than raw hardware speed. The developer says the first playable build ran at 6 frames per second, and that profiling and changes to frame synchronization, graphics work and threading accounted for much of the improvement. Those figures are the project’s own measurements, not an independent benchmark or a guarantee that every browser, device or game will perform similarly.
The requirement that users bring their own disc image matters for both access and rights. The repository says it does not distribute game data, but the source material does not explain the legal status of making or using a particular image in every jurisdiction. The report should not be read as a claim that browser access removes copyright or licensing restrictions.
PlayStation Portable game controller
As an affiliate, we earn on qualifying purchases.
As an affiliate, we earn on qualifying purchases.
How the PSP Code Reaches WebGL
The project builds on PSPRecomp, which analyzes a decrypted PSP executable, identifies functions and emits C++ in units organized around blocks of guest code. The web target adds a model of PSP registers and memory, plus host-side implementations for selected services such as cooperative threads, file access, controller input, audio, save data and message dialogs. This allows games to call familiar PSP functions while running in a browser environment.
Graphics commands are decoded on the CPU and passed to a WebGL2 renderer. The project maps PSP framebuffers to WebGL render targets and handles effects including lighting, fog, texture operations and aspects of the PSP’s stencil behavior. Audio is also handled through separate components: the report describes a software voice synthesizer for sound effects, FFmpeg decoding for ATRAC3+ music and speech, and mixing through an AudioWorklet.
Performance work was central to the reported results. The developer describes limiting excessive frame submissions, avoiding expensive timing calls, changing how index buffers are uploaded for Firefox, and moving graphics processing to a worker thread. These are implementation details from the repository’s account; they indicate why the result depended on browser-specific behavior as well as the game code itself.
“PSP games running in the browser without an emulator.”
— The project’s GitHub report
WebAssembly compatible gaming laptop
As an affiliate, we earn on qualifying purchases.
As an affiliate, we earn on qualifying purchases.
Performance and Compatibility Limits
The performance figures come from the developer’s report, and the supplied material does not include independent testing, detailed laptop specifications or results across a range of phones and browsers. The claim of 60 frames per second applies to scenes measured on a laptop in Chrome and Firefox, not necessarily every part of either game or every system. Compatibility with other PSP titles is also unknown.
Some features remain incomplete: the report says movie playback is skipped in Chains of Olympus. It describes Ghost of Sparta as working after several fixes, but the supplied report ends while discussing a lighting investigation, so the full scope of remaining visual differences is not established. The material also does not specify the project’s release status, setup requirements in full, or whether it has been tested beyond the described configurations.
As an affiliate, we earn on qualifying purchases.
Further Game and Browser Testing
The repository provides the scripts and web target for users to try with game data they supply. The next practical test is whether the approach works reliably across more PSP titles, browser versions and devices, and whether unfinished features such as movie playback can be supported. The source material does not announce a release schedule or promise additional games, so those developments remain open.
Readers evaluating the project should check the repository for current instructions, compatibility notes and code changes before attempting to run it. Any new performance or compatibility claims will need to be tied to specific games, browser versions and hardware rather than generalized from the two reported God of War titles.
portable gaming device for PSP games
As an affiliate, we earn on qualifying purchases.
As an affiliate, we earn on qualifying purchases.
Key Questions
Is this a PSP emulator running inside the browser?
The project describes its method as ahead-of-time recompilation, not a conventional emulator. It translates a decrypted PSP executable into C++ and WebAssembly, then supplies browser-side implementations of selected PSP system and graphics functions.
Which God of War games does the report say work?
The report names Chains of Olympus and Ghost of Sparta. It gives performance figures for both, but those results are the developer’s measurements and do not establish compatibility with other PSP games.
Does the project include the games?
No. The GitHub report says game data is not included. Users supply their own disc image, and the project’s scripts process it on the user’s machine. The report does not address the legal rules for copying or using game images in different locations.
Do all features work in the browser?
Not according to the report. Music, speech and sound effects are described as working, while movie playback is skipped for Chains of Olympus. Performance and visual behavior may also vary by device and browser.
Source: hn
Halloween Picks
halloween
As an affiliate, we earn on qualifying purchases.
