From 8aea039b7804e405aa1051b394d9e634ac9f369a Mon Sep 17 00:00:00 2001 From: "astoria-d@fc" Date: Wed, 5 Oct 2016 13:15:04 +0900 Subject: [PATCH] sprite vram bug fixed. --- de0_cv_nes/ppu/render.vhd | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/de0_cv_nes/ppu/render.vhd b/de0_cv_nes/ppu/render.vhd index 49c1850..68085df 100644 --- a/de0_cv_nes/ppu/render.vhd +++ b/de0_cv_nes/ppu/render.vhd @@ -470,7 +470,13 @@ begin end if; when AD_SET3 => if (is_v_access(pi_ppu_mask(PPUSBG), pi_ppu_mask(PPUSSP), reg_nes_x, reg_nes_y) = 1) then - reg_v_next_state <= REG_SET0; + if (reg_nes_x = HSCAN and reg_prf_x mod 2 /= reg_nes_x mod 2) then + --scroll reg is odd case. + --reset for sprite. + reg_v_next_state <= AD_SET0; + else + reg_v_next_state <= REG_SET0; + end if; else reg_v_next_state <= IDLE; end if; -- 2.11.0