furrtek / Neogeo_MiSTer_old

SNK NeoGeo core for the MiSTer platform
GNU General Public License v2.0
52 stars 6 forks source link

Some sprites are cut off or not displayed at all #3

Closed furrtek closed 5 years ago

furrtek commented 5 years ago

See League Bowling lane, Puzzle Bobble backgrounds, many games with full-screen scrolling maps...

This was happening in simulation and was fixed by adding # delays in some cells. Can this be solved with timing constraints, or by using a 2x clock and additional registers ?

furrtek commented 5 years ago

Actually, this was NOT fixed. It was just never encountered because simulation was only done with a few games.

The glitch affects sprites with the special "infinite height" value of 33. This is the case of League Bowling's lane and background behind the how-to-play lady.

The sprite tilemap address highest bit (SPRITEMAP_ADDR_MSB) is inverted when it shouldn't. Tilemap indexes 16, 17, 18... are read instead of 0, 1, 2...

furrtek commented 5 years ago

Fixed in 8c46a32. Caused by verilog syntax misunderstanding :( Fix: assign SPR_Y_SHRINK = LO_LINE_A + {1'b0, ~YSHRINK};