A simple and portable Sony PlayStation emulator and emulation library written in C
Windows | Ubuntu | macOS |
---|---|---|
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.
All components have been implemented, everything apart from the CDROM and memory cards is pretty much complete.
CPU
DMA
GPU
SPU
MDEC
GTE
Timers
CDROM
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.
git clone https://github.com/allkern/psxe
cd psxe
./build-deps
./build-win64.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.
git clone https://github.com/allkern/psxe
cd psxe
make clean && make
git clone https://github.com/allkern/psxe
cd psxe
./build.sh
This project uses external open source code that can be found on the following GitHub repos:
- argparse.c: https://github.com/cofyc/argparse
- log.c (slightly modified): https://github.com/rxi/log.c
- tomlc99: https://github.com/cktan/tomlc99
Their original licenses are respected and apply to the code in this project.
As always, thanks to all original developers for their amazing work.