guri3.dev
Published on

日記

2年ほど前に開発を始めて Hello World の画像を出力できるところまで実装していたCrystal製のファミコンエミュレータをまた触り始めた。

https://github.com/guri3/nes.cr

Hello World の ROM は画面の更新がないため、簡易的な実行結果の確認として描画される画面をPNG画像として出力していた。 他の ROM の実行に対応するためには早めにGUIのウィンドウとして画面を表示できるようにするのが良さそうだったので対応した。

GUIで動かしたい

使えそうなライブラリ等は以前調べていたのだけど、開発環境を Windows に変更したためその対応が若干必要だった。 必要なライブラリを導入した後は、以前画像出力していた部分をGUI出力に書き換えた。

後はこれからの開発がスムーズになるように開発環境の整備を行った。行った主な対応は以下。

  • 全くテストを書いていなかったので、標準ライブラリを用いたテストの書き方を調べてサンプルとなるテストを作成した
  • GitHub Actions を用いて CI を整備した
    • テストの実行
    • Ameba による静的解析
    • 現状で落ちてるコードの修正やルールの調整
  • Crystalline を導入して VS Code でコード補完等の援助を受けられるように設定

一通り整備を行ったので、気になるところをリファクタリングしつつ機能の追加を進めていく予定。