From 51f9d7849fb0eae566ccb6f63519e7b827d6495e Mon Sep 17 00:00:00 2001 From: Jens Ahrensfeld Date: Sun, 22 Nov 2009 15:10:50 +0000 Subject: [PATCH] - corrected blit NX which has to be divided by 2 Committed on the Free edition of March Hare Software CVSNT Server. Upgrade to CVS Suite for more features and support: http://march-hare.com/cvsnt/ git-svn-id: http://moon:8086/svn/vhdl/trunk@673 cc03376c-175c-47c8-b038-4cd826a8556b --- lib/VGA_ctrl/src/vga_frontend64.vhd | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) 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" =>