# Commodore 64 demos

The Commodore 64 (C64) demos are demonstrations of what can be done to push the limits of the Commodore 64 computer, made by programmers, musicians and artists.
Though it was not unusual to find demos that displayed a single picture, only music tracks or a programming skill, groups were formed that consisted of members who were skilled in composing music, drawing graphics and programming. Full disk demos were produced, some of which would play music as the next file loaded, without any delay in the sound.
Various effects are achieved in demos, most of them due to undocumented side-effects pertaining to the MOS Technology VIC-II chip. Some examples are:
* Sprite scrollers were placed in the border. By tricking the hardware not to draw the border around the screen, sprites could be moved into this area and displayed.
* Sprites were multiplexed across vertical raster lines (over 8 sprites, sometimes up to 120 sprites). A common perception is that no more than 8 sprites could appear at once on the screen, but assigning new Y coordinates once it has started being drawn made it reappear further down the screen.
* FLD (flexible line distance) moved bitmap or character rows an arbitrary number of vertical raster lines apart, making it possible to arbitrarily move any 8 pixel high graphic block smoothly up and down across the screen. Adding sine curves to this positioning provided a wavy effect.
* FLI, or Flexible Line Interpretation, can be used to increase the number of unique colors which can appear in an 8×8 or 8×4 block on the screen. This mode is occasionally extended further with sprites and/or interlacing two bitmaps together (as in SHIFLI or UIFLI). These modes usually cause the left-most 24 pixels of the display to become unusable.
* FPP (Flexible Pixel Positioning), basically a variation of the FLI mode, allows the placement of any line of a character-based graphic at any one y-position, allowing for effects like x-rotating logos, barrel-like effects or smooth stretching and waving over the whole screen.
* Tec-Tec (also Tech-Tech or Tic Tac) assigns a new x-position to any line of a graphic. By using animated sine waves you could for example wave a logo horizontally over the screen.
* VSP (Variable Screen Positioning), also known as HSP, allows arbitrary x-placement of a bitmap, with the bitmap wrapping around at the border.
* A Linecruncher allows the user to scroll a bitmap larger than one screen vertically without having to move all the bitmap data manually.
* AGSP (Any Given Screen Position) is the combination of VSP and Linecruncher, for example making possible games with colorful bitmap graphics that scrolled, such as Hannes Sommer's "Fred's Back" series.
Followers of the C64 would see the growth of the demo scene. Gone were the single file demos with one scrolling text and no music. Full disk demos were produced, some of which would play music as the next file loaded, without any delay in the sound.
Hidden parts were included as was the occasional game implemented into a demo.
When the Commodore Amiga appeared, many former C64 demo programmers switched platforms and continued to make demos for the Amiga (see Amiga demos). The Atari demos were also heavily influenced by C64 demos. In the United Kingdom, the main alternative demo scene was the one of ZX Spectrum demos.
The C64 was popular in a time when local BBSes were also popular and used to communicate with other people. Software trading via mail was also common. Some C64 enthusiasts lament the loss of the social interaction that locally centered computer activities provided.