Sun 17 February, 2008

add to del.icio.us. look up in del.icio.us.
add to furl
add to del.icio.us. look up in del.icio.us.
add to furl
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.
Applications
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:
- VNC client
- SSH client
- Super Nintendo (SNES) emulator
- Game Boy Color emulator
- MS-DOS emulator
- J2ME/MIDP emulator (e.g Mobile Java, or the crappy games on your cell phone)
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 |
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.
Installation
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:
- Create a Pandora's battery. This is a battery that has been modified to make the PSP into boot from the memory stick.
- 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.
- With the PSP powered off and the battery removed, insert the magic memory stick into the PSP.
- Insert the Pandora's battery. The PSP will power on automatically boot from the magic memory stick.
- 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.
- 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.
- 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 |
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
ddin Linux to copymspinst.iblinto 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.
add to del.icio.us. look up in del.icio.us.
add to furl
add to del.icio.us. look up in del.icio.us.
add to furl
add to del.icio.us. look up in del.icio.us.
add to furlSat 16 February, 2008

add to del.icio.us. look up in del.icio.us.
add to furlFri 15 February, 2008

add to del.icio.us. look up in del.icio.us.
add to furl
add to del.icio.us. look up in del.icio.us.
add to furl
add to del.icio.us. look up in del.icio.us.
add to furl

- 说明
- 看看什么时候Rails应用程序的根目录下面的目录components开始被使用?还是一直让它空着?
- 参考资料
add to del.icio.us. look up in del.icio.us.
add to furl
add to del.icio.us. look up in del.icio.us.
add to furlThu 14 February, 2008

休完了春节长假,回来上班了,整个人懒洋洋的,长假结束之后的正常反应。我给自己定下假期基调就是,尽可能让自己的脑子不去想太技术的东西,也算给大脑放一个假,所以,恢复到正常的工作状态,还需要调整一下,呵呵。
假期里,看了《疯狂的程序员》。以前,很爱看这种程序员的故事,尤其刚刚开始学习编程的时候,特别想了解一下别人是怎么一步一步提高的,因为那时候,我并没有体会到真正做个程序员是怎样的感觉,于是,总是希望可以从那些故事里面得到一些值得借鉴的地方。可以说,这种故事中体现的那种激情是鼓励着我不断前进的动力。如今,我做程序员已经开始奔向第六个年头,逐渐有了一个相对清晰的发展方向,做一个程序员的酸甜苦辣也品尝了不少。如今,再看这种程序员拼搏的故事,更多的是为了怀念一下自己的青涩年代。
虽然,彼此的故事不同,但初学编程时那种努力、那种奋进是相同的。还记得刚开始工作的时候,我硬生生的照着协议写出一个SMTP的实现,所有的代码都放到一个文件里面。现在,依稀记得成功把一封邮件发送出去的时候,自己那种激动的心情,用我现在的说法形容,那时候的我,生猛。随着工作经验增多,做事更多的是在找最短路径,如果现在再让我去实现一个SMTP,我笃定是找一个已有的实现。青涩的自己,虽然很笨,却是最有干劲的,也是那时候培养出对程序的激情和热爱,让我可以在程序设计这条路上不断走下去。
刚刚回来,看到一个Da Vince Machince的项目,简而言之,为JVM增加更多的功能,主要是为了支持动态语言的特性。虽然并非这个项目的所有内容都会最终进入JVM,但它确实是一个有益的尝试。
其实,这个项目算不上新项目,关注这个项目领导者John Rose有一段时间了,因为他为在JVM上增加动态语言特性做了很多工作。之所以注意到这个项目,是因为InfoQ的一篇报道。这篇报道中,不仅仅提到了JVM,还提到DLR。
从文章的叙述来看,DLR是建立在CLR之上的。这种做法给我的感觉是,它类似于XRuby的做法,在JVM上自己建立运行时。虽然不是不可以,但这种做法的性能肯定不如直接修改虚拟机,毕竟还差着一个层次。这是一种半调子解决方案,如果是站在平台之外来看,这种方法还不错,但是,作为平台开发者的微软,这么解决问题,就显得有些不靠谱了。也许它只是为了尽快的推向市场,赚些噱头吧!毕竟这种做法可以在尽可能小的影响现有系统的情况下实现。从长远来看,如果DLR能够在未来取得一定进展,如果它还想好的话,它会转向修改虚拟机这条路的。
又是一年,开始工作了!
相关文章:
收藏到:Del.icio.us
add to del.icio.us. look up in del.icio.us.
add to furl
add to del.icio.us. look up in del.icio.us.
add to furlWed 13 February, 2008

add to del.icio.us. look up in del.icio.us.
add to furl
Swimming on the edge of Victoria Falls in the Devil’s Pool
add to del.icio.us. look up in del.icio.us.
add to furl
add to del.icio.us. look up in del.icio.us.
add to furl
IM
add to del.icio.us. look up in del.icio.us.
add to furlTue 12 February, 2008

add to del.icio.us. look up in del.icio.us.
add to furl
add to del.icio.us. look up in del.icio.us.
add to furl
We normally don’t cover general-purpose Ruby conferences here, but since RubyFools is actually going down in the birth place of Rails and I won’t be able to be there, I thought the least I could do was mention it.
RubyFools is happening from April 1st through 2nd and will feature Ruby-creator Matz and Dave Thomas of Programatic Programmers as keynotes along with lots of other speakers.
I highly recommend checking it out. Copenhagen is such a nice place to visit.
add to del.icio.us. look up in del.icio.us.
add to furl
add to del.icio.us. look up in del.icio.us.
add to furl
“ There must not be a plethora of configurations. It is better to offer a variety of case colors than to have variable amounts of memory. It is better to manufacture versions in Early American, Contemporary, and Louis XIV than to have any external wires beyond a power cord. ”
Jef Raskin in Design Considerations for an Anthropophilic Computer, 1979
add to del.icio.us. look up in del.icio.us.
add to furlMon 11 February, 2008

add to del.icio.us. look up in del.icio.us.
add to furl
add to del.icio.us. look up in del.icio.us.
add to furl
add to del.icio.us. look up in del.icio.us.
add to furl
add to del.icio.us. look up in del.icio.us.
add to furl
add to del.icio.us. look up in del.icio.us.
add to furl
add to del.icio.us. look up in del.icio.us.
add to furl
add to del.icio.us. look up in del.icio.us.
add to furl
add to del.icio.us. look up in del.icio.us.
add to furl
add to del.icio.us. look up in del.icio.us.
add to furl
add to del.icio.us. look up in del.icio.us.
add to furl
add to del.icio.us. look up in del.icio.us.
add to furl
Euruko 2008 takes place in Prague, Czech Republic, on March 29th to 30th.
I just heard about this today. The short notice pretty much kills any real chance for me to make plans; besides, the dates are the same as MntWest RubyConf, and I’m booked to attend that.
This is a big disappointment for me, as I had really hoped to make it to EuRuKo this year. I did not see any announcement on the ruby-talk list; last mention was a discussion over scheduling back in November 2007.
add to del.icio.us. look up in del.icio.us.
add to furlSun 10 February, 2008

add to del.icio.us. look up in del.icio.us.
add to furl
- 搜索引擎与中国
- 中国互联网上的搜索引擎点击量排名:百度,QQ,新浪,谷歌。
- 全球范围内,雅虎/Google第一位交替出现,百度第18位。
- 百度在中国的成功一个原因是它提供的歌曲搜索和下载。
- 中国谷歌提供免费音乐在几周内将会启动。合作者: Top100.cn 。
add to del.icio.us. look up in del.icio.us.
add to furl


