現状報告20171114

たまには書きます。

生活

定食・居酒屋 どっとくうがオープン記念で定食全品500円なので調子に乗ってめっちゃホッケ焼定食を食べた。うまい。米(つや姫らしい)も良い。
あと横浜家系 清六家 筑波大学店がライス無料(おかわりも!)を始めたらしいので行ってきたが、米が無料なのに美味しくなっていた。豚骨醤油が720円なので雑にラーメンで満腹になりたい時に便利だなあと思う。24時間営業ということもあり研究室に入ったらお世話になりたい。

大学

配属研究室が確定し無事第一希望の研究室に行ける見込み。よかった…。
なんかまあうまくやってます。

アニメ・漫画

少女終末旅行のチトユーがな〜お前な〜
ご注文はうさぎですか?の6巻を買って久々にKoi先生の絵に触れてしまいひどく動揺した(取り乱してしまった)。とてもよかった。OVAの方も早く見たい。

デジタル絵のアウトプットなし。
絵を紙に描くようになってからマルマンの無地ノートをストックしていたものの切れたためヨドバシで注文。

取材を受けました

Twitterでも度々触れたようにBusiness Insiderさんから「表情包」についての取材を受けました
記事の中で事実誤認があったらここで訂正しなきゃいけないなあと思ってましたが、僕の喋ったことを正確に要約しつつ中国の表情包文化についても一通り触れてあり(自分で言うのも何ですが)良記事だと思います。ぜひ読んで見てください。
記事の写真はiPhoneのカメラのタイマー機能を使って自室で撮ったものですが、オタクが部屋の雑貨をどけ散らかして一人でカメラと格闘してる様子は空しかったです。

スーパーマリオ オデッセイ

全クリしたら魂が抜けて死んじゃう気がしてきたのでムーン集め中断。フェードアウトするのでは?

現状

精神衛生が回復したのでモリモリご飯を食べる。

現状報告20171105

色々と私生活で思うことが溜まってきているので心の整理のために不定期に日記を書いていこうと思う。
飽きたらいつものように放置すると思う。

生活

9月に松のや、今月に入って定食・居酒屋 どっとくうという2件のいい感じの定食屋ができて食糧事情が改善した気がするが、食費を削ってることもあり結局カロリーメイトとか食べてる。
そのせいか肌が荒れてきた。気をつけたい。

大学

研究配属希望登録が始まった。色々あるので具体的なことは言えないが消耗しているのは確かだと思う。
陰の者なので学園祭とは相変わらず無縁。

秋アニメ

少女終末旅行を追って見ている。良い作品だと思う。
夏はアニメを追わなかったこともあり、久々に良いアニメを見ると気持ちが高ぶってくる。コンテンツに貴賎はなく何らかのインプットは重要だと思う。

8月の終わり頃から急激にやっていく気が盛り下がっていてあまりアウトプットをしていない。
絵そのものは描いている(ここにきて2冊目の教本を買った!)が、どうしても超えられない壁のようなものにぶち当たっている感触がある。スランプというやつなのかなあ…。
アイコンを描くのはしばらく休んでたもののそろそろ描きたくなってきた。中国の人にも喜んでもらえるだろうし。

SNS

Weiboに続いてTwitterの方もフォロワーが1万人になった。皆さん本当にありがとうございます。
SNSと数字の話をするとぐるぐる目になって何もわからなくなるので報告だけにしておきます。
今はオタクとHUB行きてえなあ〜とか思ってます。

スーパーマリオ オデッセイ

本当はこのことについて丸々1〜2本ブログ記事を書きたかった気がするが、その体力は残っていないくらいの(本当に久々に)めり込んだ。最高…。
皆さんにもぜひプレイしていただきたい!

現状

なんなんですかね。
Markdownでブログ記事書くのは気が楽でいいですね。

ゲームボーイアドバンス開発メモ その1

大学の主専攻実験の1つでゲームボーイアドバンス(以下GBA)上で動作するプログラムの作成を行うことになったため、以下の環境で開発環境を構築した際の(雑な)備忘録です。

2017年にもなって自分からGBA開発する人がどれだけいるかわからないですが、来年の後輩とか興味を持った人の参考程度になるといいです。

