Egghead.page Logo

How Many Bytes of Video Memory on Sinclair ZX Spectrum

The Sinclair ZX Spectrum is an iconic machine, and its memory management is a frequent topic for retro computing enthusiasts. This article provides a direct answer regarding the video memory allocation, breaking down how the system reserved space for visual output. We will examine the specific byte count dedicated to the display, the separation of pixel and attribute data, and the starting memory address used by the Z80 CPU to render the screen.

The total amount of video memory allocated for the display on the Sinclair ZX Spectrum is 6912 bytes. This specific portion of the system’s RAM was reserved exclusively for generating the visual output on a television or monitor. The memory map designated the range starting at address 16384 to hold this display file, ensuring that the graphics processor could access the necessary data without interfering with the basic interpreter or user program space located elsewhere in the 16K or 48K memory configurations.

This 6912-byte allocation is divided into two distinct sections. The majority of the space, totaling 6144 bytes, is used for the bitmap pixel data. This section defines the monochrome shape of the graphics across the 256x192 pixel resolution, with each bit representing a single pixel on the screen. The remaining 768 bytes are dedicated to color attributes. These attributes control the ink, paper, brightness, and flash settings for each 8x8 pixel character block, allowing the Spectrum to display color despite its 1-bit per pixel graphics architecture.

Understanding this memory layout is crucial for programmers working with machine code or assembly on the platform. Direct manipulation of these 6912 bytes allows for fast screen updates and custom graphics routines that bypass the standard BASIC commands. The fixed nature of this allocation means that regardless of whether the computer is the 16K or 48K model, the screen memory footprint remains constant, occupying the same segment of the address bus to maintain compatibility across the hardware range.