Can Commodore Plus/4 Use User-Defined Characters in ROM?
The Commodore Plus/4 does not support storing user-defined characters directly in ROM because read-only memory cannot be modified by the user or software. However, the system fully supports the use of custom character sets by allowing programmers to copy character data into RAM and reconfigure the video chip to access that memory area instead of the default ROM set.
The architecture of the Commodore Plus/4 relies on the TED chip, which handles video output and memory management. By default, the system points to a character generator set stored within the Kernal ROM. Since ROM is hard-coded during manufacturing, it is impossible to write new character definitions to this specific memory space. Any attempt to alter the character set must occur in Random Access Memory (RAM), where data can be written and changed dynamically during program execution.
To implement user-defined characters on the Plus/4, developers must follow a specific process involving memory manipulation. First, the default character set is copied from the ROM into a reserved block of RAM. Next, the programmer modifies the character data within this RAM block to create custom glyphs or symbols. Finally, the TED chip registers are updated to point the video display to the new RAM location rather than the original ROM address. This method provides the same visual flexibility as other Commodore machines like the C64, despite the different underlying hardware.
In summary, while the Commodore Plus/4 cannot store user-defined characters in ROM, it offers robust support for custom graphics through RAM. Understanding the distinction between the immutable ROM character set and the redefinable RAM area is essential for developers working with the TED chip. By utilizing RAM for character storage, users can achieve full customization capabilities without hardware modifications.