- Home
- PSP Emulators
- PSP.js
PSP.js
What it is
PSP.js is a work-in-progress PlayStation Portable emulator written in TypeScript for use in a web browser. Its high-level emulation reimplements PSP system calls, so it does not require a BIOS ROM. The app loads ISO and PBP game files, including KIRK-encrypted EBOOTs, and runs the MIPS Allegrex CPU and VFPU. It renders the PSP Graphics Engine through WebGL and the project says it decodes ATRAC3+ audio and MPEG/PSMF video. Game data is stored in browser storage, and keyboard controls can be configured in the app. The project reports that several commercial games boot to menus and render, and links to a per-game compatibility list for status details. A graphics worker requires SharedArrayBuffer, so a plain static file server will not work. The documented local setup uses Git submodules, npm install, and npm run dev; that development server sends COOP/COEP headers needed by the worker. The project reports that its pspautotests CPU and kernel suite passes. Documentation covers the user guide, architecture, and subsystem and HLE module references.
For and against
For
- Does not require a BIOS ROM.
- Loads ISO and PBP games.
- Saves game data in browser storage.
- Keyboard controls are configurable.
- Project documentation covers architecture and modules.
Against
- Described as a work in progress.
- A plain static file server will not work.
- Compatibility varies by game.
The verdict
PSP.js provides browser-based PSP emulation with support for game files, graphics, audio, and video paths. It remains under development, and the graphics worker requires SharedArrayBuffer rather than a plain static file server.
Who it suits
PSP.js may suit users interested in trying a browser-based PSP emulator or exploring its TypeScript implementation. Its work-in-progress status and per-game compatibility list are important considerations.
On the record
- Audio and video
- The project says it decodes ATRAC3+ audio and MPEG/PSMF video.github.com · read 4 Oct 2026
- Browser APIs
- The implementation uses WebGL, AudioWorklet, and WebCodecs for graphics, audio, and video paths.github.com · read 4 Oct 2026
- Browser requirement
- The README says the graphics worker requires SharedArrayBuffer and that a plain static file server will not work.github.com · read 4 Oct 2026
- Compatibility information
- The repository links to a per-game compatibility list for status details.github.com · read 4 Oct 2026
- Compatibility status
- The project says several commercial games boot to menus and render, and directs users to a per-game compatibility list.github.com · read 4 Oct 2026
- CPU and graphics
- It runs the MIPS Allegrex CPU and VFPU and renders the PSP Graphics Engine using WebGL.github.com · read 4 Oct 2026
- Development status
- The project describes itself as a work in progress; several commercial games boot to menus and render.github.com · read 4 Oct 2026
- Documentation
- The README says project documentation covers the user guide, architecture, and subsystem and HLE module references.github.com · read 4 Oct 2026
- Emulation
- It runs the MIPS Allegrex CPU and VFPU and renders graphics through WebGL.github.com · read 4 Oct 2026
- Game formats
- It loads ISO and PBP games, including KIRK-encrypted EBOOTs.github.com · read 4 Oct 2026
- Input
- Keyboard controls are available in the in-app input settings.github.com · read 4 Oct 2026
- No BIOS required
- Its high-level emulation reimplements PSP system calls in TypeScript, so it does not require a BIOS ROM.github.com · read 4 Oct 2026
- Product
- PSP.js is a work-in-progress PlayStation Portable emulator written in TypeScript that runs in a browser using high-level emulation.github.com · read 4 Oct 2026
- Run locally
- The repository’s quick start uses Git submodules, npm install, and npm run dev, then opens a local URL in a browser.github.com · read 4 Oct 2026
- Saved data
- Game data is saved in browser storage.github.com · read 4 Oct 2026
- Server requirement
- The documented development server sends COOP/COEP headers for SharedArrayBuffer; the README says a plain static file server will not work for the GE worker.github.com · read 4 Oct 2026
- Testing
- The repository reports that its pspautotests CPU and kernel suite passes.github.com · read 4 Oct 2026
- Use
- The README directs users to open the browser app, choose a game, and load an ISO or PBP; keyboard controls are configured in the app.github.com · read 4 Oct 2026