I was watching this video just now https://www.youtube.com/watch?v=I0YmJluYb6Q&ab_channel=NostalgiaNerd on things that early home computers displayed on the screen while reading cassettes, and reminded of something. The loading bars are easy to explain, and so are the other contents on some machines, but I'm puzzled about the ability of the Commodore 64 to show pictures (or, really, anything but loading bars) while reading.
Why? Because one in every eight scan lines on that machine is a 'bad line' in which the video chip has so much data to read, that it needs to hog all the memory bandwidth, entirely locking out the CPU for about forty microseconds.
This doesn't have a big impact on performance (it only happens for the active portion of one every eight scan lines, after all), but I would expect it to make a hash of predictable timing, and I would expect reading tape, to absolutely depend on predictable timing.
How is this problem solved?