User Tools

Site Tools


VIC Programming

On this page you find graphics programming information in general, such as how to set up various graphics modes, how to draw on screen, or how to display and move a sprite. If you are looking for information on how to code certain demo effects, you should look in the Demo Effects section instead.

The general rule of thumb is that if something is of more general use than just for demo effects, or if it is too simple or restricted to constitute a full demo effect in itself (such as opening the borders or achieving a specific custom screen mode through VIC trickery), you will find it here rather than in the demo coding section.

There is also some information related to VIC programming in the Game Coding section, and there is some information on 3d math in the maths section.


Using built in screen modes


See the general section on how to use sprites. It contains basic usage as well as sprite multiplexers and other things, including (some) demo effects with sprites.

  • Sprites - General section on sprites

Drawing on the screen

VICII Hardware tricks

This section is more about the workings of the VIC chip than about certain demo effects which are based on these VIC tricks.



Vertical Movement

Horizontal Movement

  • HSP - Horizontal Screen Positioning (aka Wanker aka DMA-Delay/VSP - Variable Screen Positioning).

Useful Combinations

Vertical Tweaks

NOTE: The names of above vertical movements are legacy and not always explicative. 'Line' in FLD refers to a char-line of 8 pixels hight. 'Pixel' in FPD etc refers to a single line of graphics.


This section about sprites..

Vertical Tweaks

Sprite Tweaks in general

* 9th Sprite code and explanation

Custom Graphics Modes

This section is for custom graphics modes only, as contrasted to the built in graphics modes with official hardware support, such as hires, multicolor, etc.

Non-tweaked modes

Tweaked modes

  • FLI - Flexible Line Interlace
  • Hires FLI - High Resolution FLI
  • IFLI - Interlaced FLI
  • (AFLI - Advanced FLI)
  • UFLI - Underlayer FLI
  • SHFLI - Super Hires FLI
  • SHIFLI - Super Hires Interlace FLI
  • XFLI - EndOfNameSpace :) FLI


Editors for the Custom Graphics Modes

See the general section on:

Color info

Graphics file formats

There is also a nice collection of file format info at AAY64:

base/vic.txt · Last modified: 2020-04-12 18:25 by verz