forum speccy.pl

ZX Spectrum => HARDWARE => Wątek zaczęty przez: steev w 2022.02.05, 10:39:19

Tytuł: ULA internals
Wiadomość wysłana przez: steev w 2022.02.05, 10:39:19
Gdyby ktoś chciał zerknąć lub potrzebował skorzystać :
podstawowe sygnały wewnątrz ULA, emulowane ze źródła z OpenCores.
Cały stuff związany z contended memoty został z rozmysłem zignorowany :)
Przy 'odczycie' danych z VRAM, na szynę danych podawane jest {va[8],va[6:0]}^8'h0f
Tytuł: Odp: ULA internals
Wiadomość wysłana przez: KWF w 2022.02.05, 16:57:08
Fajne :) i dzięki.

W tych źródłach są dwa drobne błędy przy generowaniu /INT:
// INT generation
reg INT_n = 1;
assign msk_int_n = INT_n;
always @(negedge clk7) begin
if (`cyclestart(vc,248) && `cyclestart(hc,0))
INT_n <= 0;
else if (`cyclestart(vc,248) && `cycleend(hc,31))
INT_n <= 1;
end

Poprawnie ustawione liczniki:
// INT generation
reg INT_n = 1;
assign msk_int_n = INT_n;
always @(negedge clk7) begin
if (`cyclestart(vc,248) && `cyclestart(hc,2))
INT_n <= 0;
else if (`cyclestart(vc,248) && `cycleend(hc,65))
INT_n <= 1;
end
Tytuł: Odp: ULA internals
Wiadomość wysłana przez: steev w 2022.02.05, 20:39:31
I weź tu zaufaj źródłom, do których wszyscy się odnoszą ;)
Dzięki.
Przebiegi z 32T przerwaniem w załączniku.