I think this is correct:
For moving graphics on the ZX80 you needed to output directly from the CPU, via an I/O port, to the display, as the CRT electron beam scanned across.
On high end luxury hardware gaming hardware like the Atari 2600 you had a timer so you were able to wait until a scan line started before starting the next. The ZX80 had no such timer so you had to ensure every row took the same amount of time. (Like defending against a cryptographic timing attack!)
The ZX81 did have a timer (and associated interrupt) which enabled "slow" mode so it could interleave your code with outputting the display.
I don't recall I ever saw moving graphics on a ZX80. Certainly not mine. It had a mythic quality for me!