PLAYSTATION EMULATOR
psxe
psxe — a compact, portable PlayStation (PS1) emulator and emulation library written in C, intended to run on Windows, macOS and Linux. Provides implementations of CPU, GPU, SPU, CDROM, GTE and other PS1 subsystems and can be built from source or used via automated builds on the project's GitHub Releases page.

WHY IT MATTERS
Why this project matters
psxe aims to be a small, portable PS1 emulator and emulation library written in plain C. It is intended both as a playable emulator and as a reusable core for other frontends or projects that need PS1 emulation functionality.
BEST FOR
Best for
Users who want a lightweight, source-available PS1 emulator they can build and inspect, or developers seeking a C-based PS1 emulation library to embed or experiment with.
The people behind psxe
History & status
The project is hosted on GitHub (allkern/psxe). The README and repository show active development activity (commits and CI/build scripts) and automated builds are provided via the Releases page. The README lists implemented subsystems (CPU, DMA, GPU, SPU, MDEC, GTE, Timers, CDROM) and notes memory card support is temporarily disabled. The repository includes cross-platform build scripts (Windows PowerShell scripts, macOS build.sh, and Makefile for Linux) and a Makefile.libretro, indicating interest in different build targets and integration scenarios. The project is released under the MIT license.
What psxe supports
- Windows (x64 builds available in Releases or build from source)
- macOS (build script provided; SDL2 and dylibbundler recommended)
- Linux (Ubuntu example: build using make; requires libsdl2-dev)
- Build-from-source for other Unix-like systems (requires SDL2)
Download and availability
OFFICIAL DOWNLOADS
Get psxe
Official downloads and automated builds are provided on the project's GitHub Releases page. If a prebuilt binary for your platform is not available, build from source using the repository's build scripts.
Get psxe ↗DOCUMENTATION
Official documentation
Read the official configuration, compatibility, and troubleshooting material before changing advanced options.
Read official documentation ↗psxe setup guide
Setup note: This setup guide follows the project's README and build scripts. psxe requires a PS1 BIOS file (not provided) to run commercial games. The repo includes platform-specific scripts for Windows, macOS and Linux; SDL2 is a runtime dependency.
- Obtain the project and releases: Visit the official GitHub repository (allkern/psxe) and check the Releases page for automated builds for your platform. If a prebuilt executable exists for your OS, download that release artifact. Otherwise clone the repository to build from source: git clone https://github.com/allkern/psxe
- Acquire a PlayStation BIOS (legal notice): psxe requires a PS1 BIOS file. The README explicitly states you must supply your own BIOS (dumped from your own console) or obtain it elsewhere. The project does not include BIOS files. Use only BIOS files you legally own.
- Windows — use automated build or build from source: If you downloaded a Windows build from Releases, place the SDL2 DLL alongside the executable if the build requires it. To build on Windows from source, run the repository's build-deps.ps1 to fetch SDL2, then run build-win64.ps1 (or build-win32.ps1) as documented in the README. If PowerShell scripts fail, open an issue on the project's GitHub with system details.
- Linux (Ubuntu example): Install libsdl2-dev using your package manager (example for Ubuntu: sudo apt update && sudo apt install libsdl2-dev). Clone the repo, then run make clean && make in the repository root. The README shows this sequence and the repository contains a Makefile to drive the build.
- macOS: Install SDL2 and dylibbundler (Homebrew recommended): brew install sdl2 dylibbundler. Clone the repo and run ./build.sh as shown in the README. Use dylibbundler to fix runtime dynamic library paths if you plan to distribute or move the binary.
- Configure and run with BIOS and game images: Run the psxe binary and supply the BIOS path with the -b or –bios option as documented in the README. Typical invocation: ./psxe -b /path/to/your/bios.bin path/to/game.cue (or other supported CD image). The README notes most BIOS versions are confirmed to work and that memory card support is temporarily disabled.
- Troubleshooting and dependencies: Ensure SDL2 is available at build and runtime. On Windows, place SDL2 DLL next to the executable if not statically linked. On macOS, use dylibbundler to bundle SDL2 into the app folder. If builds fail, consult the repository Issues and open a new issue with detailed system logs.
- Integration and advanced builds: The repo contains a Makefile.libretro suggesting an intended libretro core build path; inspect that Makefile and the repository for details if you want to build a libretro core. Do not assume a libretro core is distributed in Releases unless a release artifact explicitly lists it.
Software reminder: psxe requires a PS1 BIOS file which is not included. Do not download BIOS or game images unless you own the original media. Follow the project's README for exact build commands and platform prerequisites.
Sources and further reading
Detailed guides and tutorials
Explore step-by-step guides for psxe as they are published.
Retro Replay Retro Gaming History, Reviews & Emulation
