Closed zendar closed 1 year ago
Probable cause is this section of sprite.vhdl:
-- Stop drawing sprites in right fly-back, to prevent glitches with
-- horizontally tiled sprites.
-- (but allow non-tiled sprites to wrap around into left border, as on the
-- C64.)
if (sprite_h640='0') and (x_in > 416) and (sprite_horizontal_tile_enable='1') then
x_in_sprite <= '0';
end if;
if (sprite_h640='1') and (x_in > 832) and (sprite_horizontal_tile_enable='1') then
x_in_sprite <= '0';
end if;
Can someone please confirm if the problem exists in both 40 column and 80 column mode? Also, if someone can please produce a minimum failing test in mega65-tools/src/tests/ that uses the VIC-IV pixel-read-back to confirm if it is happening or not in an automatic way, this will help regression testing.
Problem is not that the sprites stop one pixel early, but something else stranger, as the VIC-IV pixel colour read-back thing can't read the values. Also note that it is only on every second raster. I'm suspecting that the sprites might stop rendering 2/3 of a pixel early at this stage. Currently investigating.
Describe the bug When using 200px high, tiled sprite, the rightmost pixel-column is visible indepent of what Xpos of sprite is. The column is so thin it looks like a 1pixel column of 640px wide mode, even though I am running program in 320x200 mode.
Using sprite setup:
To Reproduce Steps to reproduce the behavior:
Expected behavior Tiled sprite is expected to cover whole screen from X-pos to right side of screen.
.