The original ZX Spectrum computer produces a one bit per pixel, bitmapped colour graphics video output.
A composite video signal is generated through an RF modulator, and was designed for use with contemporary 1980s television sets.
Usually, the border area assumes a single colour, but using software tricks, it is possible to display some low-resolution graphics there.
[5] The original ZX Spectrum does not conform strictly to the PAL standard frame rate of 50 Hz.
[citation needed] As a result, some programs, including the built-in BASIC interpreter, had the time running slightly too fast.
[6] At the start of each display frame, the maskable interrupt signal is sent to the ZX Spectrum's Z80 CPU, enabling programs to easily detect and measure the passage of time.
The main pixel bitmap is stored at the very beginning of the graphics RAM, while the attributes array follows immediately behind it.
[10] The entire frame buffer is 6912 bytes large, and consists of the pixel bitmap followed by the attributes array.
On an access to the graphics RAM, the CPU commonly incurs a slight delay while waiting for the video controller to complete the data reads.
[12] The addresses in the video DRAM are interleaved, which produces an unusual coordinate system for the pixel bitmap.
Unfortunately, the ZX Spectrum designers were working under extreme time pressure, and failed to notice this simple improvement.
The colour attributes could have easily had a double or a quadruple resolution in the vertical axis, but that would have reduced the remaining free memory space for programs by another kilobyte or two, especially in the 16 KiB model.
[citation needed] The ZX Spectrum (and compatibles) computers uses a variation of the 4-bit RGBI palette philosophy (also used on CGA, Thomson MO5, Sharp MZ-800, Mattel Aquarius, etc.
[15] The bright half of the palette is generated using the video display's maximum voltage level for the luminance signal.
[citation needed] Those colours were computed by simplistic approximations that do not take into account many subtleties of the PAL-to-sRGB colour-space conversion.
Details: Hi-Color / MultitechSeveral third-party Spectrum clones, including the Timex Sinclair machines,[27][28] the Pentagon, the eLeMeNt ZX, and the MB03+ Ultimate interface support a screen mode named Hi-Color,[28] in which attribute blocks are 8 × 1 pixels in size rather than the usual 8 × 8.
[34] Details: On other Spectrum models, this effect can be replicated by exploiting the fact that the ULA re-reads the attribute information on every pixel row when generating the video output; it is possible to write a new value to the relevant memory location in between successive lines, and thus cause a different pair of colours to be shown.
Details: ULAplus is compatible with the standard ZX Spectrum and Timex Hi-Res and Hi-Colour modes, and adds the ability to redefining of the palette.
[42][43][44][45] Details: By alternating between two screens on every frame interrupt (50 Hz), it is theoretically possible to simulate a doubling of the vertical display resolution from 192 to 384 lines.
When viewed on a CRT television screen (the standard at the time), the flicker is less noticeable than on a modern monitor.
On a CRT television screen, the effect is more akin to anti-aliasing, with certain pixels appearing at half intensity.
With real tstate precise software, its possible to simulate a GigaScreen on an 128K "toastrack" original ZX Spectrum 128K.
[50] For Pentagon machines, a hardware modification is available, which directly combines the two alternate screen areas into the video signal, thus eliminating the flicker associated with this method.
[55] Details: The eLeMeNt ZX computer and the MB03+ interface provide a planar-based 256 × 192 (LowRes), 512 × 192 (HighRes) and 512 × 384 (SuperHiRes) resolutions.
Dithering works very well with CRT TV sets of the era, because analog televisions employ a high amount of blur in both the horizontal and vertical axis.
To faithfully simulate the actual output image of a ZX Spectrum, a modern emulator needs to employ a blur filter of significant strength.
Therefore, the filter has to be specially constructed to simulate the effect of blur on a common CRT TV set.
Most emulators employ filters of very low quality, causing the final image to appear extremely sharp and pixelated.
[citation needed] Some emulators, like FUSE, employ available filters in an attempt to reduce the pixilation effect.
[citation needed] Those filters produce the final image significantly different than the ZX Spectrum's real video output.