Hello There!
Welcome to the PSP Development wiki! In this place, while it may be a work in progress, we wish to help give useful information and education for developers wanting to get into developing homebrew games and applications for the Sony Playstation Portable. Homebrew development can be very rewarding and fun to see what you can create - but that said, it is also challenging and difficult at times. Not everything is apparently obvious, and experience is very important. Time spent doing something on the PSP is way more valuable than reading about what the PSP can do or what others have done. That's not to say that you shouldn't read code and examine it - but that you will not gather the full reasoning for why something was done until you experience the error or flaw yourself.
We want to emphasize that this wiki will be most useful to those who are already intermediate to advanced programmers. That's a very vague definition - but we want to emphasize that we are not here to teach you how to program in your language of choice. We expect you can do most things comfortably with that programming language before starting the adventure into PSP programming. It's not going to be easy - not everything will hold your hand, and you will make your device crash multiple times. But if you stick it through, you'll have a new appreciation of some of the work that went into this tiny handheld.
That being said, we do recognize that there are only so many viable languages on the PSP - although you certainly are free to add more! Currently, there are 4 main compiled languages on the PSP, and 2 interpreted languages. Compiled languages will almost always be faster and more efficient and effective, but interpreted languages have their own place too!
Compiled Languages:
- C: The lingua franca of programming, and one of the most established programming languages has full PSP support.
- C++: Another popular language is also almost completely supported on the PSP.
- Rust: A rapidly rising language with safety as its core principle has good support on the PSP.
- Zig: A young and new language with a different take on C has good support on the PSP.
- Assembly: While a difficult language when used alone, it's still an effective choice if you want to get your hands really dirty.
Interpreted Languages:
- Lua: Lua, while limited by its interpreter, has been consistently an easy way to get into PSP development.
- Python: While not used often, and having a pretty old interpreter, is still a reasonable bet.
Obscure Languages:
- HTML/JS/CSS: The PSP web browser is kinda out of date - but you can still make an app with old web functionality
- Java ME: There is a Java Emulator called PSPKVM which allows you to emulate Java ME applications