実機に合わせてレーザーIRQのNOPを調整。
画面右端にいて横8dotしかレーザーがない状態にしても、どこかにレーザーが出るタイミングがある。しかも、なぜかXのスクロール値に依存した場所に出てる気がする。
スクロールタイミングとIRQの同期が取れてないのか、何か別の原因か。
MESENのEvent Viewer、めちゃくちゃ便利。画面上のどのタイミングでどのレジスタに何を書いたかがビジュアル的に確認できる。
レーザーに書き換えるタイミングがVBlankの前にあったので、nopを足す必要があったようだ。
ひとまず、これでタイミングを取ることでエミュ上の挙動は安定したが、ラインが1ドット上にずれることが分かった。どこで治すかは簡単には見つけられなかったけどこれが実機でもうまく動くなら色々解決できそう
ただ、バンク指定がMesenでも40だと動かなかったので、どうもエバードライブの方がおかしいっぽい。何が正しいかちゃんと調べないと…
あと、スクロール速度を落としたら、メインスクロール側がぼけたのと、多重スクロール側がタイミングによってぼけてちらつくようになった。テレビの性質だと思うけど、昔SFCの時も悩まされた奴だ。
市販ゲームで目立たないのはなぜなんだろう?