Let's compare this cathode ray to a laser ray, let's imagine moving it from left to right (horizontal active area), turning it on and off at regular time intervals (pixel clock), based on a sequence of "0" and "1" (memory video). We will have drawn a scanline.
Now we turn off the laser (blank) and bring the beam all the way to the left and below the line we have just drawn (horizontal blank time), at this point, we repeat these steps until we reach the end of the image (vertical active area).
From the bottom of the image we bring the laser back to the top of the screen (vertical blank time), and a new image is read and shown on the screen.
Imagining absurdly that a CRT monitor had a very low resolution and displayed the Apple logo, we could visualize this result:
Where the cathode ray would have this behavior:
These timings are specific to the electronics that drive the cathode ray and must be respected by the other hardware components, otherwise, the images shown would be distorted.
For this purpose the CPU works in parallel until the cathode ray has reached the bottom of the image, then usually through a specific signal, while the cathode ray returns to the top (vertical blank area), the CPU can transfer or calculate the new image into the video memory.
So, the emulator must run all the hardware respecting vertical and horizontal timings. Now, I need to do some math.
0 Comments:
Post a Comment