HENkakuリリースされたのでPSVitaでHello Worldする

もうhenkaku.xyz行ったらそれだけでぜーんぶ完了しちゃって一瞬にして終了しちゃうので、自分でビルドしてHello Worldしてみるか~というお話。

https://henkaku.xyz/developer/を参考に!

 

あんまり多くをインストールしてないArchLinuxで実験。

取り敢えず環境構築。

cmakeが必要らしいのでまずそれをインストールしてから。

$ sudo pacman -S cmake
$ git clone https://github.com/vitadev/vdpm
$ cd vdpm
$ ./bootstrap-vitasdk.sh

パーミッション周りでめちゃエラー出てたっぽい。

bootstrap-vitasdk.shの中を見ると、/usr/local/vitasdkを$USER:$USERにchownするコマンドがあったぽいけど、$USERなグループってあったか?usersじゃない?

というわけで手作業で実行しリベンジ

$ sudo chown tea:users /usr/local/vitasdk
$ ./bootstrap-vitasdk.sh
$ export VITASDK=/usr/local/vitasdk
$ export PATH=$VITASDK/bin:$PATH
$ ./install-all.sh

インストールできたっぽいのでサンプルソースをパクってきてビルドする

$ cd ~
$ git clone https://github.com/vitasdk/samples
$ cd samples/hello_world/src
$ arm-vita-eabi-gcc -c -o main.obj main.c
$ arm-vita-eabi-gcc -Wl,-q -o homebrew.elf main.obj
$ vita-elf-create homebrew.elf homebrew.velf
$ vita-make-fself homebrew.velf eboot.bin

出力されたeboot.binをvpkに放り込めよって書いてあったけど、既存のvpkにアーカイブマネージャで突っ込むのじゃ流石にダメだったので、vita-pack-vpkを使う

こちらでバイナリが拾えそうだったので使わせていただく。libzip.so.4がないよと怒られたのでlibzipのインストールも。

$ unzip vita-pack-vpk.zip
$ chmod +x ./vita-pack-vpk
$ ./vita-pack-vpk
./vita-pack-vpk: error while loading shared libraries: libzip.so.4: cannot open shared object file: No such file or directory
$ sudo pacman -S libzip
$ ./vita-pack-vpk
Usage:
/home/tea/vita-pack-vpk [OPTIONS] output.vpk
-s, --sfo=param.sfo    sets the param.sfo file
-b, --eboot=eboot.bin    sets the eboot.bin file
-a, --add src=dst    adds the file src to the vpk as dst
-h, --help    displays this help and exit
$ alias vita-pack-vpk=/home/tea/vita-pack-vpk
$ cd samples/hello_world
$ vita-pack-vpk -b ./src/eboot.bin out.vpk
.sfo file missing.

sfoファイルがないとダメらしい。それらしくつくってリベンジ。

$ vita-mksfoex -s TITLE_ID=XXXX00001 "hello world" param.sfo
$ vita-pack-vpk -s ./param.sfo -b ./src/eboot.bin out.vpk

エラー出なかったのでこれをFTP経由でVitaに放り込んで、あとは通常のvpkと同じようにインストール。

 

バブルできた

バブルできた

 

 

LiveAreaもできる

LiveAreaもできる

 

ちなみに、今回使ったソースコードは、

#include <psp2/kernel/processmgr.h>
#include <stdio.h>

int main(int argc, char *argv[]){
printf("Hello World!\n");
sceKernelExitProcess(0);
return 0;
]

みたいな感じ。(サンプルそのまんま)

標準出力にHello Worldしたそのすぐ後にはもう終わりそうな行があるし、次の行にはreturnなので、つまりPSVita側で実行したらおおよそ何も見えずに終了してしまうのであった。

forで10000回くらい回せば見れるでしょ~とか思ってやり直してみたんだけど、時間が長くなっただけで画面には何もうつらなかった。アプリケーション起動しても標準出力は見えないんかなぁ。

 

ちなみに、ばっちりMakefile用意して貰えてるので、vita-pack-vpkの導入さえ出来ていれば全自動でイケる。

SO-02Gを初期化しました

買った当初はKitKatだったのだけど、無事Lolipopのアップデートが降ってきたので、アップデートしたのでした。

 

アップデートした時に、一度初期化しようか迷ったんだけど、面倒だったのでスルーしちゃった。本当は初期化して最初からやり直したかったんだけど、某LINEとかいうクソアプリのトーク履歴のお話とかで、やり直すのが面倒だったのですよ。

 

で、まぁなんだか動作も不安定になってきたし、電池の減りも素早くなってきたので、一発初期化して様子見るか~って感じで、今日やりました。

 

特に難しいことはない、今日やったので、これから様子を見るという事で。

SO-02Gに貼っているガラスフィルムを交換した

メインで使っているケータイ、SO-02Gに使っているガラスフィルムがバッキバキになっていたので交換しました。マジにバッキバキです。

 

・表面

上部スピーカーの脇が浮いている

上部スピーカーの脇が浮いている

 

・背面

バッキバキである

バッキバキである

 

角なんてこんな状態。

ボロボロという言葉が似つかわしい

ボロボロという言葉が似つかわしい

 

 

さて、今回購入したガラスフィルムはこちら。

今回購入したもの

今回購入したもの

 

表裏1枚ずつ買いました。

 

パカっと開いた状態

パカっと開いた状態

右側にフィルム、左下にアルコールシートやスクレーパーなど、左上の空間には何も無い。

普通の内容物だ

普通の内容物だ(LiLiEと書いてある白い紙がスクレーパー)

 

ちなみに、フィルムが収まっているケース(?)の中には、

無駄にメーカーロゴシールが

無駄にメーカーロゴシールが

何に使えと言うのか…

 

 

貼り直しました(表面)

貼り直しました(表面)

貼り直しました(背面)

貼り直しました(背面)

 

ちなみに、非常に見えにくいですが、ズレと浮きがあります。

位置ズレ、少しの浮き

位置ズレ、少しの浮き

 

この写真では上方向(USB端子側)に貼付け位置がズレているように見えますが、そもそも穴の位置がズレていて、穴とカメラ・LEDランプの位置を揃えてしまうと、下側(電源ボタン側)にフィルムがはみ出してしまいます。なので少しずらして貼り付けました。

また、なんだかほんの少しだけ穴のところが浮いています。写真では非常にわかりにくいですが、実際に見ると結構気になりますね。ちなみに、背面フィルムはこうですが、表面はズレも浮きも全く無しに貼り付けられました。

 

ちなみに、SO-02G本体付属のクレードルには普通に入ります。薄さの為せる技って感じですね。入ってほんとに良かった。

 

 

僕が買った時はどちらも798JPYでしたが、在庫が切れて販売主が変わったのか、少し値上がりしています。レビューにもあるように、あまり強くはないみたいなので、複数枚買うのが良いでしょう。