Monday 29 June 2015

Some Sprite Bug Fixes

Deft from MEGA did some testing on the MEGA65 recently and pinned down a pesky sprite colour bug that had been causing problems. Basically some sprites were appearing in a single solid colour that was not the right colour.  He worked out that all high-resolution, i.e., non-multi-colour, sprites were appearing in the sprite multi-colour colour 1, instead of the right colour.  You can see what goes wrong here:

With this very precise information I was able to make a quick patch to the VHDL code to fix the bug, resynthesise it, and send Deft the bitstream, which he confirmed on his board fixes the problem. So now it looks like:

At the same time I also made $D055 select whether to make sprites the normal 21 pixels high, or allow them to be a variable height (set via $D056), but this hasn't been tested yet.