Thing is, as I watch this, there's a tearing sort of effect, even when it's locked to the raster with a HALT at the bottom of the loop. I slowed Fuse right down and caught a screen shot during the period while the pattern was stationary.
![Image](https://i.ibb.co/YBvVXqw/Screenshot-20200519-165844.png)
You can see the torn attribute cells in the centre of the block.
I don't have real hardware, but I tend to trust Fuse. I tried another emulator (Speccy5.0) and that appears to do the same thing.
Which got me thinking: is this something real machines do? I always assumed the pixel data, followed by the attribute data, was sent to the display at the refresh, which is why it's flicker free when timed correctly. Now it occurs to me: is the attribute data treated differently?
If not, what's the explanation for this? Are the emulators wrong?