まどかの 日記

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

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



1113
2004/10/31()
 またちょっと進みました(^^
 今日もお昼くらいまでのんびり寝て、外は曇りだったので雨が降らないうちにちょっと本屋に出かけ、家に帰って夕飯食べてから、またDirectXの続き。
 
 昨日なんか挙動がおかしかったのをデバッグする。よーく考えながらソースを追っていくと、数値がおかしいことに気付き、修正。これで上手く動くようになりました(^^
 少しずつですが、P魂に応募できるように進んでいます。でも、間に合うかなぁ(- -;

 というわけで、今日はおしまい。
 それでは、おやすみなさーい。

1112
2004/10/30()
 今日はおうちでゆっくり
 今日は日頃の寝不足生活のせいか、12時間以上寝ても起きれませんでした(- -;
 で、夕方頃にようやく起きて、しかも外は雨なのでどこにもでかけず、午後6時ごろに近所の焼肉屋で本日唯一の食事をとる。サラダバーで満腹にする貧乏メニューで済ます。お腹いっぱい(^^

 そして、家に帰ってからはDirectXのお勉強の続き。今日はこれからやることをテキストファイルにまとめました。で、まとめてからもまだ時間があったので、ちょっと先に進めました。

 また一歩目標に近づいて、今日の成果がコンパイルできるまでになったのですが、どうも上手く動作しません。
 というところで、時間が来てしまったので、続きはまた明日。
 それでは、おやすみなさーい。

1111
2004/10/29()
 かなり眠いです
 今日はいつも通り仮称エスパーな仕事をがんばって、ちょっと早めに家に帰りました。

 先日からずーっと考えるだけのP/ECEネタもだんだんDirectXを理解することができてきたので、明日くらいにはなんかやることがまとめられそうです。

 やることまとめてもそれをいつやるのかと考えるとちょっと不安に。でも、がんばってやっていこう。うん。
 というわけで、短いですが、今日はおしまい。
 それでは、おやすみなさーい。

1110
2004/10/28()
 ちょっとビビリました
 今日も仮称エスパーな仕事の続きをがんばってやって、家に帰ってP/ECEネタの続きをと思っていたのですが、本日nsawaさんKZ-Sさんが作られたNSF Player for P/ECE ver2.21(以下NSFプレイヤー)を無理やりMMC対応にしてしまうという驚愕のツール(以下乗っ取りアプリ)を発表されました。
 2004/10/28の『無理やりMMC for 「NSF Player for P/ECE ver2.21」』です。

 このツールは、NSFプレイヤーの呼び出すpceFile系のAPIのベクタテーブルのアドレスを乗っ取りアプリのフック用関数のアドレスに書き換えて、フック関数内でmmcFile系APIを実行し、MMC内からファイルを取得させるというものです。

 と、言葉で書くと簡単ですが、やってることはなかなか高度です。
 pexしかない他のアプリを無改造でMMC対応にするためには、今回の乗っ取りアプリがやっているようにAPIをフックしてやるんだろうなぁと漠然とやり方は思いつくのですが、いざそれをやろうとなると、他のpexと同時にフック用の関数をSRAM内に常駐させる必要があり、普通に作ったアプリでは、次に起動するアプリによってSRAMの内容が上書きされ、常駐することができません。

 そこでnsawaさんは乗っ取りアプリの先頭にNSFプレイヤーがすっぽり入るだけの定数データ領域を確保し、そのあとにフック用関数が配置されるように乗っ取りアプリを作って、乗っ取りアプリがNSFプレイヤーを起動した後もSRAM内にフック関数を常駐させることを可能にしました。すごいです。
 NSFプレイヤーはSRAMに展開されても、そこは元々乗っ取りアプリのダミーデータ領域だったところなので、乗っ取りアプリ自身のプログラムが壊されることはありません。

 この乗っ取りアプリのソースを見た時に、そうか!この手があったか!!と、かなりの衝撃を受けました。
 このようなテクニックを惜しげも無く公開してくださったnsawaさんに感謝致します。

 こういう風にmmcFile系関数を使ってもらえると、P/ECEのpceFile系API互換で作った甲斐があるってもんです(^^ なんか嬉しいなぁ。

 ちなみにこの日記も、nsawaさんのようにドラクエIIを聴きながら書いてます(^^ NSFの音はちょっと小さいので、P/ECEに自作のUSB電源スピーカーをつなげて聴いています。
 ああ、なんか幸せ(^^

 というわけで、今日はおしまい。
 それでは、おやすみなさーい。

1109
2004/10/27()
 今日は特に進まず(- -;
 今日も仮称エスパーな仕事をがんばってやって、遅く帰りとく何もすることなく寝ました。

 っていうか、一応家に帰ってからP/ECEネタの勉強をしていたのですが、この勉強もなかなか難しく、昨日まではとんとん拍子に進んできた感がありますが、ここからがまた大変で、よく考えずにとりあえず作って行ったはいいが、やっぱり無理とかになったらいやなので、じっくり予定を考えてから作ることにしました。

 でも、考えるだけでなにもプログラムが進まないのはちょっと欲求不満な感じがします(笑)
 はやくやること決めてすすめたいなぁ。

 というわけで、今日はおしまい。
 それでは、おやすみなさーい。

1108
2004/10/26()
 早速の反応ありがとうございます
 今日は1日の半分くらい打ち合わせしていた感じでした。
 仮称エスパーな仕事は、目標と違うところがちょっと進んだ感じかな(^^;

 で、題名のお話ですが、昨日の日記で、nsawaさんにNSFプレイヤーのMMC対応を信じてみたところ(笑)、早速本日、MMC対応NSFプレイヤーが公開されていました。

 素晴らしい反応の早さです。すごい。MMC対応ありがとうございますm(-_-)m
 これで、出張のお供にNSFとSPCを持っていけます。もちろんMP3も(^^

 昨日もSPCプレイヤーで、グラディウスIIIを聴いて感動してました(T^T
 ZIP圧縮に対応しているとのことで、早速DLしてきたSPCファイルをZIPで圧縮してMMCに放り込んだのですが、MMC上でのZIPには対応していないのですね(^^; 早合点してしまいました。

 nsawaさんのおっしゃる通り、MMC上のロングファイル名に対応した方が何かと便利ですよねぇ。Windowsのファイルをそのままコピーするだけだから、SPCファイルとか楽に扱えていいですね。
 ロングファイル名は一応資料はあるので、対応は可能なぁ。小文字フラグがよく判りませんが(^^;
 
 で、今日はDirectXのお勉強のつづきをやっておしまい。
 ちょっとだけだけど、先に進めて良い感じです(^^
 
 それでは、おやすみなさーい。

1107
2004/10/25()
 MMC対応カーネルVer.1.24公開です(っていうかバグ修正です)
 今日は、仮称エスパーな仕事をある程度進めはしたものの、なんとなくやる気がでなかったので、早めに帰ってきました。

 なんていうか、やる気がでないっていうか、P/ECEのことで頭がいっぱいで、仕事が手につかなくなりそうだったので(^^;
 でも、ちゃんと今日予定していた作業は完遂したので、良いかな?

 で、家に帰ってからはP/ECEネタの妄想(笑)
 今日はnsawaさんがSPCプレイヤーを期待通りMMC対応にしてくださったようです。
 私も密かに…… いや、かなり期待しておりました(^^ nsawaさんならきっとMMC対応にしてくれると信じていましたよ。
 
 ついでに、NSFプレイヤーもMMC対応にしてくださったりなんかしちゃったりしてくれたら、もう言うこと無しかも(^^; なんて信じてみるテスト。

 NSFプレイヤーは私も作りたいアプリのひとつなのですが、まだ資料不足って言うか、出来れば音源のハードから自作したい野望を持っているので、取り掛かるのは数年先かなぁ(- -;

 とかなんとか書いているうちに、nsawaさんがMMC対応カーネルについてこんなレポートを公開してくださっていました。
 
 さすがnsawaさん。細かいところまでよく追求していますね。感服いたします。
 そして、自分の詰めの甘さに、反省。

 元々8x16半角フォントと4x6半角フォントが連続した位置に配置されていなかったので、これは何か意味があるものかと、手前に配置した10x10全角フォントのサイズも確かめずに適当にずらして、特に問題なく表示されたからいいやとそのままにしてしまったのがダメですね。確認が足りませんでした。申し訳ございません。以後気を付けます。
 なんかレポートを読んでいると、ここまで気付かなかった自分が恥ずかしい限りですが、即日対応ということで、ご勘弁をm(-_-)m

 というわけで、サポートページで不具合修正版 MMC対応カーネルVer.1.24を公開しました。
 Ver.1.23以前のものは10x10の全角フォントの後半が崩れているので、MMC対応カーネルをお使いの方は、アップデートをお願い致します。
 
 今日は昨日のDirectXのお勉強の続きをやろうと思っていましたが、MMC対応カーネルの不具合対応で時間が来てしまいました(^^;
 でも、こうやって皆様のご協力を得て、MMC対応カーネルが安定していくのは嬉しい限りでございます。
 ありがとうございます。今後も何卒よろしくお願い致しますm(-_-)m

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