PSP Development

This Wikibook goes over the different aspects of programming for the (PSP). Everything from getting started, to utilizing the default libraries for the PSP hardware infrastructure is included. Everything is based on PSPDEV. Please read Getting the Tools for insight on getting PSPDEV. The goal for this book is to detail good or fair practices for programming the PSP. It is recommended to read pages top to bottom and follow through - do not stray from the instructions shown. Once an understanding of using the functions are gained, it is appropriate to improve.

Many resources have died off - it is hard to even figure out how to create a basic hello world.

Alive Resources

 * PPSSPP Forums forums.ppsspp.org
 * An active forum is wololo.net
 * IRC Channel #pspdev visitor status
 * GitHub PSPDEV Extras Toolchain Source

Dead Resources (Broken, or dropped)

 * Idle Resources
 * GitHub PSPDEV Windows PSPSDK build + external libraries
 * GitHub bibanon Phone Documentation includes PSP
 * qj.com Questionable Tutorials
 * Broken Links (use archive.org)
 * psp-programming.com latest Mar20 2012, last update 2009
 * pspdev.org latest Oct20, 2010, last update April 1, ????

Wikibook Complexity
Being aimed to be simple, walk-through code, a lot of confusion can develop. Attaining understanding with the content of these articles can be achieved by an intermediate understand of the topics in this list. While it may not be a fully comprehensive list, it should give an outline of prerequisites or goals for betterment, with respect to the understanding of the articles.
 * Some understanding of Assembly/Machine code
 * Relations between ASM (pref with MIPS) and C
 * Advanced/Intermediate knowledge of C syntax and libraries
 * Using Makefiles and make.exe
 * Basic structure of a video game

NOTE: Understand the hardware that the PSP offers. Skimming over the hardware specs twice will help with understanding what the PSP offers. After, move on to the Getting Started section. The software are tools made to do specific tasks and aren't for teaching purposes.

Hardware

 * Full Device Description
 * Device Specifications
 * UMD Disc

Getting Started

 * Getting the Tools
 * Windows
 * Linux
 * Mac
 * PPSSPP Emulator
 * Hello World Application
 * User Input
 * Basic Error Handling
 * File System
 * Reading/Writing Files
 * Iterating Directories
 * Multithreading
 * Memory Management
 * GU Graphics
 * GU Basic Setup
 * Basic Setup
 * Connecting Clients
 * Transferring Data

Software

 * PSCrypter Signs Homebrew
 * Using PSCrypter
 * Custom Firmware Allows ISO/Unsigned Homebrew

Language Support

 * Lua : Lua.org
 * Python : Python.org

Related Wikibooks

 * PSP Programming, the incomplete, abandoned Wikibook which started the urge for this project
 * C Programming, the language that is used for PSP programming, with MIPS Assembly
 * MIPS Assembly, the language that is used for PSP programming, with C/C++
 * C++ Programming, another language which can be used for PSP programming