Commodore VIC-20 Lowercase Letters Without Hardware Mod
The Commodore VIC-20 is fully capable of displaying lowercase letters without requiring any physical hardware modifications or soldering. While the default startup configuration shows only uppercase letters and graphics symbols, the machine’s internal character ROM contains a complete lowercase set that can be accessed through software commands. This article explains how the VIC-20 manages character sets, distinguishes between the SHIFT key graphics mode and true lowercase text, and details how users can enable standard lowercase typing using basic BASIC POKE commands.
When users first power on a VIC-20, the system defaults to a character set that prioritizes uppercase letters and box-drawing graphics. This design choice was common in early home computers intended for gaming and simple demonstrations. Pressing the SHIFT key on the default screen does not produce lowercase letters; instead, it toggles between uppercase and the graphics symbols. This behavior often led to the misconception that the computer lacked lowercase capability entirely or required a hardware modification to unlock it. However, the limitation is purely software-based, controlled by the VIC video chip’s memory configuration.
The VIC-20 character ROM actually stores two distinct sets of glyphs. The first set is the default uppercase and graphics collection. The second set contains standard lowercase letters and uppercase letters without the graphics symbols. To access this second set, the user must instruct the VIC video chip to point to a different address in the memory map where the lowercase characters are stored. This is achieved by modifying specific memory registers that control the video output, a task that can be performed directly from the BASIC command line.
Enabling lowercase mode typically involves entering a POKE command that alters the value at the VIC chip’s control register. By changing the binary value of this register, the system switches the character generator base from the uppercase/graphics block to the lowercase/uppercase block. Once this command is executed, the keyboard input reflects standard typing expectations, where unshifted keys produce lowercase letters and the SHIFT key produces uppercase letters. This software switch is reversible and can be toggled back to the default mode by restoring the original memory value or resetting the machine.
Because this process relies entirely on memory manipulation, there is no need to open the computer case or alter the circuit board. Hardware modifications were sometimes suggested in vintage computing magazines to add lowercase support to machines that lacked it in ROM, such as certain early PET models, but the VIC-20 shipped with the necessary data built-in. Users simply needed the knowledge to access it. Therefore, anyone looking to use the VIC-20 for word processing or programming that requires case sensitivity can do so safely using standard software methods.