The Video Interface Controller (VIC-II chip) is a specially designed
processor that is in charge of the 64’s video display.
It is this chip which makes possible the 64’s wide range of graphics capabilities.
The VIC-II chip’s ability to address memory is independent of the 6510 microprocessor. It can address only 16K at a time, and any of the four blocks of 16K can be chosen for video memory. The system default is for it to use the first 16K.
All of the video display memory, character dot data, and sprite
shapes must be stored within the chosen 16K block.
Locations 53248-53294 ($D000-$D02E) are registers which allow the user to
communicate with the VIC-II chip. Although for the most part they can be written to and read like ordinary memory locations, their contents directly control the video display. Since many of these locations work in close conjunction with others, a general overview of some of the different graphics systems on the 64 is in order.
Here is the VIC II Memory Map and the registers that the user can interact with, I will be going through these registers in later posts, but I though it would be useful for you budding (and more experienced) C64 coders.