This is only required if you want to contribute to the development.
If you just want to play, you can download the PSP port directly.
I assume you are running a Debian or Ubuntu Linux system, but it should be easy to use these instructions for another Linux distribution.
Basically, this will build a cross-compiler on your computer, with all the libraries needed by X-Moto.
Depending on your hardware, this process can be quite long (about 2 hours)...
1. Build the toolchain
sudo apt-get install subversion
svn co svn://svn.pspdev.org/psp/trunk/psptoolchain
cd psptoolchain
Follow the instructions in the readme-ubuntu.txt file (install required packages for building process and edit your .bashrc file to add the path).
sudo ./toolchain-sudo.sh
cd ..
2. Install DA SDK
This step might be optional in the future, but currently it is needed because some libraries depend on headers and libraries not available in the standard SDK.
wget http://www.gwailos.com/downloads/401M33-2.rar
unrar x 401M33-2.rar
sudo cp SDK/include/kubridge.h /usr/local/pspdev/psp/sdk/include/
sudo cp SDK/lib/libpspkubridge.a /usr/local/pspdev/psp/sdk/lib/
3. Build the libraries
svn co svn://svn.pspdev.org/psp/trunk/psplibraries
cd psplibraries
Follow the instructions in the readme-ubuntu.txt file (install required packages for building process).
sudo ./libraries-sudo.sh
cd..
4. Build libode
svn co svn://svn.ps2dev.org/psp/trunk/ode
cd ode
Edit the config/makefile.psp file and append "-lpspvfpu" to the LINK_OPENGL variable.
make
sudo cp -rf include/* /usr/local/pspdev/psp/include/
sudo cp -rf lib/* /usr/local/pspdev/psp/lib/
cd ..
5. Build libcurl
svn co svn://svn.pspdev.org/pspware/trunk/libcurl/
cd libcurl
LDFLAGS="-L$(psp-config --psp-prefix)/lib -L$(psp-config --pspsdk-path)/lib" \
LIBS="-lc -lpspnet_inet -lpspnet_resolver -lpspuser" \
./configure --host=psp --disable-shared --prefix=$(psp-config --psp-prefix)
make CFLAGS=-G0
sudo PATH=/usr/local/pspdev/bin/:$PATH make install
cd ..
6. Build X-Moto-PSP
Download X-Moto version 0.4.2 :
wget http://download.tuxfamily.org/xmoto/xmoto/0.4.2/xmoto-0.4.2-src.tar.gz
tar zxvf xmoto-0.4.2-src.tar.gz
Apply the X-Moto-PSP 0.2 patch :
wget http://royale.zerezo.com/psp/X-Moto-PSP-0.2.patch.bz2
bunzip2 X-Moto-PSP-0.2.patch.bz2
cd xmoto-0.4.2
patch -p1 < ../X-Moto-PSP-0.2.patch
And finally build X-Moto for the PSP :
cd src
make -f Makefile.psp
cd ../..
You should end up with a "EBOOT.PBP" file in the src folder, which is the PSP binary for X-Moto.
7. Copy X-Moto-PSP to your PSP
mkdir X-Moto-PSP
cp xmoto-0.4.2/readme.txt xmoto-0.4.2/changes.txt xmoto-0.4.2/src/EBOOT.PBP X-Moto-PSP
cp -r xmoto-0.4.2/bin/xmoto.bin xmoto-0.4.2/bin/Textures xmoto-0.4.2/po X-Moto-PSP
Copy a dummy config folder as well :
cp -rf ~/.xmoto X-Moto-PSP/config
Edit the X-Moto-PSP/config/config.dat file to change the resolution to 480x272 fullscreen :
var name="DisplayWidth" value="480"
var name="DisplayHeight" value="272"
var name="DisplayBPP" value="24"
var name="DisplayWindowed" value="false"
var name="MenuGraphics" value="Low"
var name="GameGraphics" value="Low"
Finally, copy the X-Moto-PSP folder to your PSP in psp/game.
You will need a custom firmware on your PSP in order to run the game.
Feel free to leave a comment if you spot any issue in this tutorial

