aboutsummaryrefslogtreecommitdiff
path: root/content/posts/2008-02-16-custom-firmware-on-the-psp.html
blob: d9fd3daa687db70b459031ea8d7f3524963ae27e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
---
date: "2008-02-16T15:37:32Z"
title: Custom Firmware on the PSP
---

<p>Last night I installed a custom firmware (CFW) on my <a href="http://en.wikipedia.org/wiki/PlayStation&#95;Portable">PSP</a>.  The
custom firmwares allow you to run unsigned homebrew (e.g. non-Sony
sanctioned) applications.  </p>

<h2>Applications</h2>

<p>The PSP homebrew community has been pretty active; there are several
useful applications and emulators for lots of older systems.  There are
even emulators for obscure systems like the <a href="http://en.wikipedia.org/wiki/ColecoVision">ColecoVision</a> and
<a href="http://en.wikipedia.org/wiki/Neo&#95;Geo&#95;%28console%29">Neo Geo</a>.  </p>

<p>Here's what works for me so far, in no particular order:</p>

<ul>
<li><a href="http://en.wikipedia.org/wiki/Vnc">VNC</a> client</li>
<li><a href="http://en.wikipedia.org/wiki/Ssh">SSH</a> client</li>
<li><a href="http://en.wikipedia.org/wiki/Neo&#95;Geo&#95;%28console%29">Super Nintendo (SNES)</a> emulator </li>
<li><a href="http://en.wikipedia.org/wiki/Game&#95;Boy&#95;Color">Game Boy Color</a> emulator</li>
<li><a href="http://en.wikipedia.org/wiki/DOS">MS-DOS</a> emulator</li>
<li><a href="http://en.wikipedia.org/wiki/J2me">J2ME/MIDP</a> emulator (e.g Mobile Java, or the crappy games on
your cell phone)</li>
</ul>

<p>I also tried the <a href="http://en.wikipedia.org/wiki/Sega&#95;genesis">Genesis</a>, <a href="http://en.wikipedia.org/wiki/Nintendo&#95;Entertainment&#95;System">NES</a>, and <a href="http://en.wikipedia.org/wiki/N64">N64</a> emulators, but they
aren't working yet.  Here's a picture of the SNES emulator at work:</p>

<table>
<tr><td>
  <a href='http://pablotron.org/files/20080216-psp_cfw/snes.jpg'><img 
  src='http://pablotron.org/files/20080216-psp_cfw/snes-thumb.jpg'
  title="Playing SNES on a PSP" alt="Playing SNES on a PSP"
  width="642" height="482" border="0" /></a>
</td></tr>
<tr><td style='text-align: center; font-size: 9pt'>
  Playing SNES on a PSP
</td></tr>
</table>

<p>The custom firmware also allows you to dump <a href="http://en.wikipedia.org/wiki/Universal&#95;Media&#95;Disc">UMDs</a> and run them
from a memory stick.  Since it's pretty much impossible to fit a PSP and
8 UMDs in the your pockets without looking like a complete tool, I'm
going to offload as many UMDs as I can into the 3GB remaining on my
memory stick.</p>

<p>The next section explains the firmware installation process.  If you
don't have a PSP, you may still find my creatively ominous safety
warnings entertaining.</p>

<h2>Installation</h2>

<p>Installing the custom firmware varies in complexity depending on the
model of PSP model and version of the original firmware.  If you're
fortunate enough to have an older "phat" PSP (e.g. the larger black
model) that's running firmware 1.00 or 1.50, then installing the custom
firmware is fairly straightforward.  </p>

<p>If you know someone with a PSP who already has the custom firmware
installed, then the installation process is still easy enough, because
they can use their PSP to help you with yours. </p>

<p>If you've got a newer PSP Slim (the smaller white model, like the one in
the picture above) and/or are running a newer firmware, then there are
no easy options left, so get ready for the comically unpleasant
experience below.</p>

<p>In order to install the custom firmware, you'll need a spare battery and
a spare memory stick.  For the love of Douglas Adams, <b>please do not
use this post as a guide!</b>  There are several web sites
(<a href="http://forums.somethingawful.com/showthread.php?threadid=2665424&amp;userid=0&amp;perpage=40&amp;pagenumber=1">here</a> and <a href="http://forums.qj.net/f-psp-homebrew-and-hacks-help-21/t-guide-unbrick-a-psp-slim-or-classic-122651.html">here</a>) that cover the entire installation
process in far more detail and with the appropriate safety precautions.
<b>If you mess this up you will turn your PSP into a lifeless and
possibly explosive plastic brick</b>.</p>

