https://sites.google.com/site/yugenkaisyanico/diy-fc-cartridge
数か月ぶりに自作ファミコンカートリッジのサンプルプログラムの不具合を修正しました。
↑
正常に動くと、こんな感じですが、、、。
その後、ファミコン本体のリセットボタンを押すと、こんな感じに表示が化けてしまいました。これはPPUが動作中にパターンテーブルを書き換えようとして、書き換えに失敗するという現象です。
対策としては、
(1)VBlankが発生するまで待つ。
(2)スプライトとBGの表示をオフにする。
という処理を電源投入直後に追加しました。こうすれば、安全にパターンテーブルを書き換えることができます。
この不具合は実機だけで発生するので、発見が遅れてしまいました。修正版のプログラムはすでに公開済みです。