Skip to content

malucard/poeng

Repository files navigation

poeng

A C++ game engine and development framework for PS1, featuring modules that build upon each other but are all optional. It can be used as a (relatively) high-level game engine, as a simple SDK, or even just as a build system. It's not complete or stable.

To create a project using poeng, clone poeng-template. There is also at least one example here.

Setup

For development, CLion is highly recommended if you can get it, since it fully supports modules and integrates nicely with the build system. VS Code won't work unless you can get modules to work with clangd.

To compile, a binutils and GCC 15 toolchain for mipsel-none-elf is required. To automatically build and install it from source, run make install-gcc. It'll take a while.

Usage (from a project)

Some utility commands are provided as make targets. Run make help to list them. Here are some usage examples:

Build in release mode

make

Test with pcsx-redux and enable memory sanitizer

make test MSAN=1 DEV=1

Test with a real console over network

make sendexe client IP=ip:port

Credits

  • spicyjpeg for ps1-bare-metal, which is a good resource, and I have adapted and included its convertExecutable.py and convertImage.py here
  • nocash and https://psx-spx.consoledev.net for the most in-depth resource for the PS1 hardware

About

PlayStation optimized engine

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published