mirror of
https://github.com/pspdev/pspsdk.git
synced 2025-10-03 16:51:27 +00:00
219 lines
8.7 KiB
Plaintext
219 lines
8.7 KiB
Plaintext
PSP Software Development Kit
|
|
Version 1.0+beta2
|
|
http://www.pspdev.org/
|
|
|
|
|
|
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.
|
|
|
|
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 minimal port of the Standard C Library (libc) is included. PSPSDK's
|
|
mini-libc provides portable memory allocation, string formatting, and
|
|
several other Standard C Library functions.
|
|
* 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 which 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 for creating PARAM.SFO files.
|
|
* pack-pbp and unpack-pbp for adding files to 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 binary packages. If you only
|
|
want to use the PSPSDK tools and libraries to develop your software you'll
|
|
want to grab the binary distribution of PSPSDK specific to your development
|
|
platform. 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. You can also install PSPSDK from Subversion, see "Installation
|
|
from Subversion" below for details.
|
|
|
|
Requirements
|
|
|
|
To use PSPSDK you must have the following software installed:
|
|
|
|
* The PSPDEV Toolchain. PSPSDK requires the GNU toolchain (GCC and
|
|
binutils) targetted to the PSP. You can find binary packages of these
|
|
tools at http://www.pspdev.org/. You can find a script to build and
|
|
install the toolchain at https://github.com/pspdev/psptoolchain.
|
|
|
|
In addition to the above requirements, if you plan on building PSPSDK from
|
|
source, you will need:
|
|
|
|
* Make. Note: GNU Make may not be required, but if you run into problems
|
|
building from source you may want to install it. You can find GNU Make
|
|
at http://www.gnu.org/software/make/.
|
|
|
|
If you plan on building PSPSDK directly from the Subversion repository you
|
|
will need:
|
|
|
|
* A Subversion client. A popular client for Windows is TortoiseSVN
|
|
(http://tortoisesvn.tigris.org/).
|
|
* GNU autotools. You will need a recent version of autoconf
|
|
(http://www.gnu.org/software/autoconf/) and automake
|
|
(http://sourceware.org/automake/).
|
|
|
|
The following packages are not required to build PSPSDK, but are used to
|
|
build documentation and other optional resources:
|
|
|
|
* Doxygen. You can find Doxygen at http://www.stack.nl/~dimitri/doxygen/.
|
|
If you want to view the pretty source dependency graphs, then you will
|
|
also need to install Graphviz (http://www.graphviz.org/).
|
|
|
|
Installation from binary
|
|
|
|
Download the PSPSDK binary package specific to your development system.
|
|
For example, if you are using Windows, you will want to download the file
|
|
pspsdk-1.0-win32.zip.
|
|
|
|
Extract or unzip the package into the folder where the PSPDEV toolchain is
|
|
installed. For example, on a Windows system you may have installed the PSPDEV
|
|
toolchain to C:\pspdev. You would then unzip PSPSDK into C:\pspdev.
|
|
|
|
Update your PATH environment variable to point to the PSPSDK tools
|
|
directory. In the above example, if you installed PSPSDK to C:\pspdev, you
|
|
would add C:\pspdev\bin to your PATH.
|
|
|
|
Installation from source
|
|
|
|
PSPSDK uses the GNU autotools (autoconf and automake) for its build
|
|
system. To install PSPSDK from a source distribution, run the following
|
|
commands after unpacking it:
|
|
|
|
./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
|
|
|
|
Installation from Subversion
|
|
|
|
PSPSDK can be found in the Subversion repository located at
|
|
svn://svn.pspdev.org/psp. If you are using the command line version of the
|
|
Subversion client, you can the following command to download PSPSDK:
|
|
|
|
svn co svn://svn.pspdev.org/psp/trunk/pspsdk
|
|
|
|
Once you've downloaded PSPSDK, run the following from the pspsdk directory
|
|
to create the configure script and support files (you must have autoconf and
|
|
automake installed):
|
|
|
|
./bootstrap
|
|
|
|
You can now run the commands listed in the "Installation from source"
|
|
section.
|
|
|
|
|
|
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, send an e-mail describing the bug to
|
|
pspsdk-bugs@lists.ps2dev.org. If possible, include any code or documentation
|
|
that can be used by the PSPSDK developers to recreate the bug.
|
|
|
|
|
|
Resources
|
|
|
|
Mailing Lists
|
|
|
|
pspsdk-bugs@lists.ps2dev.org
|
|
|
|
Use this list to report any bugs you find in PSPSDK. To subscribe, send an
|
|
empty e-mail message to pspsdk-bugs-subscribe@lists.ps2dev.org.
|
|
|
|
For a full list of PSP development mailing lists, see
|
|
http://lists.ps2dev.org/.
|
|
|
|
Web Forums
|
|
|
|
http://forums.ps2dev.org/
|
|
|
|
The PSP development forums are an excellent place to find out about the
|
|
latest PSP homebrew games, demos, and other software. PSPSDK has it's own
|
|
dedicated forum titled 'PSPSDK Support and Development'. Use this forum to
|
|
find out about the most recent PSPSDK developments and to ask questions
|
|
about PSPSDK.
|
|
|
|
Subversion
|
|
|
|
svn://svn.pspdev.org/
|
|
http://svn.pspdev.org/
|
|
|
|
PSPDEV tools and libraries can be found in the psp/ repository at
|
|
svn://svn.pspdev.org/. PSP homebrew games, demos, and other applications
|
|
can be found in the pspware/ repository located at the same URL. To view
|
|
the contents of these repositories using a Web browser, visit
|
|
http://svn.pspdev.org/.
|
|
|
|
Internet Relay Chat (IRC)
|
|
|
|
The PSPSDK developers can be found hanging out in the #pspdev channel
|
|
on irc.freenode.net.
|
|
|
|
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.
|