Bård of Commodore Tutorials returns with a new lesson on Commodore 64 Screen RAM. The episode focuses on how changing the Screen RAM address in assembly can transform gameplay—switching from one active screen to another without interrupting animations or game logic.
He starts with a small unfinished game, showing how the character walks between rooms before entering a shop where gameplay shifts entirely. Instead of controlling the player, the user moves a cursor across the top of the screen. This seamless switch is powered by manipulating the Commodore 64 Screen RAM.
Bård then explains how Screen RAM resides by default at memory address $0400, but programmers can relocate it to other parts of memory for rapid visual transitions. This allows features like in-game menus or status screens without reloading graphics.
In his demonstration, he shows how the VIC-II chip reads memory in 16 KB chunks and how developers can switch between areas like $0400 and $0C00 using the $D018 register. He illustrates the process with code examples, walking viewers through bit shifting, logical AND/OR operations, and how the C64 determines where to fetch character and screen data.
He also highlights the pitfalls—placing Screen RAM too low in memory interferes with the zero page or stack, and certain addresses overlap with the character set, causing screen corruption.
By the end, Bård’s tutorial clarifies how managing Screen RAM enables smoother game designs and user interfaces on the Commodore 64. He encourages beginners to get comfortable with binary logic and memory operations to unlock this vital part of assembly programming.
This video is an engaging resource for anyone eager to deepen their understanding of C64 assembly and create more dynamic programs.





