diff --git a/rtl/apple1_mist.sv b/rtl/apple1_mist.sv index 9c174ae..be6786b 100644 --- a/rtl/apple1_mist.sv +++ b/rtl/apple1_mist.sv @@ -11,17 +11,14 @@ // TODO ram powerup initial values // TODO reorganize file structure // TODO ACI: wav tools -// TODO ACI: audio monitor menu option -// TODO more accurate chip selection circuit +// TODO A-F chip selection banks? // TODO check diff with updated data_io.v and other modules // TODO why F5 (reset) can't be pressed twice // TODO keyboard: use a PIA // TODO keyboard: isolate ps2 keyboard from apple1 // TODO keyboard: check ps2 clock // TODO keyboard: make a true ascii keyboard -// TODO keyboard: check backspace key // TODO osd menu yellow, why it doesn't work? -// TODO display: remove char_seen // TODO display: check NTSC AD724 hsync problem // TODO display: powerup values // TODO display: simplify rom font diff --git a/rtl/display.v b/rtl/display.v index 538f9a4..e0b6a5f 100644 --- a/rtl/display.v +++ b/rtl/display.v @@ -66,14 +66,9 @@ module display ( wire [4:0] font_line; wire font_out; - // cpu control registers - reg char_seen; - // active region strobes wire h_active = (h_cnt >= hbp && h_cnt < hfp); - wire v_active = (v_cnt >= vbp && v_cnt < vfp); - - + wire v_active = (v_cnt >= vbp && v_cnt < vfp); // horizontal and vertical counters always @(posedge sys_clock or posedge reset) begin @@ -207,8 +202,7 @@ module display ( begin if (reset) begin h_cursor <= 6'd0; - v_cursor <= 5'd0; - char_seen <= 'b0; + v_cursor <= 5'd0; vram_start_addr <= 5'd0; vram_end_addr <= 5'd24; ready <= 0; @@ -250,10 +244,9 @@ module display ( if (address == 1'b0) // address low == TX register begin - if (cpu_clken & w_en /*& ~char_seen*/ & ready) + if (cpu_clken & w_en & ready) begin - // incoming character - char_seen <= 1; + // incoming character ready <= 0; case(din) @@ -279,9 +272,7 @@ module display ( h_cursor <= h_cursor + 1; end endcase - end - else if(~cpu_clken & ~w_en) - char_seen <= 0; + end end else begin