以前、auのAndroidガラケー KYF31 でガラケーアプリを遊ぶ!という記事を書きました。
前回の記事は、jarファイルを分離してJ2MEエミュで遊ぶというものでした。まぁ言うなればただ動かしてみただけって記事です。
ソースコードに手を入れました
今回は使ってみて気になった点をコード書いて修正してみました。だいぶ良くなったと思います。
ガラケーアプリのエミュ(J2ME Loader)をちょこちょこ修正してるんだけど、音が鳴るようになったのでAVDで動作させたのを録画してみた。AVD経由だとキー取りこぼしまくって全然プレイできないけど雰囲気こんなかんじ
— おはよう君 (@ohayoyogi) 2021年9月7日
MIDI変換がバグっててループがうまく動かない(曲の長さが変になってる・・・ pic.twitter.com/L1DtKMd2cK
直ったァ🤤 pic.twitter.com/vvDwAxSkaP
— おはよう君 (@ohayoyogi) 2021年9月8日
どつきもち2ってあんまりやったことなかったな(2021年にデビュー pic.twitter.com/ETXoAVPL83
— おはよう君 (@ohayoyogi) 2021年9月10日
こんな感じで、どつきもち2も魔神豪剣も初代豪剣も音付きでプレイできるようになりました。
kjxファイルのインストールに対応しました
前回記事では先述の通り、jarファイルに分解してインストールする必要がありました。それを分解せずともインストールできるようにしました。
「kjxファイル」という仕様自体がガラパゴスなので、海外のアプリが対応していないのは当然です。KJXのKはKDDIのKかな?
SMAFの再生に対応しました
ケータイの着メロに使用されていた、SMAF形式の音源データをAndroidで再生できるようにMIDIに変換するコードを書きました。
SMAF自体は国際的な規格のはずですが、海外のフィーチャーフォンアプリには使用されていないんでしょうかね。SMAFもMIDIもわからない状態からバイナリエディタと睨めっこしました。
ソフトキーに対応
ezwebアプリでは、ガラケーの上部のキーにコマンドをアサインすることができる仕様です。
当時のアプリも当然この仕様を使っていますね。ゲーム内メニューをソフトキーで開くアプリとかもあるのでこれが使えるようになると快適度が増しました。
本来この部分は多分kddiのガラケーOSが担っているだろうということで、今回はアプリのCanvasに無理矢理実装しました。今コード見ると2か所でコマンド実行のコードを重複して書いていて謎だ…(直そう…)
その他クラスを定義
auのガラケーアプリにはcom.kddi
パッケージのモジュールがあり、J2ME Loaderは対応していません。無いパッケージのクラスをロードしようとすると当然アプリが落ちてしまうので、ハリボテでもいいかとパッケージを用意しました。
https://nikita36078.github.io/J2ME_Docs/docs/ezplus_3/
J2ME Loaderの作者さんが昔のドキュメントを上げていてくれているのでここら辺を地道に実装していくしかなさそうです。
ダウンロードはこちらから
一応apkファイルにはしてみましたが、、、ご利用は自己責任で。
お手をお貸しください
昔のアプリをやりたい一心でここまで実装してきましたが、限界を感じ始めています。どなたかヘルプミー
アプリ化
ezwebアプリということではガラパゴスもいいところで、本流のソースコードにマージしてもらうことは望むべくもありません。
よって別アプリとして公開していくしかないと思うんですが、片手間ではPlayストア公開までは漕ぎつくことができませんでした。
どなたかアプリ化興味ある方いらっしゃいますか?もしよければソースコード使ってアプリ化しませんか?
Androidガラケーにもっと特化する
個人的にはこのアプリって、Androidガラケーに特化して作りたかったんですが、イマイチ情報が足りてません。
特に com.nextfp.android.util
パッケージなどは情報が皆無といってもよく、サードパーティがアプリを作るのはかなり難しい印象です。
どなたか情報をお持ちでしたらコメントいただけると幸いです。
終わりに
興味本位で始めたガラケーアプリで遊ぶ試みでしたが、実際にコードを書けて楽しむことができました。これからもいじっていきたいと思います。
今回使わせていただいたnikuQさんのホームページはコチラ↓
と思ったらアクセスできなくなっている・・・ もしかして閉鎖?! 😨