「グラ2開発期間(別名MIT祭)」に突入している。
5,6,7 面に空中戦を接続した。いまのマップサイズでは,7面が入りきらない。7面のファイルサイズだけ大きいままにしておき, GRA2 でそのサイズだけ読むようにして対処した。
なぜか7面の曲が5面のになっていた。
3秒待つつもりで以下のようなループを書く。
moveq #165,d0 * 1/55 [sec] * 165 = 3 [sec]
loop: 垂直帰線期間を待つ
垂直表示期間を待つ
dbra d0,loop
するとどうなるか。
[答]永劫にも等しい時間を待たされる。
それはなぜか。
moveq #165,d0 によって, d0 に -25h つまり,FFFFFFDBh が代入されるからである。すなわち,165 は signed byte 値であり,-37 = -25h を意味するからだ。2進数で書けば, 10100101 であり,符号ビットである最上位ビットが32ビットまで拡張され,d0.lには
11111111111111111111111111011011b = FFFFFFDBh
が代入されるのである。moveq のオペレーションサイズは,デフォルトでロングワードである。すなわち,moveq.l ,レジスタの全32ビットに対するオペレーションなのであった。
dbra のオペレーションサイズはワードなので,答の正確な時間は, FFDBh / 55 = 1190 [sec] = 19 [min] である。ゲーム中ではこれは永遠と等しい。
文章に実験の影響が出てる。
3:36
ゲームオーバーになると,オープニングデモになるようにした。
真夜中のプログラマ
バグが,俺を糾弾する。
「お前はダメなやつなんだ」
俺はバグを殺しにかかる。
「ちがう! 俺は偉大なんだ!」
バグは死なず,俺をあざ笑う。
「お前には生きている価値がない」
俺の自己像は悪化の一途をたどり
胃壁を徐々に溶解させる。
焦げつくようなアセンブル時間
砂嵐のTV
リンクが終了する。
神さま,どうかお願いだ
幾度も出刃でメッタ刺しにして,ようやくバグは死ぬ。
勝利の歓喜も達成感もない。
1匹のバグが死ぬたびに
俺のどこかも死んでいく。
4:19
レーザーハッチから発射されるレーザーの速度を2倍にした。しかし,消去速度は元のままだ。けっこういいと思う。
4面の空中戦で出てくる大量の氷塊群はとてもかっこいい。
なんか最近ゲーム性がでてきていい。
コメントを残す