ファミコンのプログラム2at GAMEDEV
ファミコンのプログラム2 - 暇つぶし2ch225:222
06/03/06 13:04:12 LoDqGF2/
リセットとか考え理由なんですが、ドラクエ3では、バンク切替えの為0xFFFFに書き込む処理(0xFFC2)を呼び出す場所が、
NMIルーチンとメインルーチンでそれぞれにあるのですが、mmc1レジスタを(0x80を書き込んで)リセットしてるようすがないのです。
URLリンク(emu-docs.org)
などでは、mmc1は5回書き込むと反映されると書いてあり、ドラクエ3のロムの場合、通常は5回づつ連続して書き込んでいるため問題ないのですが、
NMI外で0xFFFFに書き込んでいる途中でNMIが発生する場合があり、その場合はリセットしなくてはおかしくなるはずですよね?
(gnesのデバッガでみると、この場合もNMI後にはリセット無しで新しく5回カウントしてるようです。)
エミュを自作中なんですが、いつもこの部分で挙動がおかしくなるので困っています。
んでincでもリセットさせたら動くようになったので、もしや>>222のようなことなのかと思ったしだいですが、やっぱり初耳ですか。
じゃ、どこでリセットしてるんだろ。種類の違うレジスタに書き込むとリセットするとかあるんでしょうか。


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch