zx-special-screen-modeslisted
Install: claude install-skill dtz-labs/zx-skills
# ZX Spectrum & Timex special / advanced screen modes
This is the **deep dive** on the display modes that go beyond the standard ULA
screen. For writing the BASIC around them use `zx-spectrum-basic`; for converting
art into these (non-standard) layouts see `zx-graphics-assets`; for the
raster-timing and interrupt code behind multicolour see `z80-assembly`; for the
ready-made multicolour engines see `z88dk`; and to actually enable and capture a
mode in the emulator use `zesarux-control`.
## What "standard" means (the baseline we beat)
The normal Spectrum screen is **256×192 pixels** with a **non-linear bitmap at
0x4000** (0x1800 bytes) and a separate **attribute file at 0x5800** (0x300 bytes)
holding **one ink+paper+bright+flash byte per 8×8 cell**. That one-attribute-per-
cell rule is "colour clash". Every mode here exists to dodge a limit of that
layout — more colour resolution, more pixel resolution, a second buffer, or more
colours on screen. The base layout itself lives in `zx-spectrum-basic`
(`references/graphics.md`); this skill assumes you know it and focuses on the
extras.
## The modes at a glance
| Mode | Machine | Beats | Cost |
|---|---|---|---|
| **128K shadow screen** (bank 7) | 128/+2/+3 | flicker (double-buffer) | uses RAM bank 7; paging care |
| **Timex second display file** | TC2048 / TS2068 | flicker (page-flip via port 255) | Timex only |
| **Timex hi-colour 8×1** | TC2048 / TS2068 | *vertical* colour clash | Timex only; uses 0x6000 region |
| **Timex