back |
|||
Time for another competition ? Right - here we go: Your task is to create a good looking demo (effect) in just 384 (0x180) bytes. To aid you a little and to prevent too system specific hacks a init-routine with basic output functions is given. If course just the code-size is counted, not the size of the resulting object-file. The usage of BSS-Sections is also free. Since it is quite impossible to judge the demos cleary, we will have a public vote. The submission deadline for the demos is sunday, february 22nd 1998 at 21.00 CET. The executables of all demos will be released some days later. After that the public vote will begin. The voting deadline will be two weeks later. Btw: you dont have to do any super-supreme-overoptimized code to win this compo - innovation is everything. Even beginners could win it, with a nice new idea.
All contributions must be mailed to Azure.
The startup - code for this competition was provideded by Blueberry. Many many thanks to him for doing it! Please download the full package, also including this docs, here. You might have to set your assembler to "Case sensitive labels" to assemblee it ! Place your code between the labels Code_Start and Code_End and your BSS definitions at the bottom of the source. You have to supply 3 functions: Init: Called once in the beginning. Registers are undefined. VBlank: Called every vblank after Init has finished. On first call, registers are as left by Init. On subsequent calls, registers are as left by last call. Main: Called once when Init has finished. Registers are as left by Init. If it terminates, the demo will exit.
Update128x128:
Update the screen in 2x2 resolution
using the supplied 128x128 linear chunky buffer.
The sides will get color 0.
Callable from Init and Main. Update160x128:
Update the screen in 2x2 resolution
using the supplied 160x128 linear chunky buffer.
Callable from Init and Main. Update256x256:
Update the screen in 1x1 resolution
using the supplied 256x256 linear chunky buffer.
The sides will get color 0.
Callable from Init and Main. Update320x256:
Update the screen in 1x1 resolution
using the supplied 320x256 linear chunky buffer.
Callable from Init and Main. CacheClear: Clear caches so written SMC will be valid. Callable from Init, VBlank and Main. SetPalette:
Set the screen palette to the one supplied.
Format is 256 longwords in $xxrrggbb.
The upper byte of each longword is ignored.
Callable from Init, VBlank and Main.
|