So the problem is that in Blitz2d, DrawBlockRect allowed negative offsets quite happily, but Blitz+ clips any negative values to 0,0. Yet Blitz+ doesn't clip offsets if they're more than the size of the image! I'd say there's definitely a bug here - either DrawBlockRect should accept negatives like it used to, or it should clip <0 AND >SIZE. I think the former would be better!