Playstation 1 Development Tutorial | Setting up on Arch Linux

10/25/2024 14:01

How to Make Playstation 1 Games

Setting up the environment on Arch Linux

What we will set up

You will need to add 2 dependencies to your PATH.

mipsel-none-elf  For compiling your game.

mkpsxiso  For bunding everything to an ISO file, so you can burn your game to a CD and play it on an actual Playstation 1.

Let's get to it!

Setting up mipsel-none-elf

You can install mipsel-none-elf by running this script below.
It will set up everything you need, and makes mipsel-none-elf work just out of the box.

Setting up mkpsxiso

mkpsxiso is available on AUR as mkpsxiso-git.
You can also install it from Github.
I use yay to install it

yay -S mkpsxiso-git

Rounding up

Once both mipsel-none-elf and mkpsxiso is installed, you're good to go.

Emulation

When testing your games locally, you will need to download a Playstation emulator or debugger.
I recommend that you use the beautiful PCSX-Redux. I just use the AppImage on Arch. It is really nice, and works well in most scenarios.
Sometimes PCSX-Redux is not entirely accurate.
If you get stuck on something specific, it can be helpful to test on another emulator.

For accurate emulation, I recommend no$psx. It works very well through wine.
You can download it on the website.

I recommend sticking with PCSX-Redux, since it has modern features such as gdb support,
and switching to no$psx when it doesn't suffice, or you just want to double-check your things work.

You can also even verify that the result is the same on Duckstation as well.
Duckstation is available on flatpak, and also in the Arch user repository.

If your game runs well on all 3 of those emulators, there is a good chance it works well on real hardware too.

Finished

Now you have set up everything, here is a game that I made you can try on the emulators.
I wonder what game it could be... but I'm sure you know of it.

Continuing the journey

More than learning from a guide, I prefer tearing apart a good example and making it my own learning experience.
Luckily, there is a beautiful repository ready for you.

git clone https://github.com/ABelliqueux/nolibgs_hello_worlds

To make the examples, you can run

make all

That will build all the individual examples, that you can then explore in an emulator, while looking at the source code.
The examples range from Hello World to lit and textured 3d.

I wish you best of luck!

1

0

Write a reply (0/3500)

Replies

No replies yet