The aim of this project was developing a small 3D framework for the PSP system. Obviously, the objective was getting it just using the unofficial tools available on the net, as the pspsdk. It took me quite long to investigate and evaluate the different tools out there. Installing the pspsdk to work under Windows through Cygwin was a pain and using Visual Studio C++ Express was nearly unimaginable. After trying multiple options, including Cygwin and already prepared-to-run packages (PSPDevWin32, PSPDevLib, etc.), I found a very interesting and intuitive package designed to install pspsdk along with some extra libs and no cygwin based. It also includes some templates to use VS C++ Express as default IDE.
The project consists of porting part of the basic engine designed for K·Pong Prototype to the PSP system... and I did it. The small new engine includes support for multiple texture file formats and support for OBJ ascii type 3D models. Controls system where also adjusted to work with PSP. That way I created a small dummy environment for testing on PSP.
I also spent long time investigating the Allegrex CPU (32bit MIPS RISC) processor of PSP, to learn its graphic capabilities and limitations, and the interesting VFPU (Vector Floating Point Unit), very useful coprocessor for vector/matrix functions.
The main problem I found while developing for the PSP was the debugging. As I was developing without a devkit, there wasn't a proper debugging system. Testing the software all the time to check any change in code was really painful and for that reason the program never get too big.
-- Game Engine based on K·Pong Prototype
-- Loading of multiple texture formats: .BMP, .TGA, .PNG, .RAW
-- Creation of procedural textures: Spot, Checked, Noise, Cellular
-- Loading of 3D models: .OBJ (ASCII), .TXT (own format)
-- Controls adjusted to PSP (analog for 3D movement, R-L for Zoom)
-- Custom EBOOT metadata