PSX Quake

Start a work log and update it occasionally with your projects progress
Post Reply
What is PSXDEV?
What is PSXDEV?
Posts: 1
Joined: Apr 20, 2024
Location: Estonia

PSX Quake

Post by svvv » April 20th, 2024, 5:40 pm


I decided to learn a bit about PSX development, since I have fond memories of the console.
Didn't want to get carried away by art, so for my first learning project I chose to port something to the system.

The PSX Quake makes use of the PSn00bSDK and some chunks of musl (since the SDK doesn't ship a full math library).
It is a bit of a mess right now, but both swquake and "gl"quake run. Both binaries depend on the dev. console's increased RAM size.

Porting the software-rendered Quake was pretty straightforward (after getting the minimal math library in place). Start and e1m1 levels load and can be played at glorious <1 FPS :D. Hardest part of it was writing the IO wrapper to transform the CD IO to something akin to the expected POSIX file IO.
► Show Spoiler
Hardware-rendered port is still ongoing, but the menu kind-of works, with some textures being misaligned a bit or flipped. First had to stub out all OpenGL functions. Then had to write a custom VRAM allocator, which is probably not the best implementation but it seems to work for now.
After I get past the menu then it'll become a bit trickier, since Quake doesn't seem to de-allocate it's textures and PSX VRAM isn't large enough to hold all of the textures.
► Show Spoiler
Currently it still runs on soft-float and probably thrashes the CD drive, since the data files are not altered in any way and the game expects a normal drive.
Not sure how far I'll get this port before life gets in the way, but maybe someone will find it interesting. I'll post source after I clean it up a bit.

P.S. Does anyone have any ideas why the program displays fine under Duckstation but just displays a black screen under PCSX-Redux?

Edit: Sorry about the delay, got caught in the "just a bit more to get it running nicer" phase. No major progress after the post, did refactor the softfp into a custom fixed point implementation, but it's broken and ugly and doesn't fully work yet.
Source at:
You do not have the required permissions to view the files attached to this post.

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest