User Tools

Site Tools


base:demo_programming

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
base:demo_programming [2014-06-10 13:13] – external edit 127.0.0.1base:demo_programming [2022-03-15 19:00] (current) – [Rasterbars] erhan
Line 1: Line 1:
 +====== Demo Coding ======
 + 
 +This page is devoted specifically to demo effects and tutorials on how to make demos. More general graphics coding is instead covered in the [[base:vic|General VIC programming page]].
  
 +To provide an example: Opening the border is commonly made in demo parts, but simply opening the border does not constitute a demo effect in itself (at least not during the last 20 years). Therefore you would find that on the General VIC programming page instead.
 +===== General Information and Tutorials =====
 +
 +  * [[demo coding introduction|An Introduction to Programming C-64 Demos]] - Puterman/FLT. Extensive and easy to read tutorial aimed at beginners.
 +  * [[Demo world records and world firsts]] - Who broke what record? Who invented effect X first? When? In what demo?
 +
 +
 +====== Effects ======
 +Many demo effects depend on precise timing. Therefore it might be useful to have a look on the [[base:interrupts|Interrupts and Timing]] page.
 +
 +
 +===== Rasterbars =====
 +The most classic demo effect, apart from scrolling text.
 +
 +  * [[magazines:chacking3#rasters_-_what_they_are_and_how_to_use_them|Rasters - what they are and how to use them (C=Hacking #3)]] - by Bruce Vrieling - (Note that there is a bug in the last example program that turns border black and white: the high and low bytes of "intcode" are reversed in the lda instructions. Also note that on PAL machines the refresh rate is not 60hz, but 50 hz.)
 +  * [[Rasterbars source|Rasterbars source]] - by Knoeki
 +  * [[Rasterbars with screen on|Rasterbars 2 source]] - by Bitbreaker
 +  * [[Rasterbars small source|Rasterbars 3 source]] - by Graham
 +  * [[Rasterbars 4 source]] - by Erhan
 +  * [[Rasterbars Flash screen effect|Rasterbar Flasher source]] - Flash Screen effect by Wozza/CygnusOz
 +  * [[Horizontal Raster Split|Horizontal Raster Split]] - Monte Carlos
 +  * [[Overlapping Raster Bars]] by Richard
 +
 +===== Scrolling text =====
 +Those scrolling texts that we all hate to love that we love to hate. Also see the [[base:sprites#effects|sprite section]] for a sprite scroller.
 +
 +  * [[Text scroll|Scroll text in common]] - by Monte Carlos
 +
 +  * 1 char sized scrollers:
 +    * [[1X1 Scrolling message|Scroll text]] - by Vai/Slash Design
 +    * [[acme_1x1_scroll|Scroll text]] - By Richard/TND
 +    * [[1x1_scroll|Scroll text]] - variable speed and direction, by Groepaz/Hitmen
 +    * [[1x1 upscroll]] - the basics - by Richard/TND
 +
 +  * 2 char sized scrollers:
 +    * [[2x2 upscroll with space linefeed]] by Richard/TND
 +
 +  * Zoom chars 8x:
 +    * [[8x scale charset Scrolling message|Char zoom]] - by Conrad.
 +    * [[Realtime 8x char zoom|Char zoom]] - by Raf/Vulture Design
 +
 +  * Sprite scroller:
 +    * [[Scrolltext using Sprites]] - a ROL-scroll, by Testicle
 +    * [[Waving sprite scroll]] - A letter per sprite with a sine move, by Mace
 +
 +  * Perspective Scroller
 +    * [[Discofloor scroller as being used in Ächzzeit]] - by Bitbreaker/Oxyron^Arsenic^Nuance
 +
 +===== Swinging and tech-tech =====
 +
 +  * [[magazines:chacking7#tech-tech_-_more_resolution_to_vertical_shift|TechTech]] (or "wave") - by Pasi 'Albert' Ojala  (from "Demo corner" in C= Hacking 7).
 +  * [[base:techtech_fli|TechTech]] (using FLI routine) - by Compyx/Focus
 +  * [[base:logo_swing|Logo swing]] - By Richard Bayliss
 +
 +
 +===== 3D dot scroll =====
 +  * [[3D Dot Scroll]] -  by wegi /Black Sun/Samar/Fatum
 +
 +===== DYCP =====
 +
 +  *  [[magazines:chacking6#the_demo_cornerdycp_-_horizontal_scrolling|DYCP]] - Pasi 'Albert' Ojala (from "Demo Corner" in C= Hacking 6).
 +
 +
 +===== DYSP =====
 +
 +  * [[base:dysp_d017|DYSP using sprite stretching]] - by Compyx/Focus
 +  * [[base:dysp_cycle_table]|DYSP using a cycle table]] - by Compyx/Focus
 +
 +===== Plasma =====
 +  * [[ColorCyclePlasma]] - By Cruzer
 +  * [[AFLI-Plasma]] - by Testicle
 +  * [[Proportional-Charset-Noter with Plasma-Effect]] - by Testicle
 +  * [[Copper Style FLI Plasma]] - By Cruzer
 +
 +===== FPP (Flexible Pixel Position, aka Stretcher) =====
 +  * [[FLI-FPP-Scroller]] - by Testicle
 +
 +===== Graphics Distortion =====
 +  * [[FLI Floffy]] - By Cruzer
 +  * [[2nd Pixel FLI Distorter]] - By Cruzer
 +
 +===== Fractals =====
 +  * [[Julia Fractal Morpher]] - By dW
 +
 +===== Vectors ===== 
 +
 +  * [[Drivecalc vectors]] - 3D realtime filled vectors with 3D calculations done in the drive, by wegi /Black Sun/Samar/Fatum
 +  * [[Filling the vectors]] - by Bitbreaker
 +  * [[Spritevectors]] - by Bitbreaker
 +
 +===== Blending and Fading =====
 +  * [[8x8 Charset Pixel-Blend-in|Blend Charsets]] by Chico /CIVITAS
 +
 +===== Starfields =====
 +  * [[8 Sprite starfield]] - by Richard Bayliss
 +  * [[ROL Starfield using $d018]] - by Richard Bayliss
 +  * [[base:Starfield|Starfield]] - by Fabrizio Stellato
 +===== 2nd Line FLI =====
 +  * [[Twisters, x-rotators and waving carpets]] - Bitbreaker/Oxyron^Arsenic^Nuance
 +
 +===== Fire Effects =====
 +  * [[4x4 charset fire with lots of colors]] - Bitbreaker/Oxyron^Arsenic^Nuance
 +
 +===== Misc =====
 +  * [[Colour flashing (notewriter style)]] - (Extended colour mode) by Richard Bayliss
 +  * [[just Animation]] - explains the concept of how the animations in reanim8ed work. originally published in [[http://noname.c64.org/csdb/release/?id=18201|Driven #31]]
 +
 +====== Software screen modes for effects ======
 +
 +  * 16x16:
 +    * [[16x16 char matrix]] by Monte Carlos
 +    * [[16x16 Matrix Scroll]] by Chico /CIVITAS
 +
 +====== Optimization ======
 +  * [[Speedcode]] by Cruzer/CML
 +  * [[Speeding up and optimising demo routines]] - by conrad
 +  * [[Advanced optimizing]] - by Bitbreaker/Oxyron/Nuance