Repo

kjana00@gmail.com

older <-

2009-09-15 00:26:38

今朝は晴れ。朝ごはんはパンとサラダとベーコンエッグ。皿に移す時にちょっと黄身を潰してしまった。洗うのが面倒になるじゃないか……と思いつつパンで拭ったり。何か昨日からずっとわけもなく背筋が痛む。何か、最近そんなことばっかり言ってる気がする。運動不足も甚しい?

旧版でも新版でも微妙に入力でおかしなところがあるというのを追求する気になって調べる。ここで何故か 0 になる、と。外から皮を通るところまでは別段問題無い。っていうか単発で見てるだけだと問題は全然無い。割合定期的に入ってるから、定期的に動いてる何かの影響なんだよなとあちこちでデバッグ出力をしてみたり。

結果。皮を通った後、中身で信号をチェックしてる辺りで 0 にされてるのを見つける。本当の信号を使わないで直接中身の変数を書き換えてる部分だったから、本来の信号は LO のままだった。で、パルス信号を受け取ることになってるもんだから、中身はずっと LO か HI に貼り付いてると何か故障したもんだと思って入力を上書きする。どうしようか迷った末に、チェックで比較対象にしてる過去の信号の方を書き換えることで誤魔化してみた。入力の方を誤魔化そうとすると、何か余分にカウンタでも仕込まないと無理だったんで。これでここで 0 になるのは防げた……けど、まだ何かあるな。

何があるんだとそのまま追求。しばらく直したところが直ってないのを疑ってたけどそんなことは無かった、というのでデバッグ出力を色々動かしてみたら、結局信号出力の時に使ってる関数のせいで内部変数が上書きされてるっていうのが発覚。元のエミュレータの方では自前でフィードバックの信号を作らなきゃならないからこうなってたわけだけど、外から信号を喰わせるようになってるこっちの仕様と相容れない。うーん。エミュレータコードに乗っかるっていう決断を後悔する一時。結局また #define で別名を付けてオーバーライドしてみた。今度こそ、入力が 0 にならなくなった……定数入力にしてるから、0 になるわけがなかってん。

ほっとしたところで出力の方も確かめる気になって、そうしたら出力が出てなくて……で、こっちは入力が悪かっただけだったんで 0 を 8 にしてやって解決、し切らなかったり。途中でちょっとだけ問題が。何だ、これ? スリープ状態から起きる時っぽいのを確認してからしばらく悩んでみて、要するに初期化が足らないという結論。皮の方の static 変数を初期化してないんでまともに引っ掛かってるだけ。皮だけの問題だから、中身の動作には無関係。それで起動の時のシーケンスも見直して起きる時のシーケンスを統合してみた。初期化はそこでやって大丈夫だから。……ん、これでこの周辺は全部直ったかな。

……というのを旧版のコードでやったんで、新版のコードにも反映させておく。ああ、ブランチ切った後のコードが結構乖離してるからそこそこ面倒臭い……まだ大丈夫だけど、もうちょっと何かすることになるようだとえらいことになりそうな。まあとりあえず反映。それで確認……出力の方が確認出来ず。こっちも入力が悪いのかな? 悪いんだな……ということで直してみてもまだ駄目。何だこれってしばらく調べて結局出力選択のスイッチの問題というのに気付く。キャリブレーション変数の範囲だからと設定してみても効かなくて一瞬焦ったけど、行ベクトルじゃなくて列ベクトルで設定しなきゃいけないんだったというのを思い出してほっとした。うん、何か出て来た。

入出力の変更ってここしばらく無いよなっていうのを確認したり、コードの方が正しいのを見直したり、ちょっとコードに更新が入ってた分を反映したり。やっぱりこっちの系統にはこの条件入らないなんてこと、無いわな。そんな感じで終了。

帰って晩ごはんに冷奴と豚汁うどん。干し椎茸がもう無いっていうのを忘れてたのがちょっと痛い。でもまあにんじんと大根と豚だけでも大丈夫は大丈夫なもので。不足分を埋める気で大根をちょっと増やしたら増やし過ぎたような。

後は WWW とゲームな感じで。変わったことをしてこないユニークモンスターは単なるかもでおいしい、と言えるのは攻撃力を確保出来てるから。

older <-

goto

hint can be:

Tags

old

2007-05 -- 2006-12

ゲーム関係の古い記録

before 2005-12