まどかの 日記

[2004/02/02〜2004/02/08の日記]
[2004/02/09〜2004/02/15の日記]
[2004/02/16〜2004/02/22の日記]
[2004/02/23〜2004/02/29の日記]
[2004/03/01〜2004/03/07の日記]
[2004/03/08〜2004/03/14の日記]
[2004/03/15〜2004/03/21の日記]
[2004/03/22〜2004/03/28の日記]
[2004/03/29〜2004/04/04の日記]
[2004/04/05〜2004/04/11の日記]
[2004/04/12〜2004/04/18の日記]
[2004/04/19〜2004/04/25の日記]
[2004/04/26〜2004/05/02の日記]
[2004/05/03〜2004/05/09の日記]
[2004/05/10〜2004/05/16の日記]
↑過去3ヶ月くらいの日記はこちら↑

まどかは「P/ECE Hand Book」を応援しています



2004/05/23()
 MMC対応改造カーネルの公開です(^^
 はい、本日ようやくドキュメント等の整理も終わり、MMC対応カーネルの公開ができる状態となりました。
 一応カーネルのソースも丸ごと再配布の状態となるので、念のためアクアプラス様の方にもお伺いのメールを書いたのですが、一向に返事が来ない(相当お忙しいんでしょうね。……もう、P/ECEって忘れ去られてる? そんなことないですよね(^^; そんなことないですよねぇ(--; そんなことないって言ってぇーーー!!\(jДj)/)

 すみません。微妙に取り乱してしまいましたm(-_-)m
 一応昨日の夜にまたアクアプラス様に対して、「公開しちゃうけど、何か問題あったら言ってね」というような内容で丁寧なメール書いといたので、何か問題ありなら警告があることでしょう(^^; もし警告があった場合は早急に対応しますよ。>アクアプラス様

 というわけで、完成から1週間が経ち、一部バグ修正もあったMMC対応カーネルを公開します。
 と言っても、特に写真とかは無いので、ソースのファイルのみですが(^^;

 <MMC対応改造カーネルのソース一式>
 mmc_pcekn_2004_0520.zip(1.13MB)

 2004/08/29 追記:mmcFileReadSctでのmmcFileReadSctで
              mmcFileReadSct(&pfa, NULL, sct, 0);
              とした場合に、内部の代替バッファに何も読み込まれて
              いなかった不具合を修正。また、mmcFileReadMMCSct
              でも同様に修正。そして、mmcFileReadMMCSctでは代
              替バッファアクセス保証サイズを512バイトに変更。

 mmc_pcekn_2004_0829_v122.zip(1.13MB)
 2004/08/30 追記:SDカードと初期化に時間がかかるMMCに対応しました。
              容量の小さいメモリーカードはFAT16で再フォーマットする
              必要があります。詳しくは中の”readme_madoka.txt”を
              読んでください。
              今回の対応に当たって、情報提供してくださったnsawaさん
              には感謝致しますm(-_-)m  
 
mmc_pcekn_2004_0830_v123.zip(1.13MB)
 2004/09/26 追記:最新版はMMCライブラリサポートページで入手して下さい。


 ファイルの日付が5/20になっているのは、実はこの時点でドキュメントの整理は完了してまして、アクアプラス様からのメールの返信待ち状態だったんです(^^;

 それから、この前MMCからの読み込みルーチンでバグを修正したので、ついでにMMC版MP3プレイヤーも更新しました。
 
 <MMC版MP3プレイヤー バージョンアップっていうか、バグ修正版(^^;>
 mmc_mp3_2004_0519.zip(1.02MB)
 mmc_mp3_2004_0829.zip(1.02MB)  2004/08/29 追記:↑の不具合を直したもの
 mmc_mp3_2004_0830.zip(1.02MB)  2004/08/30 追記:↑の対応済み
 2004/09/26 追記:最新版はMMCライブラリサポートページで入手して下さい。

 MMC版MP3プレイヤーを公開したのも結構前になるので、MMCを接続するための回路図ももう一度紹介しておきます。MMC対応カーネルもこの回路を使ってMMCと通信します。

 というわけで、再度回路図の紹介。(クリックすると拡大します)
 

 今回路図を見直して思い出したのですが、この回路図を書いた頃って去年の11月なんですね。ということは、その頃から軽く半年は経ってるってことか…… 時が経つのは早いですねぇ(^^; 毎度のことながらよくこんな長い間やる気が続いたもんだ。そんなに楽しいのかP/ECEって…… はいっ、楽しいです!<バカらしい自問自答をしてみた(^^;

 と、ソースのファイルと回路図だけを見せても、実際にそれをやってみないと全然ピンと来ないと思いますので、そんな興味を持っておられる方のために、P/ECEがMMCを使えるようになるとどうハッピーになるかを示した画像を紹介します。

 これは、MMC対応カーネルに追加したMMC制御APIを使用するサンプルとして製作したMMC上のpexをP/ECE標準のstartup.pexの様に表示するアプリの画面です
 画像の取得にはまかべひろしさんPceCapsを使用させていただきました。ありがとうございます。

 (クリックすると拡大します)
 

 お分かりになられますでしょうか。
 通常のP/ECEには到底一緒に存在させることができない、大作ゲームが勢ぞろいです(^^
 現在これらのゲームを含めた50個以上のゲームがMMCに入っています。50個どころか、数百個は余裕で入りますよ(^^

 私が実現させたかったのはこれなんです。
 数あるP/ECEの大作ゲームを遊ぶのに、いちいちPCから転送しなおさないといけない、というか、P/ECEのゲームを遊ぶためにPCが必要ということがなんか気に入らなかったのです。
 これって、全然モバイルじゃないですよね。<実際、そんなに外では遊びませんが(^^;

 というわけで、PCが無くてもP/ECEはこんなにすごいんだということを見せつけるために、P/ECEはPCが居ないと何もできないわけじゃないと言うことをアピールするために、このMMC系の作品を作りました。


 ……と、一応大義名分の様なことを書いてみましたが、実際には、P/ECEでMMCが使えたらもっと楽しそうだなと単純に思っただけですけどね。

 でも、そんな単純なことに半年以上もやる気を持続させるのは結構大変なことだと思います。
 ヴォイスチェンジャーの時もそうですが、我ながらよくやったものだと褒めてやりたいです(^^; 飽きもせずよくがんばりました>自分

 それにしても、アクアプラス様/OeRSTED様はなんて素晴らしいハードを作ってしまったんだ。
 これがあればやりたいことがどんどん浮かんできて、他のプラットフォーム(WindowsとかH8とか)での趣味が全然進まないではないか(笑)

 一応昨日の段階で次の拡張端子ネタの資料を買ってきたので、またやることができてしまいました。
 でも、あんまりP/ECEばっかりやってても他のことが進歩しないので、ここらで、ちょっとだけ寄り道をしようかなぁとか考えています。浮気じゃないですよ、寄り道です(^^;

 もしかしたら、やっぱりP/ECEの方が面白くて、結局P/ECEをやっちゃってるかもしれませんが、一応今日はそんな気分だということを書き記しておきます。それがまどかの自己満足日記ですから。

 
 それでは、だいぶ話がそれてしまいましたが、今日はもうひとつついでに、先日までやってたP/ECE HandoBook Vol.2の3大ゲームの改造法も公開しちゃいます。

 紹介するのは改造方法だけで、これらのゲームのソースはP/ECE HandBook Vol.2を買ってくださいね。
 テキストファイルにまとめましたので、こちらをご覧下さい。

 <P/ECE HandBook Vol.2 3大ゲームのMMC対応改造法>
 mmc_taiou_kaizou_3big_game.txt(5.01KB)

 最後にお決まりの文句になってしまいましたが、今回のMMC対応改造カーネルのソースおよび関連データを使っての作業はすべて自己責任でお願いします。
 また、今回の作品は株式会社アクアプラス様提供のP/ECEカーネルソースを利用しての作品ですが、この作品についてのお問い合わせにつきましては、全てまどか宛でお願いします。
 この作品に関してのアクアプラス様へのお問い合わせは一切なさらないようにして下さい。使用したカーネルソースのファイルは配布した圧縮ファイル内のテキストに明記してあります。



 というところで、今日はおしまい。
 明日からは何しようかなぁ(^^;

 それでは、おやすみなさーい。

0951
2004/05/22()
 残りのゲームも改造しました
 えー、今日は嫁さんと2人で大須に出かけ、大須301の中華街で昼食を取り、スーツを買いに行って、その後私は一人で部品屋めぐり。(嫁さんは相撲を見に帰宅(^^;)

 部品屋めぐりでは、次の拡張端子ネタのネタ探しって言うか、使える部品をいろいろ見てきました。

 で、家に帰ってからは、のんびり残りの「じゃんぴーす」と「れとるとまじっく」の改造をやり始めました。
 でも、「緋色の霧」同様の改造でできちゃうので、すぐにできてました。

 というわけで、これで、P/ECE HandBook Vol.2の3大ゲームが全てMMC上から遊べるようになりました。やったー(^^

 これで、P/ECEのデータ入れ替えなど気にすることなく、出張先のホテルでも遊べちゃうぞ! MMCは電池駆動でも大丈夫なので、遊んでいる見栄えさえ気にしなければ(だって、P/ECEの横に怪しげな基板付いてるし(^^;)新幹線でも遊べるぞ!(酔わない人はね)

 
 さて、今日はまたあるところにメールを送っておしまい。
 明日はどうしようかなぁ。

 それでは、おやすみなさーい。

0950
2004/05/21()
 fpk展開ツールできました(^^
 はい、今日も会社では仮称エスパーな仕事の続きをしてました。
 が、やっぱり思ったとおりに動いてくれなくて苦戦中。うう(j−j

 で、家に帰ってからは、昨日思いついたMPPF形式のfpkファイル展開ツールの製作。

 って言っても、まかべさんの展開関数を使ってるので、私が作ったのはWindowsでのファイル入力インターフェースだけですが(^^;

 というわけで、できました。↓
 MPPF_fpk_Unpack_2004_0521.zip(45.1KB)

 圧縮ファイルの中のMPPF_fpk_Unpack.exeに「緋色の霧」等のfpkファイルをドラッグ&ドロップするだけ。
 exeと同じフォルダにfpkのファイル名でフォルダが作成され、その中にfpkにパックされているファイルが展開されます。

 ちなみに、P/ECE付属のFilePack.exeでパックしたfpkファイルは展開できないので注意。
 
 また、緋色の霧のfpkの場合、シナリオのスクリプトファイルも展開されて、ストーリーが読めてしまうので、ネタバレ要注意です(^^;

 で、スクリプトファイルにgrepかけて、BGMを鳴らす”MU”って文字を探したんだけど、見つからないのでやっぱりBGMは無いのかな?
 srcフォルダの中にMMLのデータとかが入っていたので、てっきりBGMが鳴るものだと思っていたのですが、残念。まぁ、スクリプトファイル書き換えちゃえばいいんですけどね〜(^^;

 というわけで、久しぶりに趣味でWindowsのツールを作ってちょっと満足なまどかでした(^^

 明日は、ちょっと新しいスーツを買いに行ったり嫁さんとお出かけする予定です。
 それでは、おやすみなさーい。

0949
2004/05/20()
 ちょっと思いついたことをやってます
 えー、今日も1日主に仮称エスパーな仕事の続きをやってたんですが、なかなか思うようにいかず、苦戦中(--;
 で、家に帰ってからは、MMC対応カーネル関連でちょっと思いついたことを始めました。
 
 その思いついたこととは、P/ECE HandBook Vol.2に付いてきたまかべさん作の3大ゲーム(じゃんぴーすDX・れとるとまじっく・緋色の霧(手のひらノベル))をMMC対応に改造しよう! ということです(^^

 これらのゲームはゲームデータをまかべさん独自のMPPF形式(マージャン・プロジェクト・パック・フォーマットの略かな?(^^;)のfpkにまとめて、プログラム中から展開して使用しています。

 ちなみに、これらのゲームを普通にMMCから起動しても一応動くことは動きますが、ステージデータが無かったり、シナリオが無いとかで当たり前ですが、正常に遊べません(^^; (じゃんぴーすだけは音はなりませんが、遊べます)

 というわけで、まずはP/ECEの中身を全部消して入れなおすのが面倒で実は1回もやったことがなかった(まかべさん、ごめんなさいm(-_-)m)、手のひらのベル「緋色の霧」を改造することにしました。

 改造のポイントは、pceAppInitでmmcInit();、pceAppExitでmmcExit();を加え、pceFile系のAPIのpceをmmcに変えてmmcFile系に変換するだけ。MMC制御のmmcFile系APIはpceFile系のAPIと互換性があるように作ったので、引数はそのまま使えて、pceをmmcに変えるだけOK(^^
 
 既存のゲームのMMC対応改造でひとつだけ注意することがあって、mmcFile系APIではpceFileCreateやpceFileDeleteの様にMMC上にファイルを新たに作ったり削除したりはできないようになっているので、セーブデータ等のファイルの操作をするpceFile系のAPIはmmcに変換しないようにすることです。

 というわけで、今日は手始めに「緋色の霧」を改造しました。
 改造自体は、fpkファイルの読み込み部分を変えて、mmc_api.libをリンクするようにするだけなので、簡単なソースの書き換えで作業は完了。これで「緋色の霧」がMMC上から遊べます(^^

 それにしても、多階調表示の絵は綺麗ですねぇ(^^ さらに松田さんの絵も当たり前ですがクオリティが高くて完璧ですね。さすがプロ。勉強になりますm(-_-)m

 それにしても、緋色の霧ってBGM無いんでしょうか?
 ソースにはBGMを鳴らす処理があるので、鳴るようにはなっていると思うのですが……。
 でも、makefileでMML用のライブラリがリンクされていなかった(コメントアウトされてた)ので、やっぱり鳴らないのかな?
 
 ソースを見てると、シナリオのスクリプトで"MU"っていうのが来たらBGMを読み込んで鳴らすようになっているから、どうなんだろう。fpkファイルを作成する元ソースはsrcフォルダには含まれていない(ネタバレになるからでしょうかねぇ(^^;)ので、スクリプトを確かめることもできないなぁ。デバッグめんどいし。

 というわけで、まかべさんのゲームで使われているMPPF形式のfpkを展開するツールでも作ろうかな。
 ゲームのプログラムの中でfpkを展開する部分の関数が用意されているので、それを利用すれば良いだけだし、簡単そうなので作ってみることにします(^^

 というところで、今日はここまで。
 昨日あるところに出したメールはまだ返事がありません。ま、1日じゃぁね。待ち遠しいです。

 それでは、おやすみなさーい。

0948
2004/05/19()
 ドキュメント整理中
 えー、今日は主に仮称エスパーな仕事をやって、あと新人K君との勉強会等をやってました。

 で、今日はちょっと遅くなってしまったので、家に帰ってからMMC対応カーネルの公開用ファイルの整理やドキュメントを書いたりしてました。

 とかなんとかやっているうちに、nsawaさんがまた新しい拡張端子ネタを公開しているではありませんが、ついこの間拡張端子を付けられたと思ったら、もう3作品目(LED発光→シリアルレベル変換→MIDI制御)ですか!?(^^;
 相変わらずすごい勢いですね。恐れ入ります。

 このままだと、作品数もあっさり抜かれてしまう勢いですね(^^;
 今まで、拡張端子ネタに関しましては、特にライバルもいなかったのでのんびり作っていたのですが、ここに来て強力なライバル登場ですね。<誠に恐縮ですが、勝手にライバルと呼ばせて頂いておりますm(-_-)m nsawa様。

 それにしても、nsawaさんの作品はフレームワークがしっかりしているというか、CLipライブラリが強力ですよね。
 nsawaさんの作品のソースを読ませて頂いていると、こういうフレームワークの大切さが良くわかります。
 私もこういうのが上手く作れたらもっと効率よくアプリケーションが作れるのかなぁ。

 仕事でも趣味でも、ほぼ特注の様な場合(趣味の場合は行き当たりばったりが多い(^^;)が多いので、雛型を作ることはあんまりしないのですが、それでも最低限の雛型というものは作れるわけで…… あ、よくよく考えてみれば、私もnsawaさん程ではないですが、コピペしてすぐ使えるような雛型的なものを作ってたなぁ。(P/ECEでは作ってないですが(^^;)
 ああいうのをもっとちゃんと作ればいいんですよね。うーん。
 私ももっと勉強してnsawaさんのようなスピードで作品がリリースできるようになりたいです。
 
 nsawaさんもすごいのですが、P/ECEのカーネルを作られたMIO.Hさんもすごい方ですよね。
 このような方々のソースが拝見できるなんてなんか幸せ(^^
 オープンソースってこういうのが良いですよね。

 というわけで、今日はここまで。
 今日はあるところにメールを出して作業終了。返事待ち。

 それでは、おやすみなさーい。

0947
2004/05/18()
 バグ直りました(^^
 えー、今日も普通に仮称エスパーな仕事を主にやってました。
 で、家に帰ってからは、昨日見つかったMMC対応カーネルの不具合調査。

 不具合の状況は、MMC上のpexを一覧表示するメニューサンプルの、ある位置からのpexが正常にSRAMに展開できないというもの。
 昨日の段階では、また読み込みルーチンがおかしくて、正常なデータが読めていないのかと、再び読み込んだ内容をフラッシュメモリに書き出すデバッグ用コードを作って調べてみたのですが、どうもそこに行く前に処理が返っている模様。

 調べていくと、どうもファイル検索ルーチンで、指定のファイル名のファイルが見つからないというエラーで処理が終わっている。
 うーん、ファイルの一覧表示はちゃんと全部できているのに、ファイル名を指定してのファイル検索では上手くいかないというのはどういうことだろう。
 と、デバッグにAPIErrを多用してちまちまとチェックしていくと、なんとファイル検索時にmmcInitで指定した扱う最大ファイルサイズを超えるファイルが見つかった場合に、そこで検索を止めてしまうという不具合が見つかりました(^^;

 MMC版MP3プレイヤー用にライブラリを作っている時に、デバッグ用にこういう処理を入れて、それがそのままになっていたようです。ああ、恥ずかしい(^^;

 というわけで、そこんところを直したら、MMCに入れたすべてのpexファイルが正常に起動できるようになりました。めでたし、めでたし。

 これで、MMC用メニューも高速に動くようになったし、50個以上のゲームも起動できるようになったので、あとはドキュメント等を整理すれば公開できると思います。

 というわけで、今日はここまで。
 明日は、ドキュメントの整理に入ります。

 それでは、おやすみなさーい。

0946
2004/05/17()
 またバグ発見(j−j
 えー、今日は昨日の喜びの勢いそのままで、仮称エスパーな仕事の続きや打ち合わせを終え、早めに家に帰ってMMC対応P/ECEカーネル用のMMCメニューアプリを見直しました。

 このMMCメニューアプリは、MMC対応カーネルに組み込んだMMC制御APIの利用サンプルという目的と、MMC上のpexファイルを起動するためのメニューアプリが個人的にぜひ欲しいということでP/ECEのサンプルでついてきたmenuとmenu2というサンプルを元に作ったものです。

 が、元のソースでは事あるごとにファイルを検索しに行って、フラッシュメモリ上なら高速に読むことができるので問題ないのですが、相手がMMCでさらに128MBもの大容量となると、ディレクトリエントリを全部検索するだけでもちょっと時間がかかってしまうので、今日はそのあたりを工夫して高速化するのが目的でした。

 と、高速化としては、いちいち読み込んでいる情報を最初に保存しておいて、次回読み込み時からは、その保存しておいたところから参照するようにするという単純なものなので、その辺の修正はすぐできたのですが、どうもまたSRAMへの展開がうまくいかないみたいなんです。

 うまくいかないのは、今日追加したpexで、昨日の段階でMMCに書き込んだpexは正常に展開できるのですが、いろいろゲームを入れてみようと思って今日追加した沢山のpexはどれも展開に失敗するという現象に見舞われ、ちょっと凹んでしまいました(j−j

 というわけで、今日はこのあたりで時間がきてしまったので、明日また、SRAMに展開する前の状態をフラッシュメモリに書き出してみて確認しようと思います。

 それでは、おやすみなさーい。