Code64 logo
 

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.

Basics

Using built in screen modes

Sprites

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.

Border

Screen

Movement

  • FLD - Flexible Line Distance, by Marek Klampar (C=Hacking #7).
  • Linecrunch Vertical Screen Positioning (aka Linecrunching)
  • HSP - Horizontal Screen Positioning (aka Wanker aka DMA-Delay/VSP - Variable Screen Positioning).
  • AGSP - Any Given Screen Position (VSP and LineCrunch combined)

Other

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.

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:

Various VIC related

 
base/vic.txt · Last modified: 2010/08/16 19:15 by hh
 
Code64 logo
Recent changes RSS feed Creative Commons License Driven by DokuWiki