Skip to content

allkern/psxe

Repository files navigation

psxe

A simple and portable Sony PlayStation emulator and emulation library written in C

Screenshots

Windows Ubuntu macOS
Mega Man X6 (USA) Bloody Roar 2 - Bringer of the New Age (Europe) Parodius (Europe)
Spyro 2 - Ripto's Rage (USA) Namco Museum Vol. 1 (USA) Darius Gaiden (Japan)

CI status

Windows macOS Ubuntu

Running

You can download the latest automated build for your platform on Releases. If your system isn't supported, you can easily build the emulator from source, instructions on "Building" below.

In order to run the emulator, you will need a BIOS file. You can either get one from the internet or dump it from your own console.

Most BIOS versions are confirmed to work.

Use the -b or --bios setting to configure the BIOS file.

Progress

All components have been implemented, those with an orange circle are WIP, while the green ones are largely working correctly.

CPU
DMA
GPU
SPU
MDEC
CDROM
Timers
GTE

Building

Building the emulator should be easy, just use the scripts provided in this repo.

On Windows, the build-deps.ps1 script downloads SDL2 and unzips it. If you want to run the emulator standalone, you will have to move the SDL2 DLL to the same folder where the executable is located.

If you already have SDL2 on your system, you can skip running build-deps.ps1. Though you will have to edit build-win.ps1 to point the SDL2_DIR variable to your installation path.

On Ubuntu, you will also need to install libsdl2-dev, you can get it from apt like so:

sudo apt update
sudo apt upgrade
sudo apt install libsdl2-dev

Building on macOS requires installing SDL2 and dylibbundler, this can be done using brew:

brew install sdl2
brew install dylibbundler

Assuming you did everything described above, you should be able to build the emulator by using the following commands.

Windows

git clone https://github.com/allkern/psxe
cd psx
./build-deps
./build-win.ps1

On rare cases these scripts might not work (PowerShell/Windows bugs). If so, please open an issue on the issues tab with information about your system so we can make sure we cover the maximum amount of systems.

Ubuntu

git clone https://github.com/allkern/psxe
cd psx
make clean && make

macOS

git clone https://github.com/allkern/psxe
cd psx
./build.sh

Acknowledgements

This project uses external open source code that can be found on the following GitHub repos:

Their original licenses are respected and apply to the code in this project.

As always, thanks to all original developers for their amazing work.