I’ve spent last night, and some of today battling a collision bug. The problem was with random position I was generating. I was generating random positions based on 512 instead of 256 (‘<< 6’ versus ‘<<5’). On the SNES, the sprites just wrap around the screen, but the coordinates don’t match for collision detection. The thing that made it harder to track down is that collision detected worked correctly for half of the sprite, but there wasn’t a visible pattern.
Here’s the 2nd interactive demo:

The demo is available on the RasterSoft website.