これであなたもVita開発者!? Vita SDKを導入して最初のHomebrewを作ってみよう
先日、アプリ開発は素人ながらVita SDKをインストールしてみて、HENkakuが有効なPS Vitaで起動できる簡単なHomebrewを作成するところまでたどり着けたので、素人目線の経験をここに共有したいと思います。同じ未経験者で興味がある方にとってのとっかかりになれば幸いです。
この記事では最終的にPS Vitaに好きな文章を表示させるアプリを作るところまでやります。
参考: Vita SDK 公式サイト
この記事の利用にあたっての注意
- 筆者は素人です。
- 手順を進めるにあたって、未経験者にも見通しが立ちやすいよう各操作を当たり障りのない範囲で解説するようにしていますが、もし間違っていればご指摘ください。
- Windowsユーザーが馴染みやすいよう多少書き方を工夫しましたが、余計なお世話かもしれません。
- この記事はプログラミング言語を知らなくても最後まで読めますが、さらに次のステージに進むにはC言語やAPIの扱い、CMakeファイルの書き方などのスキルが必要(らしい)です。
- Vita SDKやその他ツールのこの記事の範囲外の使用方法についてはコメントをいただいても判らないと思うのでアドバイスできません。
想定される環境
- 64ビット版Windows。記事ではWindows 10 Pro バージョン1709を使っています。
- HENkankuが有効なPS Vita
Vita SDK導入方法
1. msys2のセットアップ
Vita SDKはLinuxで動作し、Windows環境ではそのままでは使えませんが、WindowsではLinuxをサブシステムとして使う方法がいくつかあり、公式にはこのうち "Bash on Ubuntu on Windows" と "MSYS2" が紹介されています。MSYS2の方が今回の目的はより簡単に達せられそうだったので、以下ではこれを使います。
MSYS2 homepageよりx86_64版をダウンロード、これをインストールします。記事の通りにしたい場合はインストールフォルダを変更しないでください。
今回用いるLinuxの扱いに関して別段の知識は必要ありませんが、Windowsから見た C:\msys64\ がLinuxにとってのルートディレクトリになっていることは最低限理解しておきましょう。
これでWindows上でMinGW-w64というLinuxを使えるようになりました。C:\msys64\mingw64.exe をダブルクリックするとMinGW-w64のコマンドライン(シェル)が表示されます。
下準備として次のコマンドを実行して、パッケージの更新や以後登場するgitコマンドを使うのに必要なパッケージのインストールを行います。コマンドは1行入力してEnterキーで実行が以後の基本です。
pacman -Su make git cmake tar mingw64/mingw-w64-x86_64-libwinpthread-git
「インストールを行いますか?」 と尋ねられたら「y」を入力してEnterキーを押し、次に操作できるようになるまで待ちます。
2. vdpmの導入
vdpmはVita SDKのインストールや更新などの管理をするためのプログラムです。このセクションの作業を完了することでいよいよVita SDKを使えるようになります。
ここで一旦MinGW-w64のシェルウィンドウを閉じます。Windowsで C:\msys64\home\[username]\.bashrc を編集したいのですが、メモ帳では改行が崩れてしまうので、より高機能なテキストエディタが必要になります。記事ではTeraPadを使用しています。
.bashrcをTeraPadで開き、最後の行に次の2行を追加して保存します。これによりVita SDKが (C:\msys64)/usr/local/vitasdk/ にインストールされるという情報(この情報は後ほどvdpmやCMakeなどのソフトウェアによって参照される)がMinGW-w64の環境変数として設定されます。これらは次回以降のMinGW-w64の起動時に反映されます。
export VITASDK=/usr/local/vitasdk
export PATH=$VITASDK/bin:$PATH
再度MinGW-w64を起動し、次に以下のコマンドを順番に実行していくだけでVita SDKが簡単にインストールされてしまうのですが、1行目から順に次のような流れであることを理解しておくといいと思います。(1)ユーザーフォルダに移動する(LinuxにはWindowsのエクスプローラーと同じく現在のフォルダや自由に使えるユーザーフォルダといったものがあります)。(2)Githubからvdpmのファイル群を得て現在のフォルダに展開する。(3)(2)の結果現在のフォルダにできたvpdmフォルダに移動する。(4)Vita SDKの最低限の機能のインストールを実行する。(5)Vita SDKの全ての機能のインストールを完了する。
cd ~
git clone https://github.com/vitasdk/vdpm
cd vdpm
./bootstrap-vitasdk.sh
./install-all.sh
これで最初のHomebrewを作成するための準備はすべて整いました。
最初のHomebrewを作成
この記事では公式に用意されているサンプルプログラムのソースコードを基にする形で、最も少ない手間で最初のHomebrewを作成してみることにします。
1. サンプルソースコードを得る
MinGW-w64で次のコマンドを実行すると今回用いるサンプルソースコードが得られます。
cd ~
git clone https://github.com/vitasdk/samples
Githubというウェブサイト上のサンプルソースコードファイル群をLinuxのユーザーフォルダ上に展開するということをLinuxのコマンドでやっており、つまりWindowsの慣れた手つきで代わりに次の操作を行ったとしても同じことですね。
GitHubのvitasdk/samplesページを開いて "Clone or Download" -> "Download ZIP" よりソースコードのZIPファイルをダウンロードし、中に入っているsamplesフォルダを C:\msys64\home\[username]\ にコピーする。
簡単のため複数のサンプルを全てダウンロードしましたが、今回用いるのはsampleフォルダ内のhello_worldというサンプルだけです(ただしcommonフォルダはそれらのサンプルに共通で使用されるため削除しないでください)。他のサンプルはこの記事の次のステップに役立ててみてください。
2. ソースコードを書き換える
さて、C:\msys64\home\[username]\samples\hello_world\src\main.c がこれから作成するアプリの動作を記述する本体ファイルです。これを弄ればアプリの動作を自分の好みに沿って変更できそうです。これをTeraPadで開いてみます。(Linuxの慣れないテキストエディタを使用しても結果は同じなので、ここではWindowsのTeraPadを使います。)
このコードはC言語で書かれているため、これを理解しながら書き換えるには相応の知識が必要になります。今回はプログラミング未経験者でも結果が想像できそうな範囲で書き換えてみることにします。はやくプログラムが動いているところを見たい方は3. に進んでから、後でここに戻ってきても構いません。
これに含まれる次の行はVitaの画面に「Hello, world!」と表示させるよう関数がC言語で記述された箇所です。この "" (ダブルクオーテーション) の中身を書き換えれば別の文字列を表示させることができます。「¥n」は改行を意味する特殊な文字なので、例えば「"Hello, ¥nworld¥n"」とすれば2行に渡って文章を表示させることができそうです。
printf("Hello, world!\n");
次の行はアプリが自動的に終了するまでに指定した秒数だけ動作を停止するよう関数が記述された箇所です。正確にはマイクロ秒を指定しているようなので、それを踏まえて最初の「3」という箇所を別の数、例えば「10」に置き換えると何かが起きそうです。
sceKernelDelayThread(3*1000000); // Wait for 3 seconds
この記事の目標からするとやや応用的になりますが、他にもhello_worldフォルダ内の画像ファイルやCMakeLists.txtをいじれば、ホーム画面に表示されるアイコン画像やアプリ名などはわりと簡単に変更できそうです。またC言語の入門書に書かれているようなプログラムでもVitaで実行できるものがありそうですね。
3. アプリを作成する
ソースコードの編集を完了したら、それを基にいよいよアプリの作成(ビルド)を行います。もちろんVita SDKを使うので、ここはMinGW-w64の出番です。先ほどTeraPadでmain.cファイルを編集した後、MinGW-w64を再起動する必要はありません。
(1)アプリの作成(ビルド)に必要な情報がまとめられたCMakeLists.txtのあるフォルダに移動して、(2)このフォルダにアプリのビルドを行うコマンドを実行します。
cd ~/samples/hello_world
cmake . && make
しばし待つとMinGW-w64のシェルにビルドに成功したような英語の表示とともに、 C:\msys64\home\[username]\samples\hello_world\hello_world.vpk というパッケージファイルが完成します。これはHENkakuが有効なPS Vitaにインストールできるファイルですね。
完成したhello_world.vpkを好きな方法でPS Vitaに転送し、VitaShellなどでインストールを行うのはほかのHomebrewと同じです。自分の作ったアプリがどのように動くのか、ぜひ確認してみてください。
リンク
たぶんこの記事の次のステップで役に立つ公式ドキュメントです。より高度なプログラムを作りたい方は、今回使わなかった他のサンプルプログラムと併せてご覧になってください。
vitasdk: vitasdk - Documentation
多分(5)の前、予め、”pacman -S python”を実行する前に”/bootstrap-vitasdk.sh”を実行するとエラーが出るので”pacman -S python”を必ず実行してください。間違って実行したら”rm -rf /usr/local/vitasdk”を実行して”pacman -S python”を実行してください。
すいません。
cmake . && make
と打って実行しても、CMakeCache.txtというファイルが出来ただけなのですが、何が原因ですか?