ビデオ回路とサウンド回路の合成その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 のスリム化ツールなどを作ってもうちょっと。今言えることは、なんで五右衛門の時は動いていたのだろうかということ。