趣味・茶碗拭き


Novo7 騎士 Paladinで遊ぶ その1


先日、AndroidタブレットのNovo7 騎士 Paladinを買った。
CPUはMIPS(XBurst 1GHz)だ。そのため、ARM依存のアプリは動かないし、インストールもできない。
GPUはVivante社のGC860だ。動作周波数はわからない。中国IngenicのSoC「JZ4770」でCPUとGPUは統合されたものだ。
Android NDKのMIPSバージョンを使ってGPUをゴリゴリとしてみたい。
もしくは、Ice Cream Sandwich なのでRenderScriptなどでも3Dプログラミングが楽しめそうだ。
ところで、私が買ったのはRoot化済みのものだった。フォントがちょっと気になるが率直に言って快適だ。
このホームページでは本当はMoreLocale2やnicoWnnGなどを使った日本語化の顛末を書こうと思っていたところだが、
http://blog.osakana.net/archives/tag/nicownng で公開されているMIPS対応のnicoWnnGをインストールするだけで日本語化は終わってしまった。
そこで、箱の側面にも大きく取り上げられているスパイダーマンのゲームをやった。2.99ドルの一押しゲームのようだ。
ゲームの動作は軽快だ。日本語にも対応だ。しかし、タッチパネルを介した十字キーの操作はやりにくかった。
一番簡単なモードで楽しんでみたが2人目の中ボスをやつけられない。まあ、こんなもんだ。

Novo7 騎士 Paladinで遊ぶ その2


Android SDKについて来るRenderscriptのサンプルアプリで遊んでみた。
詳細は省くが、BallsとHelloComputeは問題なく動いた。
問題はHelloWorldだ。エミュレーターでは実行できないので、Paladinにデバッグで入れてみた。当然、Eclipseからだ。
SDKの説明ではタップすれば、Hello Worldと表示されると書いているが、画面はすぐ消える上に、
消えるまでのわずかな時間にタップしてみたが何も出なかった。
ちゃんとソースコードを読んだわけではないが、ソースに問題があるのか、Paladin側に問題があるのか。よくわからない。
一番簡単なはずのHelloWorldでつまづくのはちょっと悲しい。ソースをよく読んでみることにする。


Novo7 騎士 Paladinで遊ぶ その3

いろいろネットサーフィンをしてみると、この前失敗したRenderscriptのHelloWorldのつまづいた理由が判明した。
まず、マニフェストファイルのSDKのAPIレベルが11だったことだ。
ざっくばらんに考えてみれば、llvm-rs-ccの出力するBit Codeは"Write once,Run anywhere"なのではないかと思っていたが、
どうやら、違うらしい。Bit CodeのSDKのAPIレベルが11〜13までと14以降では一部非互換だということがわかった。
というわけで、マニフェストファイルを書き換える。APIレベルは15にしてみた。
Eclipseからメニューのプロジェクトを選びその中のクリーンを選んで後は自動的にビルドさせれば、
Bit Codeの内容もAPIレベル15になり、Android 4.0.3のPaladinでも何のソースコードの変更もなしにHelloWorldが実行できた。
めでたしめでたし(^^;。ちなみに他のサンプルファイルはまだ試していない。要領はわかったのでやってみようかなって感じ。


Novo7 騎士 Paladinで遊ぶ その4

実はCogdroidのmips版のコンパイルに挑戦しています。しかし、うまくいきません。できたひとはぜひやり方を教えてほしいです。
代わりにsqueakvm-tabletのmips版のコンパイルに成功したので載せてみることにしました。
と言っても、http://code.google.com/p/squeakvm-tablet/で配布されているソースコードをMips版のAndroid NDKでコンパイルし、Eclipseでビルドしただけです。
ライセンスはMIT Licenseです。著作者はgolubovskyさんです。
なお、バグはあるかもしれませんが著作者ならびに私は責任を負いません。リスク・損害に関しては自己責任でお願いします。
squeakvm-tabletのダウンロード
http://code.google.com/p/squeakvm-tablet/からSqueak image(3.11 alpha)をダウンロードして使ってください。

P.S.MIPS対応のため、一部のファイルを変更しています。