The original
ZX Spectrum
The ZX Spectrum () is an 8-bit computing, 8-bit home computer developed and marketed by Sinclair Research. One of the most influential computers ever made and one of the all-time bestselling British computers, over five million units were sold. ...
computer produces a one
bit per pixel,
bitmapped colour graphics video output. A
composite video
Composite video, also known as CVBS (composite video baseband signal or color, video, blanking and sync), is an analog video format that combines image information—such as brightness (luminance), color (chrominance), and synchronization, int ...
signal is generated through an
RF modulator
An RF modulator (radio frequency modulator) is an electronic device used to convert signals from devices such as media players, VCRs and game consoles to a format that can be handled by a device designed to receive a modulated RF input, such ...
, and was designed for use with contemporary 1980s television sets.
The
image size of the
framebuffer
A framebuffer (frame buffer, or sometimes framestore) is a portion of random-access memory (RAM) containing a bitmap that drives a video display. It is a memory buffer containing data representing all the pixels in a complete video frame. Mode ...
is 256 × 192
pixels
In digital imaging, a pixel (abbreviated px), pel, or picture element is the smallest addressable element in a raster image, or the smallest addressable element in a dot matrix display device. In most digital display devices, pixels are the sma ...
, with a
palette of 15 non-modifiable colours, where the entire colour palette is extremely
saturated. The resolution of the colour output is 64 times lower than the resolution of the pixel bitmap.
The extremely low colour resolution was used to conserve memory, totaling just 768 bytes for colour attributes. Colour is stored separate from the pixel
bitmap
In computing, a bitmap (also called raster) graphic is an image formed from rows of different colored pixels. A GIF is an example of a graphics image file that uses a bitmap.
As a noun, the term "bitmap" is very often used to refer to a partic ...
, as a 32 × 24 cell grid, using one byte per each of the
character cells. One character cell is composed of 8 × 8 pixels. In practice, this means any character cell can only use two selected colours for colouring the contained 64 pixels.
Since the machine was designed for usage with a standard television set, the 256 × 192 pixel area is surrounded by a wide border that fills up the remaining space of the standard
384 × 288 quarter-resolution of
625-line TV screen area. Usually, the border area assumes a single colour, but using software tricks, it is possible to display some low-resolution graphics there.
The
ZX Spectrum
The ZX Spectrum () is an 8-bit computing, 8-bit home computer developed and marketed by Sinclair Research. One of the most influential computers ever made and one of the all-time bestselling British computers, over five million units were sold. ...
lacked dedicated hardware for
scrolling
In computer displays, filmmaking, television production, video games and other kinetic displays, scrolling is sliding text, images or video across a monitor or display, vertically or horizontally. "Scrolling," as such, does not change the layout ...
and
sprites, or a dedicated hardware
blitter
A blitter is a circuit, sometimes as a coprocessor or a logic block on a microprocessor, dedicated to the rapid movement and modification of data within a computer's memory. A blitter can copy large quantities of data from one memory area to a ...
. To facilitate the display of colour graphics, the original ZX Spectrum employs 16 KiB of
discrete graphics RAM. The latency of the graphics RAM is 150 ns; the peak
bandwidth
Bandwidth commonly refers to:
* Bandwidth (signal processing) or ''analog bandwidth'', ''frequency bandwidth'', or ''radio bandwidth'', a measure of the width of a frequency range
* Bandwidth (computing), the rate of data transfer, bit rate or thr ...
is 2.1875 MB/s (calculated as 224 × 5/8 bytes per 64 μs).
Frame rate and timings
The original ZX Spectrum does not conform strictly to the PAL standard
frame rate
Frame rate, most commonly expressed in frame/s, or FPS, is typically the frequency (rate) at which consecutive images (Film frame, frames) are captured or displayed. This definition applies to film and video cameras, computer animation, and moti ...
of 50 Hz. ZX Spectrum outputs one video line in exactly 224
CPU
A central processing unit (CPU), also called a central processor, main processor, or just processor, is the primary processor in a given computer. Its electronic circuitry executes instructions of a computer program, such as arithmetic, log ...
clock cycles, where the CPU
clock rate
Clock rate or clock speed in computing typically refers to the frequency at which the clock generator of a processor can generate pulses used to synchronize the operations of its components. It is used as an indicator of the processor's s ...
equals 3.5 MHz. This exactly matches the PAL standard 64 μs line time. However, the ZX Spectrum produces only 312 lines to form one
display frame, while the 625-line PAL standard recommends 312.5 lines. As a consequence, the frame rate of the ZX Spectrum is approximately 50.08 frames per second.
This discrepancy was not known to many programmers, who assumed the frame rate of 50 frames per second. As a result, some programs, including the built-in
BASIC
Basic or BASIC may refer to:
Science and technology
* BASIC, a computer programming language
* Basic (chemistry), having the properties of a base
* Basic access authentication, in HTTP
Entertainment
* Basic (film), ''Basic'' (film), a 2003 film
...
interpreter, had the time running slightly too fast. Later ZX Spectrum models have a slightly different frame rate and the CPU clock rate, which causes some older software to run slightly too slow if it uses vertical synchronization, or too fast if it relies on CPU clock rate.
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. It also allows the programs to perfectly synchronize the graphics output with the display of video frames. It is exactly the same mechanism as the
vertical synchronization of a modern computer, which can be employed to prevent
display tearing.
Graphics memory structure and pixel coordinates
The 16 KiB discrete graphics
RAM
Ram, ram, or RAM most commonly refers to:
* A male sheep
* Random-access memory, computer memory
* Ram Trucks, US, since 2009
** List of vehicles named Dodge Ram, trucks and vans
** Ram Pickup, produced by Ram Trucks
Ram, ram, or RAM may also ref ...
is directly accessible to the CPU at
addresses 16384 to 32767. The RAM chips for graphics are connected to both the CPU and to the video circuit in the ULA. The main pixel bitmap is stored at the very beginning of the graphics RAM, while the attributes array follows immediately behind it. The entire frame buffer is 6912 bytes large, and consists of the pixel bitmap followed by the attributes array. The remaining part of the 16 KiB graphics RAM is not used by the video circuitry.
The video controller circuit is built into the semi-custom Ferranti
ULA integrated circuit
An integrated circuit (IC), also known as a microchip or simply chip, is a set of electronic circuits, consisting of various electronic components (such as transistors, resistors, and capacitors) and their interconnections. These components a ...
, consisting of approximately 480 configurable cells (depending on the model). The cells of the ULA were factory-configured in various ways to produce the ULA for ZX Spectrum, where one cell has the functionality of approximately two NAND gates.
A CPU access to the graphics RAM is called a contended access, because the video controller has a higher priority than the CPU. 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.
The addresses in the video DRAM are interleaved, which produces an unusual
coordinate system
In geometry, a coordinate system is a system that uses one or more numbers, or coordinates, to uniquely determine and standardize the position of the points or other geometric elements on a manifold such as Euclidean space. The coordinates are ...
for the pixel bitmap. If coordinates of a pixel are (x, y), and the bits of the x coordinate axis are labeled x7, x6, x5, x4, x3, x2, x1, x0, and the bits of the y coordinate axis are labeled y7, y6, y5, y4, y3, y2, y1, y0, then the pixel is stored in a byte with the address bitpattern 0, 1, 0, y7, y6, y2, y1, y0, y5, y4, y3, x7, x6, x5, x4, x3.
The address bitpattern contains two more bitpattern transpositions than necessary. The fastest and the simplest bitpattern would have been 0, 1, 0, x7, x6, x5, x4, x3, y7, y6, y5, y4, y3, y2, y1, y0, which makes the pixel addresses increase by the column first. Unfortunately, the ZX Spectrum designers were working under extreme time pressure, and failed to notice this simple improvement.
While the original ZX Spectrum 48K model has 32 KiB of main RAM, the 16K model has just the 16 KiB graphics RAM. This is the reason why the colour attributes array was designed to fit in just 768 bytes. 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.
To facilitate the display of colour graphics, the original ZX Spectrum employs 16 KiB of
discrete graphics RAM, unlike the shared graphics RAM architectures of most other microcomputers, including the
Commodore 64. The resolution of the pixel bitmap is similar to that in other contemporary microcomputers, where the popular Commodore 64 commonly uses the 160 × 200 resolution at two bits per pixel.
The system of colour cells, called "the attributes", drew a lot of criticism, because it significantly complicated the programming of colour applications. Still, the colour attribute system had sufficient capabilities for supporting the common applications and games of the era, and even the very limited colour capabilities were welcomed by the users.
Colour palette
The
ZX Spectrum (and compatibles) computers uses a variation of the
4-bit RGBI palette philosophy (also used on
CGA,
Thomson MO5
The Thomson MO5 is a home computer introduced in France in June 1984 to compete against systems such as the ZX Spectrum and Commodore 64. It had a release price of 2390 FF.
At the same time, Thomson also released the up-market Thomson TO7/70 ...
,
Sharp MZ-800,
Mattel Aquarius
The Aquarius is a home computer designed by ''Radofin'' and released by ''Mattel Electronics'' in 1983. Based on the Zilog Z80 microprocessor, the system has a rubber chiclet keyboard, 4 kB of RAM, and a subset of Microsoft BASIC in ROM. It conn ...
, etc.), resulting in 8 basic colours with brightness variations.
On the 128, +2 and +3 models, the ULA outputs
TTL level red, green, blue and sync signals that are used by the ''TEA2000 Video Encoder'' for
composite video
Composite video, also known as CVBS (composite video baseband signal or color, video, blanking and sync), is an analog video format that combines image information—such as brightness (luminance), color (chrominance), and synchronization, int ...
signal generation.
Each of the colours of the 3-bit palette has a ''basic'' and a ''bright'' variant.
The ''bright'' half of the palette is generated using the video display's maximum voltage level for the luminance signal. The ''basic'' half of the palette is generated by simply reducing the voltage of the luminance signal.
Both colours of a character cell must share their brightness property, because there is only a single brightness bit for the entire cell. Besides that limitation, any combination of the palette colours can be freely selected as the two colours of a character cell. In the following table, all the "bright" colours are given in the right column.
:
* Some
ZX Spectrum clones ZX may refer to:
Arts and entertainment
* Kamen Rider ZX (pronounced "Zed-Cross"), the tenth fictional superhero in the "Kamen Rider" franchise
* ''Mega Man ZX'', a video game for the Nintendo DS
* ''ZX Tunes'', remastered soundtracks of the "Meg ...
or
NTSC
NTSC (from National Television System Committee) is the first American standard for analog television, published and adopted in 1941. In 1961, it was assigned the designation System M. It is also known as EIA standard 170.
In 1953, a second ...
machines might display "bright black" as dark grey.
* The luminance of colours in the table is relative, not absolute. The common television sets usually had much higher luminance than the standard sRGB LCD luminance of 80 cd/m
2. In absolute terms, ZX Spectrum's colours are much brighter then the sRGB colours in the table. ZX Spectrum's "white" colour is as bright as the brightest sRGB white colour, while the "bright white" exceeds the limits of the standard sRGB colour luminance.
* The given
sRGB
sRGB (standard RGB) is a colorspace, for use on monitors, printers, and the World Wide Web. It was initially proposed by HP and Microsoft in 1996 and became an official standard of the International Electrotechnical Commission (IEC) as IEC 6 ...
values for green, yellow and cyan are only best approximations, because sRGB displays are unable to produce all the colours of the
PAL
Phase Alternating Line (PAL) is a color encoding system for analog television. It was one of three major analogue colour television standards, the others being NTSC and SECAM. In most countries it was broadcast at 625 lines, 50 fields (25 ...
TV standard. The green PAL phosphor is out-of-gamut in the sRGB colour-space of the modern common LCD displays. For most purposes, this colour inaccuracy is small.
* Colours simulated as
sRGB
sRGB (standard RGB) is a colorspace, for use on monitors, printers, and the World Wide Web. It was initially proposed by HP and Microsoft in 1996 and became an official standard of the International Electrotechnical Commission (IEC) as IEC 6 ...
assume non-bright as 85% voltage (0.55 V) and bright as 100% (0.65 V).
Each ZX Spectrum model used different voltages for colours, so the values here are only indicative. The colours were computed by a conversion of the
PAL
Phase Alternating Line (PAL) is a color encoding system for analog television. It was one of three major analogue colour television standards, the others being NTSC and SECAM. In most countries it was broadcast at 625 lines, 50 fields (25 ...
TV colour-space into the
sRGB
sRGB (standard RGB) is a colorspace, for use on monitors, printers, and the World Wide Web. It was initially proposed by HP and Microsoft in 1996 and became an official standard of the International Electrotechnical Commission (IEC) as IEC 6 ...
colour-space. The PAL
gamma of 2.8 was applied as recommended by the BT.470 PAL standard; the conversion of primary colours to sRGB primaries (by IEC 61966-2-1 sRGB standard), and the standard sRGB gamma correction (by inverse EOTF) was applied.
* The given colours are probably not the real ZX Spectrum colours. The colour approximations were computed by assuming the maximum possible saturation that a ZX Spectrum can produce on the PAL TV output. The real ZX Spectrum colours are currently unknown, and they are probably less saturated. To compute the real ZX Spectrum colours, a measurement of the phase-amplitude shift of the chroma sub-carrier has to be performed, for each colour, by an oscilloscope on the ZX Spectrum's PAL output.
In the ZX Spectrum encoding, the colour components are in the GRB (green, red, blue) order, rather than the more common RGB order. The GRB order has the advantage that the colour numbers become ordered by increasing
luminance
Luminance is a photometric measure of the luminous intensity per unit area of light travelling in a given direction. It describes the amount of light that passes through, is emitted from, or is reflected from a particular area, and falls wit ...
, so if viewed on black-and-white display, the ordered sequence forms a gradient from black to white.
All the colour properties of a cell are stored in memory as one byte called ''the attribute''. Counting from least to most significant bit, an ''attribute byte'' dedicates three bits for colour of the pixels valued 1, three bits for colour of the pixels valued 0, one bit for the brightness flag, and one bit for the flashing effect. The flashing effect causes the displayed foreground and background colours to alternate every 0.64 seconds.
Most current ZX Spectrum emulators are displaying inaccurate and possibly over-saturated colours. Those colours were computed by simplistic approximations that do not take into account many subtleties of the PAL-to-sRGB colour-space conversion. Similarly, on the ZX Art website the usage of inaccurate colours is very common. The theoretically impossible sRGB colour #00CD00 is commonly used as the ZX Spectrum's green colour (i.e. the Spectrum's real green colour is probably more bluish).
BASIC commands for colours
The two colours of a character cell are called the ''foreground colour'' and the ''background colour''. For any value of ''n'' from 0 to 7, the following
Sinclair BASIC
Sinclair BASIC is a dialect of the programming language BASIC used in the 8-bit home computers from Sinclair Research, Timex Sinclair and Amstrad. The Sinclair BASIC interpreter was written by Nine Tiles Networks Ltd.
Designed to run in on ...
commands can be used to set or alter the colours of a cell:
*
PAPER ''n''
, the background colour for the character cell; applied to all pixels of value 0 in the cell
*
INK ''n''
, the foreground colour for the character cell; applied to all pixels of value 1 in the cell
*
BRIGHT ''i''
, selects the value of the brightness bit of the character cell, where the value can be either 0 or 1
Additionally, the
BORDER
command selects a colour for the screen area surrounding the pixel bitmap. It does not use a brightness flag, thus only the eight ''basic'' colours are supported for the border colour.
Standard mode
The original ZX Spectrum has a screen resolution of 256 × 192 pixels. In all cases, colours are extremely saturated. Colour information is overlaid onto this as a grid of 8 × 8 pixel regions known as ''attribute blocks''. All colour properties of an attribute block are stored in memory as a single attribute byte, and each attribute block matches one character cell. Within each attribute block, only two colours may be used out of a palette of 8 colours. Additionally, the entire attribute block may be designated as "bright", resulting in a total of 15 possible colours (black has no "bright" variation). In many programs, this limitation of only two colours per attribute block is evident as the unwanted effect of
attribute clash
Attribute clash (also known as colour clash or bleeding) is a display Visual artifact, artifact caused by limits in the graphics circuitry of some colour 8-bit home computers, most notably the ZX Spectrum, where it meant that only two colours ...
.
A screen in this mode occupies 6144 bytes for the pixel bitmap, totaling 6912 bytes together with the colour attributes.
Details:
: Pixels: 256 × 192
: Attributes: 32 × 24
: Colours: 15 (counting non-bright and bright)
: Machine: All
Monochrome TVs and monitors

By using a
monochrome monitor
A monochrome monitor is a type of computer monitor in which computer text and images are displayed in varying tones of only one color, as opposed to a color monitor that can display text and images in multiple colors. They were very common in t ...
or
black-and-white
Black-and-white (B&W or B/W) images combine black and white to produce a range of achromatic brightnesses of grey. It is also known as greyscale in technical settings.
Media
The history of various visual media began with black and white, ...
TV (or reducing the
saturation settings of a colour TV), it is possible to take advantage of the differences in intensity over the Spectrum's colour range to generate a 15-shade
greyscale image
In digital photography, computer-generated imagery, and colorimetry, a greyscale (more common in Commonwealth English) or grayscale (more common in American English) image is one in which the value of each pixel is a single sample (signal), s ...
at 256 × 192 resolution.
Details:
: Pixels: 256 × 192
: Attributes: 32 × 24
: Colours: 15 greyscale
: Machine: All, using a monochrome display
Hardware Hi-Colour
Several third-party Spectrum clones, including the
Timex Sinclair machines,
the
Pentagon
In geometry, a pentagon () is any five-sided polygon or 5-gon. The sum of the internal angles in a simple polygon, simple pentagon is 540°.
A pentagon may be simple or list of self-intersecting polygons, self-intersecting. A self-intersecting ...
, the
eLeMeNt ZX, and the
MB03+ Ultimate interface support a screen mode named ''Hi-Color'',
in which attribute blocks are 8 × 1 pixels in size rather than the usual 8 × 8.
A screen in this mode takes 12 KB RAM. In the case of the Timex, this mode is activated through the command
OUT 255,2
.
At least one editor for Timex machines supports this mode. In addition, this screen mode can be generated through the use of the MB-02 disk system's
DMA hardware (where the technique is known as ''Multitech''), and is also available as Mode 2 (with a linear byte order) on the
SAM Coupé.
* Pixels: 256 × 192
* Attributes: 32 × 192
* Colours: 15
* Machine:
Timex Sinclair models,
ZX Spectrum Next,
Pentagon
In geometry, a pentagon () is any five-sided polygon or 5-gon. The sum of the internal angles in a simple polygon, simple pentagon is 540°.
A pentagon may be simple or list of self-intersecting polygons, self-intersecting. A self-intersecting ...
,
eLeMeNt ZX,
SAM Coupé
* Interface:
MB03+ Ultimate
Software Hi-Colour
ZX Spectrum "8 × 1" attributes / Hicolour display
4 × 1 attributes example image
4 × 2 attributes example image
4 × 4 attributes example image
ZX Spectrum "8 × 2" attributes display
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. However, the Spectrum's processor is not fast enough to write to an entire row of attribute bytes in one scanline, so 8 × 1 attributes can only be achieved over 20 columns.
This technique is variously known as ''Hicolour'', ''Multicolour'', ''FLI'', ''BIFROST*2'', ''SuperColour'', ''Rainbow Generator'' or ''Rainbow Processor'' mode.
* Pixels: 256 × 192
* Attributes: 32 × 192 (limited to a 18 × 192 area)
* Colours: 15
* Machine: All (with specific code tailored for each machine's timings)
A variation on this method is to change the row of attributes over the course of two scanlines, resulting in 8 × 2 pixel attribute blocks over a wider region of the screen. This mode is known as ''Bicolour'', and can be applied to the full width of the screen through the use of the ''Nirvana+'' engine.
* Pixels: 256 × 192
* Attributes: 32 × 96
* Colours: 15
* Machine: All (with specific code tailored for each machine's timings)
A special case involves alternating between the two available colours per attribute cell for 4 pixels each, allowing each 4 × 1 region to be treated as an independently colourable "pixel" (although the limitation of one brightness level per 8 × 1 cell is still in effect). Again, a 4 × 2 variant of this mode can be applied to a wider region of the screen. And a 4 × 4 variant can be achieved on 128K machines by timed switches between the two video RAMs (rather than re-writing the attribute data), to display the upper half of the character cells from one screen and the lower half from the other.
* Pixels: 64 × 192; 64 × 96; 64 × 48
* Attributes: 8 × 1 brightness limitation
* Colours: 15
* Machine: All (with specific code tailored for each machine's timings)
ULAplus / HAM256 / HAM8x1
ULAplus is compatible with the standard ZX Spectrum and Timex Hi-Res and Hi-Colour modes, and adds the ability to redefine the palette. If only used to slight modify the basic 16 colours, ULAplus software can be displayed on a standard Spectrum. Use of the full 64 colours is incompatible, as it will trigger the "flash" attributes of the original Spectrum.
Amiga HAM inspired modes are also possible (HAM256 and HAM8x1), displaying up to 256 colours on screen.
Details:
: Pixels: 256 × 192; 512 × 192 (Hi-Res mode)
: Attributes: 32 × 24; 32 × 192 (8x1 Hi-Colour mode)
: Colours: 2 from 256 (Hi-Res mode), 64 from 256; 256 (HAM256 and HAM8x1)
: Machine:
ZX Spectrum SE,
ZX Spectrum Next,
ZX-Uno,
Chloe 280SE,
Chloe 140SE,
eLeMeNt ZX,
zx128u+,
The Spectrum
: Interface:
MB03+ Ultimate
File:ULAplus (2).png, ULAplus example image
File:Ulaplus timex.png, ULAplus 8x1 Hi-Colour example image
File:ULAplus HAM256.png, ULAplus HAM256 example image
File:Ulaplus timex ham256.png, ULAplus HAM8x1 example image
Interlace/switched modes
Interlace
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.
The Timex clones and ZX Spectrum 128K implement a "shadow" screen area, which can be switched into place through the use of a single
OUT
command, and this is often utilised to rapidly switch between two images for this purpose (although this can also be achieved with a standard block copy, albeit not over the entire screen).
When viewed on a CRT television screen (the standard at the time), the flicker is less noticeable than on a modern monitor. And example image is linked
here
Here may refer to:
Music
* ''Here'' (Adrian Belew album), 1994
* ''Here'' (Alicia Keys album), 2016
* ''Here'' (Cal Tjader album), 1979
* ''Here'' (Edward Sharpe album), 2012
* ''Here'' (Idina Menzel album), 2004
* ''Here'' (Merzbow album), ...
(''warning'': the linked image flickers very rapidly, which could potentially cause seizures in people with
photosensitive epilepsy
Photosensitive epilepsy (PSE) is a form of epilepsy in which seizures are triggered by visual stimuli that form patterns in time or space, such as flashing lights, bold, regular patterns, or regular moving patterns.
PSE affects approximately one ...
).

The technique does not in fact achieve a true interlaced display, as the Spectrum lacks the ability to synchronise with the display hardware at such a low level. On a CRT television screen, the effect is more akin to
anti-aliasing Anti-aliasing may refer to any of a number of techniques to combat the problems of aliasing in a sampled signal such as a digital image or digital audio recording.
Specific topics in anti-aliasing include:
* Anti-aliasing filter, a filter used b ...
, with certain pixels appearing at half intensity.
On modern
LCD TVs,
capture cards, or other devices that
convert the original analog signal into digital (thus partially ignoring the original timing signals), this mode can be interpreted as true interlace, as shown on the image featuring a cat, at the right.
Details:
: Pixels: 256 × 384
: Attributes: 32 × 24
: Colours: 15
GigaScreen / DithVIDE / BZither
The attributes (colours) of an image are alternated at 50 Hz on the screen. This way, the palette is increased to approximately 36 colours. It's possible to switch screen per scanline and thus mix the screens, but this is very CPU-intensive and needs exact and steady timings.
With real tstate precise software, its possible to simulate a GigaScreen on an 128K "toastrack" original ZX Spectrum 128K.
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. The MB03+ Ultimate interface and the eLeMeNt ZX computer can display three hardware modes of non-flickering GigaScreen (mixed video RAMs, mixed video frames and autodetection mode) in 256 × 192 and 512 × 192 resolutions.
Furthermore, the GigaScreen and Hi-Colour techniques may be employed together to produce even richer-coloured images; this format has been named DithVIDE and BZither, both names referring to the
dithering
Dither is an intentionally applied form of noise used to randomize quantization error, preventing large-scale patterns such as color banding in images. Dither is routinely used in processing of both digital audio and video data, and is often ...
methods employed when converting
true-colour images to the format.
Details:
: Pixels: 256 × 192
: Attributes: 32 × 24
: Colours: ~36
: Machine: All (with flickering)
: Hardware GigaScreen:
Pentagon
In geometry, a pentagon () is any five-sided polygon or 5-gon. The sum of the internal angles in a simple polygon, simple pentagon is 540°.
A pentagon may be simple or list of self-intersecting polygons, self-intersecting. A self-intersecting ...
,
eLeMeNt ZX, MB03+ Ultimate (no flickering)
KeyLayer
The MB03+ Ultimate interface and the
eLeMeNt ZX computer provide this graphic mode which allows to display image data from the second video RAM at the place of one selected colour in the video RAM no.1. This adds a third colour to an attribute.
Details:
: Pixels: 256 × 192, 512 × 192
: Attributes: 32 × 24, 64 × 48, 3 colours per cell
: Colours: 15
: Machine:
eLeMeNt ZX
: Interface: MB03+ Ultimate
3colour / Multichrome / RGB-3 / Interchrome
Three separate images, comprising a red, green and blue layer, are displayed on the screen rapidly, one after the other, relying on
persistence of vision
Persistence of vision is the optical illusion that occurs when the visual perception of an object does not cease for some time after the Light ray, rays of light proceeding from it have ceased to enter the eye.
The illusion has also been descr ...
effects to merge the three layers into a single coloured image. The result is an 8-colour image where each pixel may be coloured independently.
Details:
: Pixels: 256 × 192
: Attributes: 256 × 192
: Colours: 8
: Machine: All
Compatible machines and interfaces
Later
ZX Spectrum compatible machines offered extra video modes. These are based on the standard 256 × 192 mode but incompatible with the original Spectrum.
Also interfaces, the
Spectra interface and the
MB03+ Ultimate interface extend the Spectrum’s display to support more colours or/and extra video modes.
16c

Video mode where each pixel can have one of 16 colours.
Details:
: Pixels: 256 × 192
: Attributes: none, no limitations
: Colours: 16
: Machine:
ATM Turbo,
Pentagon
In geometry, a pentagon () is any five-sided polygon or 5-gon. The sum of the internal angles in a simple polygon, simple pentagon is 540°.
A pentagon may be simple or list of self-intersecting polygons, self-intersecting. A self-intersecting ...
256 × 192 × 16 / Mode 4

A Sam Coupé mode, where each pixel can display one of 16 colours from a 128-colour palette.
Details:
: Pixels: 256 × 192
: Attributes: none, no limitations
: Colours: 16 (from 128) per line
: Machine:
Sam Coupé
384 × 304 × 16
A mode supported by the Pentagon computer.
Details:
: Pixels: 384 × 304
: Attributes: 48 × 38
: Colours: 16
: Machine:
Pentagon
In geometry, a pentagon () is any five-sided polygon or 5-gon. The sum of the internal angles in a simple polygon, simple pentagon is 540°.
A pentagon may be simple or list of self-intersecting polygons, self-intersecting. A self-intersecting ...
HGFX Graphics
The
eLeMeNt ZX computer and the
MB03+ interface provide a planar-based 256 × 192 (LowRes), 512 × 192 (HighRes) and 512 × 384 (SuperHiRes) resolutions.
HGFX graphics are handled through planar layers, but can be also accessed as "chunky" RAM pages. The highest, chunky-only, is the "PAL" resolution of 720 × 546 pixels. The HGFX consists of ZX-screen compatible (non-linear or linear) layers-bitplanes to achieve up to 256 colours both in LowRes
and HiRes modes, 16 colours in SuperHiRes and 4 colours in the highest resolution. It occupies only part of the memory, similar to the ZX-screen memory, has own internal buffers and can be combined with the original ZX-graphics, in a so-called transparency mode.
The HGFX provides a 24-bit true-colour palette (HiRes indeXedColour compatible) with a 256 indexed colours. HGFX screen data can be also displayed in HAM (Amiga-like) and FILL (Apple2GS-like) modes.
The HGFX is based on a more powerful HGFX/Q system, which was originally expandable in a border area to 320 × 240 or 640 × 240.
Details:
: Pixels: 256 × 192, 512 × 192, 512 × 384, 720 × 546
: Attributes: none, no limitations, plus FILL and HAM modes
: Colours: up to 256 (from 16777216), up to 16 (SuperHiRes) and 4 (PAL 720 × 546)
: Machine:
MB03+ Ultimate,
eLeMeNt ZX
Layer 2
Details:
: Pixels: 256 × 192 (256 colours from 512), 320 × 256 (256 colours from 512) and 640 × 256 (16 colours from 512)
: Attributes: none, no limitations
: Machine:
ZX Spectrum Next
Radastan
This mode displays 128 96 double-sized pixels. Each pixel holds one of 16 colours, with no attribute limitations. Pixels are stored in linear buffer as 4-bit
nibble
In computing, a nibble, or spelled nybble to match byte, is a unit of information that is an aggregation of four- bits; half of a byte/ octet. The unit is alternatively called nyble, nybl, half-byte or tetrade. In networking or telecommuni ...
s (i.e. 2 pixels per byte). The buffer is 6144 bytes long and occupies same memory as 256 × 192 pixel screen.
Details:
: Pixels: 128 × 96
: Attributes: none, no limitations
: Colours: 16 (from 256)
: Machine:
ZX-Uno,
ZX Spectrum Next,
MB03+ Ultimate,
eLeMeNt ZX
LoRES
This mode displays 128 × 96 double-sized pixels. Each pixel holds one of 256 colours (from 512), with no attribute limitations. Pixels are stored in linear buffer as 8-bit. The buffer is 12288 bytes long and occupies same memory as 256 × 192 pixel primary (DFILE1) and shadow (DFILE2) screens.
Details:
: Pixels: 128 × 96
: Attributes: none, no limitations
: Colours: 256 (from 512)
: Machine:
ZX Spectrum Next
Spectra (+128)
The Spectra has 31 display formats. These allow up to 64 unique colours to be shown simultaneously, and at a variety of colour resolutions, with attribute heights of 1, 2, 4 and 8 pixels, and widths of 4 and 8 pixels.
High-resolution modes
512 × 192 × 2 / Hi-Res
This mode was mainly used to display 64 × 24 or 85 × 24 columns text screen, and originally only Timex Sinclair computers (where its named Hi-Res) and some Russian clones can display it. It also takes 12 KB RAM. In the case of the Timex, this mode is activated through the command
OUT 255,1
.
Two graphics editors ("Draw 512" and "Tech-Draw") support this mode, along with
BASIC64 and some
CP/M
CP/M, originally standing for Control Program/Monitor and later Control Program for Microcomputers, is a mass-market operating system created in 1974 for Intel 8080/Intel 8085, 85-based microcomputers by Gary Kildall of Digital Research, Dig ...
implementations.
Details:
: Pixels: 512 × 192
: Attributes: none, no limitations
: Colours: 2 (4 palettes: black & white, blue & yellow, red & cyan, magenta & green) (out of 512 on the ZX Spectrum Next)
: Machine:
Timex Sinclair,
ZX Spectrum Next,
ZX-Uno,
MB03+ Ultimate,
eLeMeNt ZX,
Pentagon
In geometry, a pentagon () is any five-sided polygon or 5-gon. The sum of the internal angles in a simple polygon, simple pentagon is 540°.
A pentagon may be simple or list of self-intersecting polygons, self-intersecting. A self-intersecting ...
File:Parrot timex 2.png, 512 × 192 × 2 example image with black & white palette
File:Timex 512x192 Blue Yellow.png, 512 × 192 × 2 example image with blue & yellow palette
File:Timex 512x192 Red Cyan.png, 512 × 192 × 2 example image with red & cyan palette
File:Timex 512x192 Magenta Green.png, 512 × 192 × 2 example image with magenta & green palette
512 × 192 × 4 / Mode 3
The Sam Coupé has this mode, where each pixel can use one of 4 colours from palette of 128.
Details:
: Pixels: 512 × 192
: Attributes: none, no limitations
: Colours: 4 (from 128) per line
: Machine:
Sam Coupé
512 × 384 × 2

A mode supported by the Pentagon computer.
Details:
: Pixels: 512 × 384
: Colours: monochrome
: Machine:
Pentagon
In geometry, a pentagon () is any five-sided polygon or 5-gon. The sum of the internal angles in a simple polygon, simple pentagon is 540°.
A pentagon may be simple or list of self-intersecting polygons, self-intersecting. A self-intersecting ...
,
Timex Sinclair 2128 (TC 2048-based modification)
HiRes Colour
Pixels are stored in a linear order. Attributes are doubled in the vertical direction, the composition of the attribute is identical to the original ZX Spectrum mode. HiRes indeXedColour can choose 32 colours from 16777216 colours. Two video RAMs can be mixed in both Colour and indeXedColour modes through the Keylayer.
Details:
: Pixels: 512 × 192
: Attributes: 64 × 48
: Colours: 16 (or 32 indexed, from 1677216)
: Machine:
MB03+ Ultimate,
eLeMeNt ZX
Emulated
256x192, 256 colours, "256 colour mode", no attributes
The SPEC256,
EmuZWin and Es.pectrum
emulator
In computing, an emulator is Computer hardware, hardware or software that enables one computer system (called the ''host'') to behave like another computer system (called the ''guest''). An emulator typically enables the host system to run sof ...
s have a screen mode 256x192 pixels where each pixel can be in one of 256 colours.
This is achieved by extending the
word size
In computing, a word is any processor design's natural unit of data. A word is a fixed-sized datum handled as a unit by the instruction set or the hardware of the processor. The number of bits or digits in a word (the ''word size'', ''word wid ...
of the emulated
Z80
The Zilog Z80 is an 8-bit microprocessor designed by Zilog that played an important role in the evolution of early personal computing. Launched in 1976, it was designed to be software-compatible with the Intel 8080, offering a compelling altern ...
from 8 bits to 64, making eight bits of data available for each pixel; the screen thus takes 48 KB of memory. This mode only exists on the emulator and software graphics must be modified to use it.
:Details:
: Pixels: 256 x 192
: Attributes: none, no limitations
: Colours: 256
Dithering and blur

The low per-pixel bit depth of only one bit per pixel has urged the graphic artists (e.g. a
ZX-Art to resort to various
dither
Dither is an intentionally applied form of noise used to randomize quantization error, preventing large-scale patterns such as color banding in images. Dither is routinely used in processing of both digital audio and video data, and is ofte ...
ing techniques. 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. As the focus of the common CRT TV electron beam is intentionally low, the resulting high blur produces colour mixing of neighbouring pixel colours. Blur reduces the unwanted visible noise added by dithering in displayed images.
To faithfully simulate the actual output image of a ZX Spectrum, a modern emulator needs to employ a blur filter of significant strength. Simple
bilinear filters introduce too much blur, while the extremely sharp
Lanczos filter is inadequate. 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. Some emulators, like FUSE, employ available filters in an attempt to reduce the pixilation effect. Those filters produce the final image significantly different than the ZX Spectrum's real video output.
A low mutual contrast of some palette colour combinations allows improvement of the dithering effect by further reducing the amount of noise introduced by dithering. The table below demonstrates this effect for example, the contrast of a white colour over a yellow background is extremely low, making the white text virtually invisible.
References
External links
ZX-Spectrum graphics modes{{Webarchive, url=https://web.archive.org/web/20060615134029/http://8bit.yarek.pl/tool/zx.extra/index.html , date=15 June 2006
*
ttp://members.inode.at/838331/index.html Retro-X - A utility for image conversion from PC to old machines (includes non standard ZX Spectrum modes)ZX GIMP plug-inA
GIMP
Gimp or GIMP may refer to:
Clothing
* Bondage suit, also called a gimp suit, a type of suit used in BDSM
* Bondage mask, also called a gimp mask, often worn in conjunction with a gimp suit
Embroidery and crafts
* Gimp (thread), an ornamental tr ...
plug-in to make any RGB image to look like a ZX Spectrum screen.
BIFROST*2 Engine (Multicolour "8x1" attributes 20 columns)NIRVANA+ Engine (Multicolour "8x2" attributes full screen width)ZX-Spectrum Next Video ModesZX-Spectrum graphic art collection
Graphics modes
Computer display standards