ZX Spectrum 64 Colour RGB Mode

This is a proposed enhanced graphics mode for the ZX Spectrum designed by Cheveron, Nikki, and CSmith. It could be implemented as a plug-in replacement for the ULA in the 48K machines, in emulators, or in clones. It is designed to make it easy to re-colour existing software with the minimum of effort.

I/O Ports
The mode is controlled by two ports.

0xBFF9 is the register port (write only)

The byte output will be interpreted as follows:

Bits 0-5: Select the register sub-group Bits 6-7: Select the register group. Two groups are currently available:

00 - palette group

When this group is selected, the sub-group determines the entry in the palette table (0-63).

01 - mode group

This group ignores the sub-group.

0xFFF9 is the data (read/write)

When the palette group is selected, the byte output will be interpreted as follows:

Bits 0-1: Blue intensity. The high bit is duplicated (Bb becomes BbB). Bits 2-4: Red intensity. Bits 5-7: Green intensity.

When the mode group is selected, the byte output will be interpreted as follows:

Bit 0: Palette mode select; on when set.