diff --git a/lib/VGA_ctrl/src/vga_frontend64.vhd b/lib/VGA_ctrl/src/vga_frontend64.vhd index cd33c3f..04e999b 100644 --- a/lib/VGA_ctrl/src/vga_frontend64.vhd +++ b/lib/VGA_ctrl/src/vga_frontend64.vhd @@ -138,6 +138,7 @@ architecture Behavioral of vga_frontend64 is signal blit_dimx_src_0 : unsigned(31 downto 0); signal blit_dimx_src_1 : unsigned(31 downto 0); signal blit_dimx_dst : unsigned(31 downto 0); + signal host_blit_nx : unsigned(31 downto 0); signal blit_nx : unsigned(31 downto 0); signal blit_ny : unsigned(31 downto 0); signal blit_func_sel : unsigned(3 downto 0); @@ -771,7 +772,7 @@ registers_read: -- sys_blit_nx 56 when "1110" => - SDAT_O <= blit_nx; + SDAT_O <= host_blit_nx; -- sys_blit_ny 60 when "1111" => @@ -842,40 +843,41 @@ registers_write: -- sys_vga_fb_front 24 when "0110" => - host_fb_front <= SDAT_I(31 downto 2) & "00"; + host_fb_front <= SDAT_I(31 downto 3) & "000"; -- sys_vga_fb_back 28 when "0111" => bufchg_flag_ack <= '1'; - host_fb_back <= SDAT_I(31 downto 2) & "00"; + host_fb_back <= SDAT_I(31 downto 3) & "000"; -- sys_blit_addr_src_0 32 when "1000" => - blit_addr_src_0 <= SDAT_I; + blit_addr_src_0 <= SDAT_I(31 downto 3) & "000"; -- sys_blit_addr_src_1 36 when "1001" => - blit_addr_src_1 <= SDAT_I; + blit_addr_src_1 <= SDAT_I(31 downto 3) & "000"; -- sys_blit_addr_dst 40 when "1010" => - blit_addr_dst <= SDAT_I; + blit_addr_dst <= SDAT_I(31 downto 3) & "000"; -- sys_blit_dimx_src_0 44 when "1011" => - blit_dimx_src_0 <= SDAT_I; + blit_dimx_src_0 <= SDAT_I(31 downto 3) & "000"; -- sys_blit_dimx_src_1 48 when "1100" => - blit_dimx_src_1 <= SDAT_I; + blit_dimx_src_1 <= SDAT_I(31 downto 3) & "000"; -- sys_blit_dimx_dst 52 when "1101" => - blit_dimx_dst <= SDAT_I; + blit_dimx_dst <= SDAT_I(31 downto 3) & "000"; -- sys_blit_nx 56 when "1110" => - blit_nx <= SDAT_I; + host_blit_nx <= SDAT_I; + blit_nx <= '0' & SDAT_I(31 downto 1); -- sys_blit_ny 60 when "1111" =>