Sony PSP Go >> PSPDev

編譯PSP Toolchain(N900)


[Github] https://github.com/steward-fu/gh_pspdev_backup.git
[Github] https://github.com/steward-fu/gh_n900_pspdev.git

雖然司徒很喜愛玩懷舊遊戲,不過目前都還是使用模擬器來玩這些懷舊遊戲,而最常玩的機器還是Pandora,不過Pandora在模擬PSP遊戲方面確實還有待改進,加上體積有點胖以及螢幕亮度偏暗等缺點,司徒只好再度把PSP Go拿出來把玩,畢竟PSP系列掌機是目前玩PSP和PS1遊戲最適合的機器,加上PSP Go是PSP系列中,最小、最適合帶著玩的機器,雖然手感有點差,不過對司徒來說小巧還是比較重要,而PSP掌機雖然不是開源系統,不過多虧國外高手的破解,目前也已經可以算是開源的掌機,因此,大量的摸擬器也已經被成功移植到PSP掌機身上,而司徒目前又把精力放在PSP Go掌機身上,因此,對於目前經典的模擬器來說,司徒都想要重新編譯一次,而在編譯這些模擬器之前,最重要的工具就是Toolchain,因此司徒先說明一下如何編譯Toolchain工具。

N900是司徒目前使用的手機,原因當然是相當好用Maemo系統,操作環境就是Linux系統,司徒把它當做一般PC使用,因此,司徒第一個選定的編譯機器就是N900,不過目前只會在Easy Debian環境下編譯,因為Maemo系統的套件比較舊,如要成功編譯PSP Toolchain,需要花費的時間,將會落在更新Maemo套件上,因此,司徒選定Easy Debian環境,比較可惜的是,N900的Kernel只有更新到2.6.28.10,因此只能使用Debian 7系統(Debian 8更新libc時,需要Kernel 2.6.32以上)。

編譯步驟如下:

$ sudo apt-get install g++ build-essential autoconf automake automake1.9 cmake doxygen bison flex libncurses5-dev libsdl1.2-dev libreadline-dev libusb-dev texinfo libgmp3-dev libmpfr-dev libelf-dev libmpc-dev libfreetype6-dev zlib1g-dev libtool libtool-bin subversion git tcl unzip
$ git clone https://github.com/steward-fu/gh_pspdev_backup.git
$ cd gh_pspdev_backup/psptoolchain
$ ./toolchain.sh

執行toolchain.sh後,該Shell Script會依序調用scripts資料夾裡的如下檔案:

001-binutils-2.22.sh  005-gcc-stage2.sh     009-psplinkusb.sh
002-gcc-stage1.sh     006-pspsdk-stage2.sh  010-ebootsigner.sh
003-pspsdk-stage1.sh  007-gdb-7.3.1.sh      011-psplibraries.sh
004-newlib-1.20.0.sh  008-insight-6.8.sh    012-profile.sh

由於toolchain.sh並沒有設計的很理想,因此,當發生編譯錯誤發生時,再次執行toolchain.sh時,所有Shell Script又會從頭依序跑一次,這對目前主流的PC來說是沒問題,但是對N900來說,殺傷力還蠻大的,因為N900的編譯速度還蠻慢的,因此,司徒的做法是,一次只放一個Shell Script在scripts資料夾,當發生編譯錯誤時,修改Shell Script的download部份,避免當下的編譯部份被刪除,接著進入build資料夾修復問題,最後再執行toolchain.sh進行安裝,過程還蠻複雜且耗時,司徒花了兩天時間才搞定,雖然辛苦,不過看到PSP Toolchain可以在司徒的N900上執行,這一切都值得,使用者如不想自己編譯,可以直接抓司徒Github的prebuilt toolchain檔案。


返回上一頁