Did Sinclair ZX Spectrum +3 Support User Definable Characters
The Sinclair ZX Spectrum +3 fully supported user-definable characters, maintaining compatibility with software from earlier 48K and 128K models. This article confirms the presence of User Defined Graphics (UDGs) on the +3, details the memory allocation used for custom symbols, and outlines the BASIC commands necessary for programmers to implement them in their projects.
User Defined Graphics were a staple feature of the ZX Spectrum range, allowing developers to create custom 8x8 pixel symbols beyond the standard alphanumeric set. The +3 retained this functionality within its 128K architecture, ensuring that games and utilities relying on custom sprites or interface icons could run without modification. These characters were stored in RAM, allowing them to be altered dynamically during program execution, which was essential for creating animated graphics or specialized HUD elements in games.
To access these characters, users utilized the built Sinclair BASIC environment. The system reserved a specific area of memory for the UDGs, typically accessible via the system variable located at address 23606 and 23607, known as UDG. By POKEing values into this memory range, programmers could define the binary pattern for each character. Each byte represented a row of pixels in the 8x8 grid, where a value of 255 would create a solid line and 0 would create an empty line.
Compatibility with previous Spectrum models meant that thousands of existing titles worked immediately on the +3 without losing graphical fidelity. While the +3 introduced a disk interface and updated ROM, the core video generation hardware remained consistent with its predecessors regarding character mapping. This consistency ensured that the community could continue to share code and tools involving custom characters across the entire ZX Spectrum ecosystem without hardware-specific barriers.
In conclusion, the Sinclair ZX Spectrum +3 did support user-definable characters through its standard UDG system. This feature remained a critical tool for developers looking to maximize the graphical potential of the machine within the constraints of its tile-based display architecture. Whether for simple text enhancements or complex game sprites, the UDG functionality on the +3 provided the same flexible capabilities found in the earlier 48K and 128K versions of the computer.