p.s and in case of masking hardware sprites.
need to have two sprite pattern banks and then flip sprite pattern register, too.
or you need to do doublebuffering via pattern number.
then flipping sprite attribute table also flips pattern number.
Another important factor to mention is that on those converted games, the MSX will be emulating the ZX-Spectrum video all the time. In real time and while loading each frame to the VDP, the CPU has to:
1) Convert the bitmap format from linear to tiled
2) Expand the tile color information to 8x, since the MSX has 1 color per line and the ZX-Spectrum has 1 color per 8x8 pixels.
All those operations, expecially (2) are a lot of time wasted