ひとしれずひっそり

主にソフトに関することをメモしていきます。過程をそのまま書いていたりするので間違いが含まれます。鵜呑みしない様に。

r8080でゲーム機のエミュレート 3

キャラクターデータが繰り返しノイズの様に表示される現象が解決した。

CPI命令の処理が間違っていたのが原因だ。
CPI命令は次の1バイトとAレジスタを比較するが、次の2バイトが指し示すデータメモリーと比較していた。
2バイト命令を3バイト命令として扱っていたのでちゃんと動くはずがない。

TK-80では問題が出ていなかったが、改めてモニタープログラムを確認するとCPI命令は使っていなかったので、問題が見過ごされていた事になる。

という事でここまで表示される様になった。

この後デモ画面が表示されるのだが、ここはうまくいっていない。
インベーダーが全く表示されていないし左のシェルターが消えたり自機が右にしか進まない。
まあ、I/Oの実装がまだなのでそこら辺との関係だろうと思っている。