ビデオ回路とサウンド回路の合成その4
- m68000 から 053260 に送る sound command はデータバスの接続が間違っていたので直した。
- ある程度音は鳴るような気がしたが、やはり割り込みがあやしい...
- いろいろやってみたが詰まってしまったので、 Z80 のデータシートを確認。INT の後に M1 と IORQ が下がるタイミングが割り込みを受け付けたお知らせ。
- 既存の回路図を眺めてみるとそこには INT を直結せずに IORQ を見張っている回路が...!
ということで割り込みを下記に直した。
reg Int; always @(negedge reset or posedge clock) begin if(reset == 1'b0) begin Int <= 1'b1; end else if(cke && sound_int == 1'b1) begin Int <= 1'b0; end else if(cke && iorq == 1'b0) begin Int <= 1'b1; end end
そうすることで音はちゃんとなり始め、ひとまず完成ということにあいなった。細部で問題があるんでそれはまた後日。
というわけで五右衛門のほうにいろいろフィードバックや実験したり、ROM のスリム化ツールなどを作ってもうちょっと。今言えることは、なんで五右衛門の時は動いていたのだろうかということ。