<p>The basic, high-level steps are as follows:</p>

<ol>
<li>Create a <a href="http://en.wikipedia.org/wiki/PlayStation&#95;Portable&#95;homebrew#Pandora.27s&#95;Battery">Pandora's battery</a>.  This is a battery that
has been modified to make the PSP into boot from the memory stick.</li>
<li>Create a <a href="http://en.wikipedia.org/wiki/PlayStation&#95;Portable&#95;homebrew#Pandora.27s&#95;Battery">Magic Memory Stick</a>.  This is a memory
stick that has been specially formatted to boot and perform a
firmware upgrade.  Note that there are some limits on the capacity
and brand of memory stick that can be used; see the guides above for
more details.</li>
<li>With the PSP powered off and the battery removed, insert the
magic memory stick into the PSP.</li>
<li>Insert the Pandora's battery.  The PSP will power on automatically
boot from the magic memory stick.</li>
<li>Use the software on the magic memory stick to install the custom
firmware.  On the PSP Slim the display is blank, so you just have to
hit X and wait.  The lights on the front of the PSP will blink for
several minutes.  The PSP will automatically power off when the
installation is finished.</li>
<li>Remove the Pandora's battery and the magic memory stick.  The
memory stick can be reformatted and used as usual.  The Pandora's
battery can not, because some of the battery's safety features are
disabled as part of the conversion process.  In other words, <b>do
not attempt to use the Pandora's battery as a regular battery unless
you want your PSP to melt into a smoldering puddle of goo.</b></li>
<li>Power on the PSP using a regular battery or the power cable.
Congratulations, you are now running the custom firmware.</li>
</ol>

<p>The hardest part of this process is creating the Pandora's battery.  If
you know someone with a PSP that already has the custom firmware
installed, then they can run an application on their PSP to temporarily
"soft-mod" a regular battery into Pandora's battery.  </p>

<p>If you don't know anyone with a PSP that already has the custom firmware
installed, then the only way to convert a regular battery into a
Pandora's battery is to "hard-mod" it; that means cutting open the
battery casing and disconnecting one of the leads on the internal
circuitry.  </p>

<p>The guides I read (see above) have plenty of pictures, but I was still
surprised by how small the pieces actually were.  Here's a picture I
just took of my Pandora's battery, including a ruler and quarter as
size references:</p>

<table>
<tr><td>
  <a href='http://pablotron.org/files/20080216-psp_cfw/battery.jpg'><img 
  src='http://pablotron.org/files/20080216-psp_cfw/battery-thumb.jpg'
  title="Inside a Pandora's Battery" alt="Inside a Pandora's Battery"
  width="642" height="482" border="0" /></a>
</td></tr>
<tr><td style='text-align: center; font-size: 9pt'>
  Inside a Pandora's Battery
</td></tr>
</table>

<p>Creating a Magic Memory Stick is much simpler.  Basically you:</p>

<ul>
<li>format the memory stick in a special way (using <code>mspformat</code>)</li>
<li>copy the necessary firmware installation and upgrade files into place</li>
<li>generates an Initial Program Load (IPL) file, </li>
<li>copy the generated IPL file to the first sector of the memory stick
(using <code>mspinst</code>)</li>
</ul>

<p>If you're using Windows, the "TotalNewbi Installer" and
"Pandora Easy GUI" tools can automate this process.  In
theory, anyway.  When I tried to use them in my Windows XP <a href="http://vmware.com/">VMWare</a>
instance, they both had problems.  The TotalNewbi Installer simply
refused to work, and the Pandora Easy GUI blue-screened XP each
time I ran it.</p>

<p>Here's what finally worked:</p>

<ul>
<li>used Pandora Easy GUI to copy the firmware files into place and
generate the installer definition file (<code>mspinst.idl</code>)</li>
<li>used <code>dd</code> in Linux to copy <code>mspinst.ibl</code> into the first sector of the
Memory Stick</li>
</ul>

<p>The good news is that creating the Pandora's Battery and Magic
Memory Stick are the hardest steps in the process.  Once you get past
them, everything else is relatively straightforward.  Even better, the
process can be used to install custom firmware on any PSP, regardless of
hardware model or firmware version.</p>

<p>That's it for me.  If you're interested in the history and technical
details of PSP homebrew, check out <a href="http://en.wikipedia.org/wiki/PlayStation&#95;Portable&#95;homebrew">this extremely detailed PSP
homebrew Wikipedia entry</a>.</p>