1
0
mirror of https://github.com/UzixLS/zx-sizif-512.git synced 2025-07-19 15:22:29 +03:00

fix compatibility with some BDI addons (2f83604f)

This commit is contained in:
Eugene Lozovoy
2024-07-21 11:46:48 +03:00
parent acf91dc44e
commit 65fd72129e
2 changed files with 16 additions and 16 deletions

View File

@ -10,7 +10,7 @@ module ports(
output d_out_active,
input machine_t machine,
input basic48_paged,
input trdos,
input port_ff_active,
input [7:0] port_ff_data,
input [4:0] kd,
@ -35,18 +35,6 @@ module ports(
/* PORT #FF */
reg trdos;
always @(posedge clk28 or negedge rst_n) begin
if (!rst_n) begin
trdos <= 0;
end
else begin
if (bus.mreq_rise && bus.m1 && bus.a[15:8] == 8'h3D && basic48_paged)
trdos <= 1'b1;
else if (bus.mreq_rise && bus.m1 && (bus.a[15] == 1'b1 || bus.a[14] == 1'b1))
trdos <= 0;
end
end
reg port_ff_rd;
always @(posedge clk28 or negedge rst_n) begin
if (!rst_n)
@ -168,7 +156,7 @@ always @(posedge clk28 or negedge rst_n) begin
if (!rst_n)
kempston_rd <= 0;
else
kempston_rd <= en_kempston && bus.ioreq && bus.rd && bus.a[5:0] == 6'h1F;
kempston_rd <= en_kempston && !trdos && bus.ioreq && bus.rd && bus.a[5:0] == 6'h1F;
end

View File

@ -162,6 +162,18 @@ always @(posedge clk28 or negedge usrrst_n) begin
end
/* TR-DOS detection */
reg trdos;
always @(posedge clk28 or negedge rst_n) begin
if (!rst_n)
trdos <= 0;
else if (bus.mreq_rise && bus.m1 && (bus.a[15] == 1'b1 || bus.a[14] == 1'b1))
trdos <= 0;
else if (bus.mreq_rise && bus.m1 && bus.a[15:8] == 8'h3D && basic48_paged)
trdos <= 1'b1;
end
/* VIDEO CONTROLLER */
wire [2:0] r0, g0;
wire [1:0] b0;
@ -447,7 +459,7 @@ ports ports0 (
.en_sinclair(joy_sinclair),
.machine(machine),
.basic48_paged(basic48_paged),
.trdos(trdos),
.port_ff_active(port_ff_active),
.port_ff_data(port_ff_data),
.kd(kd & ps2_kd),
@ -494,7 +506,7 @@ soundrive soundrive0(
.clk28(clk28),
.en_covox(covox_en),
.en_specdrum(covox_en),
.en_soundrive(soundrive_en),
.en_soundrive(soundrive_en && !trdos),
.bus(bus),