Skip to content

Compiling PCSX-Redux

Getting the sources

The only location for the source is on github. Clone recursively, as the project uses submodules:

git clone https://github.com/grumpycoders/pcsx-redux.git --recursive.

Windows

Install Visual Studio 2019 Community Edition.
Open the file vsprojects\pcsx-redux.sln, select pcsx-redux -> pcsx-redux, right click, Set as Startup Project, and hit F7 to build.
The project follows the open-and-build paradigm with no extra step, so no specific dependency ought to be needed, as NuGet will take care of downloading them automatically for you on the first build.

Note: If you get an error saying hresult e_fail has been returned from a call to a com component, you might need to delete the .suo file in vsproject/vs, restart Visual Studio and retry.

Openbios

Using Visual Studio Code, one can use the task "make_openbios" to compile: CTRL-P then task make_openbios to compile.

Linux

Compiling with Docker

Run ./dockermake.sh. You need docker for this to work.

1
2
3
4
# Debian derivative; Ubuntu, Mint...
sudo apt install docker
# Arch derivative; Manjaro...
sudo pacman -S docker

You will also need a few libraries on your system for this to work. Check the Dockerfile for a list of library packages to install.

Compiling with make

  • Debian derivatives ( for full emulator compilation ):
1
sudo apt-get install -y build-essential git make pkg-config clang g++ g++-mipsel-linux-gnu cpp-mipsel-linux-gnu binutils-mipsel-linux-gnu libfreetype-dev libavcodec-dev libavformat-dev libavutil-dev libcurl4-openssl-dev libglfw3-dev libswresample-dev libuv1-dev zlib1g-dev
  • Arch derivatives :
1
sudo pacman -S clang git make pkg-config ffmpeg libuv zlib glfw-x11 curl xorg-server-xvfb

You can then just enter the 'pcsx-redux' directory and compile without using docker with make.

If you have a different mips compiler, you'll need to override some variables, such as PREFIX=mipsel-none-elf FORMAT=elf32-littlemips.

Openbios

Building OpenBIOS on Linux can be done with docker : ./dockermake.sh openbios,
or using make, with the g++-mipsel-linux-gnu package installed ; make openbios.

MacOS

You need MacOS Catalina with the latest XCode to build, as well as a few homebrew packages.
Run the brew installation script to get all the necessary dependencies.

Run make to build.

Compiling OpenBIOS will require a mips compiler, that you can generate using the following commands:

Openbios

1
2
brew install ./tools/macos-mips/mipsel-none-elf-binutils.rb
brew install ./tools/macos-mips/mipsel-none-elf-gcc.rb

Then, you can compile OpenBIOS using make -C ./src/mips/openbios.

Compiling PSX code

If you're only interested in compiling psx code, you can clone the PCSX-Redux repo;

1
git clone https://github.com/grumpycoders/pcsx-redux.git --recursive
then install a mips toolchain and get the converted PsyQ libraries in the pcsx-redux/src/mips/psyq/ folder as per these instructions.

You can also find the pre-compiled converted Psyq libraries online.

Getting the toolchain on Windows

Download the MIPS toolchain here : https://static.grumpycoder.net/pixel/mips/g++-mipsel-none-elf-10.3.0.zip
and add the bin folder to your $PATH.
You can test it's working by launching a command prompt and typing mipsel-none-elf-gcc.exe --version. If you get a message like mipsel-none-gnu-gcc (GCC) 10.3.0, then it's working !

Getting the toolchain on GNU/Linux

Debian derivative; Ubuntu, Mint...

1
sudo apt install g++-mipsel-linux-gnu cpp-mipsel-linux-gnu binutils-mipsel-linux-gnu

Arch derivative; Manjaro...

The mipsel environment can be installed from AUR : cross-mipsel-linux-gnu-binutils and cross-mipsel-linux-gnu-gcc using your AURhelper of choice:

1
trizen -S cross-mipsel-linux-gnu-binutils cross-mipsel-linux-gnu-gcc