The Large Type Editor for C64 is a specialized text utility that reimagines how we view screen content on the Commodore 64. Developed by daverw, this tool zooms in on a section of the C64 display using PETSCII block characters, making text clearer and more accessible—particularly helpful for users needing visual enlargement.
At its core, the Large Type Editor works by magnifying the standard 8×8 character cells into a 4×4 grid composed of PETSCII graphics. To keep things efficient, daverw uses encoded 4×4 characters—pre-generated instead of rendered in real-time—reducing the redraw workload to 16 character combinations rather than recalculating 64 individual pixels. The result is a system that balances usability and performance surprisingly well, even with the added processing overhead.
Screen management is handled through clever memory mapping. The VIC-II display output is redirected to $CC00, while the virtual screen continues to live at $0400. An IRQ interrupt handler keeps tabs on changes, painting updates directly to the enlarged view. It’s a smart workaround that allows smooth interaction without rewriting core display routines.
However, the Large Type Editor isn’t without its quirks. It currently requires a Commodore Revision 3 ROM, as earlier versions have issues with color memory—either rendering text invisible or displaying incorrect colors. Scrolling support is limited, and color changes apply to the entire screen due to addressing constraints at $D800. Additionally, performance is throttled to around 62–66% of the C64’s typical speed, although adjusting frame rate could improve responsiveness.
Despite these limitations, the Large Type Editor demonstrates an impressive use of PETSCII graphics and VIC-II manipulation to deliver a creative, usable solution for text enlargement on vintage hardware. For developers and retro enthusiasts, it’s both a practical tool and a technical showcase.
You can explore the source and contribute to its development on GitHub:
https://github.com/davervw/c64-large-type-editor