Repo

kjana00@gmail.com

older <-

2009-05-29 01:17:31

今朝はくもり。朝ごはんはパンとソーセージとゆでたまごとサラダ。妙に風が強い上に不穏だわ、からすの人達がやたらと目につくわで何だかあれ。雨が降りそう……っていうかぽつぽつ来てたけど、どうやら傘がいらないうちに仕事場に到着。

宿題片付けないとねということで調べものをしばし。デバッグモニタからのコマンド入力を受けて返事を出力しようと。昨日で内側にメッセージを渡す直前までやっておいたから、メッセージを渡す関数を呼び出してやって返事を受け取る……にはどうしようかね、と。

エミュレータのコードそのままだと外部のプロセスに丸投げしちゃうんで使えない。自分が書いたわけじゃない部分のコードには一切手を入れたくない状況。結局こっちもラッパーに #include して関数をオーバーライドしてみた。ってまあ、#define func func_orig なんてして #include しておいて、func() { process(); return func_orig() } ってな感じのことをしただけ。process() の内容をどうしようかっていうのは、コマンド応答なんだからそんなに頻度ないよねっていうことでコンソールに printf() する感じにしてしまった。元はどうするか決める前のデバッグ出力のつもりだったけど、実際のところこれで実用的に全然困らないよなと。そんな仕様でどうでしょうとメールで打診して OK ももらったことだし。

で、次。再スタートがうまくいかないのはそれとして、止めないでスリープの後ちゃんと起きるのかなというとどうやら起きてない。まずはそこからか。とりあえず落ちはしないっていう辺りはちょっと安心。busy wait loop を抜けるために本来割り込みで書き換わるフラグを強制でオンにしてるのはとりあえずこの時点で問題にならないはず、と。エミュレータでは割り込み代わりに別スレッドから関数呼び出ししてその中で書き換えてるわけだけど、この関数を呼び出してやる必要があるのかな。最終的に main() を呼び出す。でも本来の環境だとこの main() はハードウェアの初期化とタスクの登録をして終わるような関数で、エミュレータ用の環境でも危ない関数呼び出しだのインラインアセンブラだのが無効になるだけで同じようなことをするらしい。呼んで平気なはず。

ん、起きた、けど二度目のスリープへのシーケンスが動いてない? ってことでしばらく悩んだけど、実は入力の関係で起きるのが三度になってるというだけだったのが後で発覚したり。無駄に悩んだ……そりゃ最後がスリープ状態で終わらないわ。三度は寝かしつけてないんだから。更に呼び出してる関数の中身を見てて、停止後の再スタートが上手くいかない理由も見当がついた。何のことはない、static 変数が初期化されてないから初期化部分を通らないのね。開始のコールバックで内側の初期化前に変数一つ 0 にしたら動くようになった。良し、良し。

ちょっと現実逃避気味に変数の初期値を揃えたファイルを作るっていう方にも手を出す。昨日ほぼ終わらせてたのを完成させるだけ、と。拾えてないのは明白に配列の一部っていうのがわかる変数なんで、別に配列に拾って最後に出力させるようにして出来上がり。最初はソートしなきゃいけないかなんて思ってたけど、番号そのまま使えるんだからそのまま使えばいいやんな。で、この 160 ほど要素数のある配列を行ベクタでファイルに持ってるとどう考えてもファイルが扱い難いし読むのにも鬱陶しいんで列ベクタで持つように変えることにする。そのための修正がそこそこ波及。その上ものはついでにでこの辺りのワークスペースから値を取り込む変数だのまとめたデバッグ出力変数だの関係をがちゃがちゃいじり始めてみたり。うーん、現実逃避も甚しい。

今のフォーマットだと勤勉にコピーしたコードを並べてあるところをテーブルベースできれいに出来るなっていうのに気付きつつ時間切れで今日は終了。何か変化あると駄目になる上に変化がある可能性はそれなりに高い気がして萎えるわけだけど、一覧表を作るのにこの辺りは手書きっていうことにするというのもそれはそれでとても嫌なわけで。何でもっと機械的に扱えるようにしてくれないかな……

すっかり雨は上がった、けどまだ天気は悪いっぽい中帰宅。晩ごはんは五目寿司ととろろ昆布のつゆ。とろろ昆布に乾燥わかめを振り掛けてみて、もう二度とやらないと後悔してみようかと思ったんだけど案外悪くなかった。まあ無茶しなければそう悪くなるはずがない組み合わせではあるか。五目寿司が普通においしい。ちょっと重ったるいけど。

WWW 見てゲームして安定してるけど先に進むには装備が厳しいという状況が全然改善されなくて困って。武器が弱いんだよね……混沌の武器だからドレインと混乱があるおかげでそれなりに危なげなく動けてるけど、オーク相手でも二、三手いるっていうのはちょっと強い敵に囲まれたら死ねるわけで。

older <-

goto

hint can be:

Tags

old

2007-05 -- 2006-12

ゲーム関係の古い記録

before 2005-12