Egghead.page Logo

Commodore 128 User-Defined Characters Display Limit

The Commodore 128 allows users to redefine its entire standard character set, enabling the display of 256 user-defined characters at once. This capability exists across both the 40-column and 80-column video modes, though the technical implementation differs between the VIC-II and VDC video chips. Understanding this limit is essential for programmers creating custom graphics, games, or specialized text interfaces on the platform.

In the native 40-column mode, the system relies on the VIC-II video chip, which shares architecture with the Commodore 64. By default, the machine reads character definitions from ROM, but programmers can redirect the chip to read from RAM. This process allows every character in the 256-character PETSCII set to be customized pixel by pixel.

The 80-column mode utilizes the VDC chip, which has its own dedicated video memory. While the workflow for defining characters is different due to the separate memory map, the fundamental limit remains consistent. Users can still load custom glyph data into the video RAM to replace the standard ASCII or PETSCII symbols, maintaining the capacity for 256 unique user-defined shapes on screen simultaneously.

Memory management is the primary constraint when utilizing these custom characters. Redefining the set consumes RAM that might otherwise be used for program code or variables. Despite this trade-off, the ability to manipulate all 256 character slots provides significant flexibility for developers working within the constraints of 8-bit hardware.