summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2016-11-12 18:36:54 (GMT)
committerH. Peter Anvin <hpa@zytor.com>2016-11-12 18:36:54 (GMT)
commiteabfba9996f77f63e3934725ac67f169d2ac8038 (patch)
tree9ae45ac7181fc005d41b811f695c6be4f3b889a3
parent7808cfffc1fb571a5dfea6bed502dad890d076fc (diff)
downloadabc80-eabfba9996f77f63e3934725ac67f169d2ac8038.zip
abc80-eabfba9996f77f63e3934725ac67f169d2ac8038.tar.gz
abc80-eabfba9996f77f63e3934725ac67f169d2ac8038.tar.bz2
abc80-eabfba9996f77f63e3934725ac67f169d2ac8038.tar.xz
OUT 7 needs a strobe just like intio_sel
OUT 7 is functionally part of intio; treat it as such Signed-off-by: H. Peter Anvin <hpa@zytor.com>
-rw-r--r--abc80.v6
1 files changed, 4 insertions, 2 deletions
diff --git a/abc80.v b/abc80.v
index f9218ca..d79c66d 100644
--- a/abc80.v
+++ b/abc80.v
@@ -1196,6 +1196,7 @@ module abc80 (
wire intio_sel; // Selected for access via I/O ports
reg [7:0] intio_do; // Data out from MMU I/O ports
reg intio_sel_q;
+ reg abc_out_7_q;
reg turbo_set;
reg nmi_dis;
@@ -1216,7 +1217,7 @@ module abc80 (
begin
if ( !rst_n )
begin
- mmu_mod_addr <= 8'b0;
+ mmu_mod_addr <= 11'b0;
mmu_mod_data <= 8'b0;
mmu_map <= 2'b0;
@@ -1247,6 +1248,7 @@ module abc80 (
else
begin
intio_sel_q <= intio_sel; // Make it a one-shot only
+ abc_out_7_q <= ~abc_out_n[7];
if ( ~intio_sel )
begin
@@ -1321,7 +1323,7 @@ module abc80 (
end
endcase // casez cpu_a[6:0] )
end // if ( intio_sel & ~cpu_wr_n )
- else if ( ~abc_out_n[7] )
+ else if ( ~abc_out_n[7] & ~abc_out_7_q )
begin
// For compatibility with Mikrodatorn's 64K hack
mmu_map <= cpu_do[1:0];