A candy shop of tools and libraries for PlayStation development
This readme will need to be better fleshed-out. Im also really bad at git
CandyK, as a whole, is licensed under the "zlib license". Please check the LICENSE file for more information.
Toolchain examples are licensed under the Creative Commons Zero license - feel absolutely free to base your code on them!
- You will need to install the Wonderful Toolchain
- Install the MIPS toolchain through wf-pacman:
wf-pacman -S toolchain-gcc-mipsel-elf
- Assuming you git cloned this repo, export the MIPS Bin to PATH:
export PATH=/opt/wonderful/toolchain/gcc-mipsel-elf/bin:$PATH
- All you to do now is enter the
candyk-psx
directory andmake
. - If you made changes to the libs or tools, do
make tools
and/ormake libs
bin/
: Target directory for host-native toolslib/
: Target directory for PlayStation librariessrc/
: Source code for PlayStation librariestoolsrc/
: Source code for host-native tools
chenboot
: crt0 and interupt bootstrap faciliteseyecandy
: a low-level GPU library (HEAVY WIP)orelei
: SPU sound driversawpads
: joystick driverseedy
: CD-ROM driver
elf2psx
: a tool that converts a .elf to a .exe filelibpsxav
: a library that reads a bunch of Playstation 1 formatspscd-new
: a tool that makes your projects in Disc (bin/cue) formatpsxavenc
: a tool that converts your files into Playstation 1 formatsxainterleave
: a tool that interleaves your .XA file
This requires a license.dat. In order to obtain such, grab your legally obtained PS1 game and copy this:
dd if=game.bin of=license.dat bs=2352 count=16
And then reference that file in manifest.txt under the lic
variable.
(or use the blank license included, thx spicyjpeg :p)
For some, including myself, it wont build because of some misincludes in the offical libavutil
include.
The way I solved was to git clone the offical repository and follow those steps.
I will try to see if i can fix it but that will be the way to go for now.
I wanna say its literally a copy and paste from chenboot_triangle. I know it may not work out in the long end but its something. I do plan on adding some GTE support but my C knowledge is only but so limited, so that might take awhile. PLEASE tell me if something wont work.
- Add more examples.
- Add GTE Support for eyecandy.
- implement
libc
(most likely to chenboot). - Add support for resource packages (e.g. psxfudge, rres, etc. maybe I'm pushing it)
- Add some demos maybe.
- A template.