Стоит озвучить такой момент - насколько я понял, из-за асинхронности проца и AY иногда возникают звуковые артефакты. Степень их заметности разная в разных прогах - где-то незаметно, а где-то заметно. При разных частотах AY (полученных и фазовым аккумулятором и PLLем) выраженность артефактов разная.
Пока два лучших результата (по отсутствию артефактов) при 12 МГц (ce12, т.е. базовые 24 деленные пополам) и 14,4 МГц (получил PPLем, фазовым аккумулятором эту частоту не пробовал).
---------- Post added at 21:05 ---------- Previous post was at 21:03 ----------
Само собой, что при 12 МГц звук низковат, зато частота кратная.
---------- Post added at 22:02 ---------- Previous post was at 21:05 ----------
В итоге переделал так:
Код:
reg [3:0] aycectr;
always @(posedge clk24)
if (aycectr<14) aycectr <= aycectr + 1'd1;
else aycectr <= 0;
ayglue shrieker(
.clk(clk24),
.ce(aycectr == 0),
...
Звуковых артефактов нет, с супер-турбой дружит, лишний клок не нужен - я у себя так и оставлю.
Еще бы понять, почему YM2149_linmix.vhd работает, а YM2149_volmix.vhd (с vol_table_array.vhd) нет. Это касается и оригинала и всех других перепробованных вариантов.