.gitignore | ||
actual complex demo | ||
actual complex demo.c | ||
chunky vertical | ||
chunky vertical.c | ||
intro | ||
intro.c | ||
README.md | ||
two columns of lines | ||
two columns of lines.c |
Amiga Copperbars Examples from "Amiga rasterbar are cool"
These are the code files used to generate the rasterbars effects on the Agnus/Copper Industrious Rabbit video Meet the Copper. I built them to compile in SAS/C 6.58:
sc <filename> link
They're written in C and, except for actual complex demo.c
, are left
pretty unoptimized so they're more readable. Writing them in assembler
and with more tricks can get them to perform faster, at the expense of
a lot of readability for a beginner.
actual complex demo.c
will not run at full 50FPS on a stock Amiga 500, but
intro.c
will (or at least should).
They also don't work on NTSC Amigas! I wait for a position well below the max NTSC Copper vertical position to detect the end of the vertical blank. If you want to modify these for NTSC, please send patches to me via the contact instructions on the About page.
Intro
The three horizontal bars moving up and down at the beginning of the video.
Chunky Vertical, Two Columns of Lines, and Actual Complex Demo
The three different demos at the end of the video.
Random numbers
Intro and Actual Complex Demo both use FastRand
to generate pseudo-random results in the demo, using the microseconds since
the machine was turned on as the initial seed
(using timer.device).
This required enabling audio DMA for some reason that I don't understand.
If you know why, please tell me via the About page!