Simple splitting the screen with two colors on the Commodore 64

Simple splitting the screen with two colors on the Commodore 64
Photo by Markus Winkler / Unsplash

Someone asked me yesterday how to very simply split the Commodore 64 screen to display two solid colors.

The screen is 1000 "blocks"(character cells) starting at Hex $0400 (1024 decimal). It's 40 characters wide and 25 rows.

25 rows don't divide evenly, so we can tell the VIC register to hide a small part of the screen to display 24 rows instead. Register $d011 needs bit 3 toggled to zero to set the screen to 24 rows.

From "Mapping the 64" Page 129:

Simple enough. I wrote this out in binary in base "anding" is confusing to some folks in Hex. "Showing your work" seems easier to visualize here.

Then we do our usual filling in the screen but use 880 of the cells instead of 1000:

Subtle, I know...