Egghead.page Logo

VIC-20 Sprite Colors and RAM Memory Impact

Many retro computing enthusiasts wonder about the memory cost of graphical features on classic machines. This article clarifies a common misconception regarding the Commodore VIC-20, specifically addressing the relationship between sprite colors and system RAM. Ultimately, enabling four sprite colors had no effect on available memory because the hardware did not support hardware sprites in the first place.

The VIC-20 utilized the MOS Technology 6560/6561 VIC chip. Unlike the later VIC-II chip found in the Commodore 64, the original VIC chip lacked hardware sprite functionality. Graphics were generated using character codes and screen memory rather than movable object definitions. Consequently, there was no register or setting to enable four sprite colors that would consume random-access memory.

The standard VIC-20 came with 5KB of RAM, though only about 3.5KB was available for BASIC programming due to system overhead. Users could install memory expansion cartridges to increase this capacity. Graphics operations consumed screen memory within this available RAM, but this was tied to the text matrix and color memory, not non-existent sprite attributes.

Confusion often arises because the Commodore 64, the VIC-20’s successor, did feature eight hardware sprites with individual color registers. On the C64, enabling sprites did not directly reduce available BASIC RAM, as sprite definitions were stored within the existing memory map. However, applying C64 architecture logic to the VIC-20 leads to incorrect assumptions about memory loss.

In summary, asking what happened to RAM when enabling four sprite colors on the VIC-20 is based on a technical impossibility. The machine relied on character-based graphics, leaving the concept of sprite color memory allocation irrelevant. Understanding the specific chip limitations helps clarify why the available RAM remained unaffected by a feature that never existed on the platform.