-- Write into RAM
vram_wraddress_sig <= A - x"2000";
vram_wren_sig <= (not Wr_n) or (not MReq_n) when A >= x"2000";
vram_data_sig <= DO_CPU when Wr_n = '0' and MReq_n = '0' and A >= x"2000";
-- Read from RAM
vram_rden_sig <= '1';
vram_rdaddress_sig <= A - x"2000";
DI_CPU <= vram_q_sig when (Rd_n = '0' and MReq_n = '0' and A >= x"2000") else
D_ROM when (Rd_n = '0' and MReq_n = '0');
vram8k_inst : work.vram8k PORT MAP (
data => vram_data_sig,
rdaddress => vram_rdaddress_sig(12 downto 0),
rdclock => Clk_Z80,
rden => vram_rden_sig,
wraddress => vram_wraddress_sig(12 downto 0),
wrclock => Clk_Z80,
wren => vram_wren_sig,
q => vram_q_sig
);