devkitProのインストール

GBA用のプログラムのコンパイルにはARM7に対応したコンパイラが必要なので、コンパイラ一式とモジュールやツール類がセットになったdevkitProをインストールします。

ここのdevkitARMupdate.plをダウンロードし、

> perl ~/Downloads/devkitARMupdate.pl

でインストール後、パスを通しておきます。fish(すごいシェル)では以下のように。

# devkitPro (for GBA development)
set -x DEVKITPRO $HOME/.devkitPro
set -x DEVKITARM $DEVKITPRO/devkitARM
set -x fish_user_paths $DEVKITARM/bin $fish_user_paths

以上でdevkitProのインストールは完了です。これで環境構築のほとんどの作業は終わったと思っていいです。

動作確認用エミュレータのインストール

Mac用のGBAエミュレータはいくつかあるみたいですが、比較的最近も更新が行われておりOpenEmuにもコアが内蔵されているmGBAをインストールしました。
デバッグ用のメモリビューアやタイルビューアなども一通り入っておりこれで十分かと思います。
一時期メジャーだったVBA(Visual Boy Advance)のMac移植版のMac Boy Advanceは自分の環境ではなぜかROMの読み込み時に必ずクラッシュしたので確認してません。

実機で動かすためのブートケーブルとソフトウェアの準備

大学の実験ではGBA SPとLinuxから目覚めるぼくらのゲームボーイ!と付属のUSBブートケーブルが貸与され実機で確認できるようになっているので、実機への転送用ソフトウェアもインストールします。
この書籍の著者である西田氏のホームページでoptusbという転送用プログラムが用意されています。

まずoptusbに必要なlibusbをインストールしますが、バージョンが古いために当時のバージョンと互換性のあるlibusb-compatをbrewからインストールします。

> brew install libusb-compat

次に、ここ からダウンロードしてきたソースコードMakefileを以下のよう書き換えます。

optusb: optusb.c usb.h libusb.a
    gcc -I `brew --prefix libusb-compat`/include/usb.h -L `brew --prefix libusb-compat`/lib -lusb -Wall -o optusb optusb.c

clean:
    rm -rf optusb *.o

これをmakeすればoptusbのビルドの完了です。
ここら辺はほとんど大学のOBであるshiftky氏のGistを参考にしました(Makefileはそのままです)。この場を借りて感謝します。問題があれば消します。

サンプルをビルドしてみる

devkitProを通常通りにインストールすると~/.devkitPro以下にサンプルプログラムがたくさん入ってるexamples/gba/があると思うので、この中からtemplate/を適当なディレクトリにコピーしてきます。

> cp -r ~/.devkitPro/examples/gba/template ~/Documents/GBA/
> cd ~/Documents/GBA/template

そのままmakeするとtemplate.gbaというファイルができているはずです。

> make
template.c
arm-none-eabi-gcc -MMD -MP -MF /Users/yaplus/Documents/GBA/template/build/template.d -g -Wall -O3 -mcpu=arm7tdmi -mtune=arm7tdmi -fomit-frame-pointer -ffast-math -mthumb -mthumb-interwork -iquote /Users/yaplus/Documents/GBA/template/include -I/Users/yaplus/.devkitPro/libgba/include -I/Users/yaplus/Documents/GBA/template/build -c /Users/yaplus/Documents/GBA/template/source/template.c -o template.o 
linking cartridge
built ... template.gba
ROM fixed!
> ls
Makefile        source          template.gba    template.sav
build           template.elf    template.pnproj

.gbaファイルがROMファイル(バイナリ)なので先ほどインストールしたエミュレータで動作確認してみてください。

とは言うものの

devkitPro付属のサンプルプログラムはビルドできたものの、これだけではソースコードすら読んでいないし、実際ソースファイルであるtemplate.cではdevkitPro付属であろう未知のライブラリを使っているので、何が何だから全然わからんです。
せっかく組み込みシステムで開発をするのにハードウェアへの理解もないままプログラミングするのは向上心がないので、次のエントリあたりで実際のプログラムについてのメモ書きをしようと思います。