• Stars
    star
    863
  • Rank 52,844 (Top 2 %)
  • Language
    C
  • License
    Other
  • Created almost 14 years ago
  • Updated 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

An open-source SDK for PSP homebrew development.

PSP Software Development Kit

CI CI-Docker

Version 1.0+beta2 - https://github.com/pspdev/pspsdk

Introduction

The PSP Software Development Kit (PSPSDK) is a collection of Open Source tools and libraries written for Sony's Playstation Portable (PSP) gaming console. It also includes documentation and other resources developers can use to write software for the PSP.

License

PSPSDK is distributed under a BSD-compatible license, with the exception of the files located in tools/PrxEncrypter. The files located in the tools/PrxEncrypter directory are subject to the terms of the GNU General Public License version 3. See the LICENSE files for more information.

Features

PSPSDK provides a full set of libraries for creating PSP software:

  • Stub libraries and headers for interfacing with the PSP operating system, ranging from threading libraries, file io, display driver and wifi networking.
  • Basic runtime support (crt0) for executables and libraries.
  • A libcglue library for fulfill newlib system call requirements.
  • Support code for linking with the full Standard C Library provided with the PSPDEV toolchain.
  • An implementation of the libGU graphics library. libGU provides an interface to the 2D and 3D hardware acceleration features found in the PSP's Graphic Engine.
  • An implementation of the libGUM library. libGUM provides an interface for manipulating matrices for use in 3D software.
  • A simple audio library that can be used to play back PCM audio streams.
  • Support for building static executables and PRX files (relocatable modules).

PSPSDK also includes several tools to assist in building PSP software:

  • bin2c, bin2o, and bin2s for converting binary files into C source, object files, and assembler source files, respectively.
  • mksfo and mksfoex for creating PARAM.SFO files.
  • pack-pbp and unpack-pbp for adding and removing files from EBOOT.PBP.
  • psp-config for locating PSPDEV tools and libraries.
  • psp-prxgen for converting specially made ELFs to PRX files.
  • psp-build-exports for creating export tables
  • psp-fixup-imports for fixing up import tables post-linking to remove unused functions from the executable.

Documentation for the libraries are also provided, and can be found in the doc/ directory of the PSPSDK source and binary distributions.

A library for Make (build.mak) is also included to provide an easy way to build simple programs and libraries. See any PSPSDK sample program for details on how build.mak is used.

Installation

PSPSDK is distributed in both source and docker image. If you only want to use the PSPSDK tools and libraries to develop your software you'll want to pull the docker image distribution of PSPSDK using https://github.com/pspdev/pspsdk/pkgs/container/pspsdk. If you need fine-grained control over how PSPSDK is installed on your system, or if you would like to modify PSPSDK then grab the source distribution.

Requirements

To use PSPSDK you must have the following software installed:

In addition to the above requirements, if you plan on building PSPSDK from source, you will need:

The following packages are not required to build PSPSDK, but are used to build documentation and other optional resources:

Installation from source

PSPSDK can be found in the Git repository located at https://github.com/pspdev/pspsdk. you can do the following command to download PSPSDK:

git clone https://github.com/pspdev/pspsdk.git

Once you've downloaded PSPSDK, run the following command from the pspsdk directory to create the configure script and support files (you must have autoconf and automake installed):

./bootstrap

PSPSDK uses the GNU autotools (autoconf and automake) for its build system. To install PSPSDK, run the following commands:

./configure
make
make doxygen-doc
make install

If you haven't installed Doxygen or don't want to build the library documentation, you can skip the make doxygen-doc command.

Notes

  • This is a BETA release of PSPSDK. Some of the features and tools described here may not be fully implemented.

  • By default PSPSDK will install into the directory where the PSPDEV toolchain is installed. If you decide to install PSPSDK somewhere else then you must define a PSPSDK environment variable that points to your alternate directory. The psp-config build utility will look for PSPSDK in the location specified in the PSPSDK environment variable first, or use its own location to determine where PSPSDK is installed.

  • The Makefile templates provided by the sample code are designed for building a single executable or a library, but not both. If you plan on using these templates in your project to build both libraries and executables be aware that you will have to structure your project so that each library and executable are built in a seperate directory.

Bugs

If you find a bug in PSPSDK, open an issue at GitHub. If possible, include any code or documentation that can be used by the PSPSDK developers to recreate the bug.

Resources

Official Source Documentation

This is generated automatically from the repository master branch: https://pspdev.github.io/pspsdk/

Discord

You can find PSPDev Maintainers over at https://discord.gg/bePrj9W in the #psp-toolchain channel :)

Code of Conduct

We're all here to build software and have fun with our PSPs, and everyone deserves to be able to do that without fear of harassment.

Please follow our Code of Conduct, and we encourage you to contact the PSPDev Maintainers if you think something isn't right.

Thanks

The pspsdk developers wish to thank all the people who have contributed bug fixes, ideas and support for the project. Also big thanks to nem for kicking off PSP development with all his work, the original imports system is based on his work in the hello world demo.

More Repositories

1

psptoolchain

A script to automatically build an open-source toolchain for PSP homebrew development.
Shell
378
star
2

pspdev

pspdev master repository
Shell
164
star
3

psp-ports

A collection of open source software ported to the PSP.
C
99
star
4

prxtool

A simple tool to manipulate Sony PSP(tm) PRX files
C++
64
star
5

psplinkusb

General purpose homebrew/debugging toolkit for PSP
C
64
star
6

psplibraries

A script to automatically build open-source libraries for PSP homebrew development.
Shell
47
star
7

pspdev-docker

Automatically build a docker image with the pspdev toolchain ready to be used for homebrew development.
Dockerfile
35
star
8

psp-ghidra-scripts

Scripts for use with the Ghidra Reverse Engineering Suite
Python
34
star
9

pspgl-legacy

OpenGL libraries for PSP
C
25
star
10

psp-packages

Python
24
star
11

psp-pacman

Package manager for ported libraries
Shell
12
star
12

gcc

A port of gcc to the PSP.
10
star
13

psptoolchain-allegrex

This program will automatically build and install an Allegrex compiler which is used in the creation of homebrew software for the Sony PlayStation® Portable videogame system.
Shell
10
star
14

newlib

A fork of newlib for the PSP.
C
8
star
15

vfpu-docs

C
8
star
16

clang-psp

New toolchain approach for PSP
CMake
5
star
17

libintraFont

C
5
star
18

SDL_gfx

SDL2_gfx and SDL_gfx with PSP specific patches
3
star
19

MediaEngine

PSP MediaEngine Plugin
C
3
star
20

pspdev.github.io

The pspdev website
C
3
star
21

gdb

The GNU debugger for PSP
C
2
star
22

psptoolchain-extra

A set of tools needed before compiling psp-packages
Shell
2
star
23

freetype2

freetype2 with PSP specific patches
C
2
star
24

insight

A fork of insight to the PSP.
C
1
star
25

kubridge

KUBridge Library
C
1
star