2019-08-01から1ヶ月間の記事一覧

vm2gol v2 製作メモ(37) 完成!

目次ページに戻る / 前 / 次 前回からの差分をまとめて見る はい、前回でとうとう 1回のターンが動くように……なってないんですねこれが。 1回のターンに必要な処理がもう1つ残ってます。 VRAM のバッファ領域に書き込んだ次世代の状態をメイン領域に戻す処理…

vm2gol v2 製作メモ(36) すべてのセルで繰り返し

目次ページに戻る / 前 / 次 前回からの差分をまとめて見る 前回までで、1つのセルについて 生存セル数をカウントして、 次世代の生死を決定して、 バッファ用の配列に書き込むところまでできました。 今回は、盤面のすべてのセルに対してそれを行うようにし…

vm2gol v2 製作メモ(35) 次世代の生死をバッファ領域に書き込み

目次ページに戻る / 前 / 次 前回からの差分をまとめて見る 周囲の生存セル数から次世代の生死を決定できるようになりました。 今回は、これを VRAM のバッファ領域に書き込む部分を作ります。 VRAM のメイン領域とバッファ領域は、アドレスが 25 ずれている…

vm2gol v2 製作メモ(34) 次世代の生死を決定

目次ページに戻る / 前 / 次 前回からの差分をまとめて見る もうだんだんライフゲームそのもののコーディングに移ってきたので、 cp 33_adjust_index_2.vgt.json gol.vgt.json として、以後はこの gol.vgt.json に対して修正を加えていきます。 座標補正がで…

vm2gol v2 製作メモ(33) 座標の補正 (2)

目次ページに戻る / 前 / 次 前回からの差分をまとめて見る 前回の座標補正の続き……の前に、 先に引っかかるところを潰しておきます。 codegen_return() でローカル変数を返そうとすると 参照の解決ができずにエラーになるので、修正。 --- a/vgcg.rb +++ b/…

vm2gol v2 製作メモ(32) 座標の補正

目次ページに戻る / 前 / 次 前回からの差分をまとめて見る これまでは、 その都度の目標に向けて適当に作り、バグや not yet impl で例外が出たら その都度潰していく、という進め方でやってきました。 そういう方針なので、それはそれでいいのですが、 同…