pabs is currently certified at Journeyer level.

Name: Paul Duncan
Member since: 2000-06-05 22:20:21
Last Login: 2007-04-14 00:11:49

FOAF RDF Share This

Homepage: http://www.pablotron.org/

Projects

  • Lead Developer on EWL
  • Contributor on feh
  • Contributor on Gnut

Recent blog entries by pabs

Syndication: RSS 2.0

15 May 2008 »

EasingJS, a JavaScript Easing Library

I just released EasingJS 0.1.1, a port Robert Penner's ActionScript Easing library to JavaScript. EasingJS allows you to easily generate smooth and stylish animation or color transitions. For some examples, check out the test page.

Syndicated 2008-05-14 22:25:49 from Pablotron: News

16 Feb 2008 »

Custom Firmware on the PSP

Last night I installed a custom firmware (CFW) on my PSP. The custom firmwares allow you to run unsigned homebrew (e.g. non-Sony sanctioned) applications. <h2>Applications</h2>

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 ColecoVision and Neo Geo.

Here's what works for me so far, in no particular order:

I also tried the Genesis, NES, and N64 emulators, but they aren't working yet. Here's a picture of the SNES emulator at work:
Playing SNES on a PSP
Playing SNES on a PSP

The custom firmware also allows you to dump UMDs 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.

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. <h2>Installation</h2>

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.

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.

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.

In order to install the custom firmware, you'll need a spare battery and a spare memory stick. For the love of Douglas Adams, please do not use this post as a guide! There are several web sites (here and here) that cover the entire installation process in far more detail and with the appropriate safety precautions. If you mess this up you will turn your PSP into a lifeless and possibly explosive plastic brick.

The basic, high-level steps are as follows:

  1. Create a Pandora's battery. This is a battery that has been modified to make the PSP into boot from the memory stick.
  2. Create a Magic Memory Stick. 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.
  3. With the PSP powered off and the battery removed, insert the magic memory stick into the PSP.
  4. Insert the Pandora's battery. The PSP will power on automatically boot from the magic memory stick.
  5. 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.
  6. 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, 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.
  7. Power on the PSP using a regular battery or the power cable. Congratulations, you are now running the custom firmware.

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.

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.

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:
Inside a Pandora's Battery
Inside a Pandora's Battery

Creating a Magic Memory Stick is much simpler. Basically you:

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

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 VMWare 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.

Here's what finally worked:

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

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.

That's it for me. If you're interested in the history and technical details of PSP homebrew, check out this extremely detailed PSP homebrew Wikipedia entry.

Syndicated 2008-02-16 15:37:32 from Pablotron: News

6 Feb 2008 »

...as if things weren't broken enough around here

Hello from the new server!

I managed to glom things together just enough to get the bit-rot that is this site's code running on the new server. All the usual caveats about brokenness apply.

Syndicated 2008-02-05 04:47:12 from Pablotron: News

4 Dec 2007 »

Reddit Content Filter 0.4

Works with the latest changes to Reddit.

Local copy:

There was a suggestion in the comments on User Scripts about auto-downmodding blocked articles. I kind of like the idea. Does anyone have any opinions on that? Comments are broken at the moment, but feel free to email me.

Syndicated 2007-12-04 01:44:40 from Pablotron: News

26 Nov 2007 »

HTPC Shot

I got the LCD power adapter, power supply, and new CPU fan for my HTPC. Here's a picture of it in my entertainment center:

htpc></a><p>(And yes, I know my carpet needs to be vacuumed).    <p class="syndicated"><a href="http://www.pablotron.org/?cid=1551">Syndicated 2007-11-25 20:16:44  from Pablotron: News</a></p></div>
</div>
<p><a href="/person/pabs/diary.html?start=27">28 older entries...</a></p>
<a name="certs"> </a>
<p>pabs certified others as follows:</p><ul>
<li>pabs certified <a href="../pabs/">pabs</a> as Journeyer </li>
<li>pabs certified <a href="../gilbertt/">gilbertt</a> as Journeyer </li>
<li>pabs certified <a href="../mazeone/">mazeone</a> as Apprentice </li>
<li>pabs certified <a href="../ljlane/">ljlane</a> as Journeyer </li>
<li>pabs certified <a href="../bma/">bma</a> as Journeyer </li>
<li>pabs certified <a href="../hallvar/">hallvar</a> as Journeyer </li>
<li>pabs certified <a href="../term/">term</a> as Apprentice </li>
<li>pabs certified <a href="../richlowe/">richlowe</a> as Apprentice </li>
</ul>
<p>Others have certified pabs as follows:</p>
<ul>
<li><a href="../pabs/">pabs</a> certified pabs as Journeyer </li>
<li><a href="../gilbertt/">gilbertt</a> certified pabs as Journeyer </li>
<li><a href="../mazeone/">mazeone</a> certified pabs as Journeyer </li>
<li><a href="../hallvar/">hallvar</a> certified pabs as Journeyer </li>
<li><a href="../bma/">bma</a> certified pabs as Journeyer </li>
<li><a href="../term/">term</a> certified pabs as Journeyer </li>
<li><a href="../richlowe/">richlowe</a> certified pabs as Journeyer </li>
<li><a href="../till/">till</a> certified pabs as Journeyer </li>
<li><a href="../bowis/">bowis</a> certified pabs as Journeyer </li>
<li><a href="../jasonc/">jasonc</a> certified pabs as Journeyer </li>
<li><a href="../monk/">monk</a> certified pabs as Journeyer </li>
<li><a href="../chipx86/">chipx86</a> certified pabs as Journeyer </li>
<li><a href="../ljlane/">ljlane</a> certified pabs as Journeyer </li>
<li><a href="../strider/">strider</a> certified pabs as Journeyer </li>
</ul>
<p> [ Certification disabled because you