blob: 0326bc899197d58b7703bbef7cd6aac92a4ff161 [file] [log] [blame]
#include "effect.h"
#include "../libdemo/trig.h"
uint8_t backbuffer[256];
const uint8_t colors[] __attribute__((section("hibyte"))) = {
// ICE
0x00, 0x04, 0x44, 0x4C, 0xCC, 0xC6, 0x66, 0x6E,
0xEE, 0xE7, 0x77, 0x7D, 0xDD, 0xD5, 0x55, /*0x50,*/
// RAINBOW
/*0x55,*/ 0x54, 0x44, 0x46, 0x66, 0x62, 0x22, 0x20,
0x00, 0x01, 0x11, 0x13, 0x33, 0x37, 0x77, /*0x75,*/
// WHITE
/*0x77,*/ 0x7D, 0xDD, 0xDC, 0xCC, 0xCE, 0xEE, 0xEA,
0xAA, 0xA8, 0x88, 0x89, 0x99, 0x9B, 0xBB, /*0xB7,*/
// APPLES
/*0xBB,*/ 0xB7, 0x77, 0x79, 0x99, 0x91, 0x11, 0x10,
0x00, 0x02, 0x22, 0x23, 0x33, 0x3A, 0xAA, 0xAB,
0xBB, 0xB3, 0x33, 0x32, 0x22, 0x20,
// FIRE
/*
0x11, 0x1F, 0xFF, 0xFD, 0xDD, 0xD9, 0x99, 0x9B,
0xBB, 0xB3, 0x33, 0x39, 0x99, 0x9F, 0xFF, 0xF1,*/
0x00, 0x04, 0x44, 0x4C, 0xCC, 0xC6, 0x66, 0x6E,
0xEE, 0xE7, 0x77, 0x7D, 0xDD, 0xD5, 0x55, 0x54,
0x44, 0x46, 0x66, 0x62, 0x22, 0x20, 0x00, 0x01,
0x11, 0x13, 0x33, 0x37, 0x77, 0x7D, 0xDD, 0xDC,
0xCC, 0xCE, 0xEE, 0xEA, 0xAA, 0xA8, 0x88, 0x89,
0x99, 0x9B, 0xBB, 0xB7, 0x77, 0x79, 0x99, 0x91,
0x11, 0x10, 0x00, 0x02, 0x22, 0x23, 0x33, 0x3A,
0xAA, 0xAB, 0xBB, 0xB3, 0x33, 0x32, 0x22, 0x20,
0x00, 0x04, 0x44, 0x4C, 0xCC, 0xC6, 0x66, 0x6E,
0xEE, 0xE7, 0x77, 0x7D, 0xDD, 0xD5, 0x55, 0x54,
0x44, 0x46, 0x66, 0x62, 0x22, 0x20, 0x00, 0x01,
0x11, 0x13, 0x33, 0x37, 0x77, 0x7D, 0xDD, 0xDC,
0xCC, 0xCE, 0xEE, 0xEA, 0xAA, 0xA8, 0x88, 0x89,
0x99, 0x9B, 0xBB, 0xB7, 0x77, 0x79, 0x99, 0x91,
0x11, 0x10, 0x00, 0x02, 0x22, 0x23, 0x33, 0x3A,
0xAA, 0xAB, 0xBB, 0xB3, 0x33, 0x32, 0x22, 0x20,
0x00, 0x04, 0x44, 0x4C, 0xCC, 0xC6, 0x66, 0x6E,
0xEE, 0xE7, 0x77, 0x7D, 0xDD, 0xD5, 0x55, 0x54,
0x44, 0x46, 0x66, 0x62, 0x22, 0x20, 0x00, 0x01,
0x11, 0x13, 0x33, 0x37, 0x77, 0x7D, 0xDD, 0xDC,
0xCC, 0xCE, 0xEE, 0xEA, 0xAA, 0xA8, 0x88, 0x89,
0x99, 0x9B, 0xBB, 0xB7, 0x77, 0x79, 0x99, 0x91,
0x11, 0x10, 0x00, 0x02, 0x22, 0x23, 0x33, 0x3A,
0xAA, 0xAB, 0xBB, 0xB3, 0x33, 0x32, 0x22, 0x20,
0x00, 0x04, 0x44, 0x4C, 0xCC, 0xC6, 0x66, 0x6E,
0xEE, 0xE7, 0x77, 0x7D, 0xDD, 0xD5, 0x55, 0x50
};
extern unsigned char SIN[256];
static void decrunch()
{
asm(
" LDX #color_plasma-1 \n"
" LDU #forme_plasma-1 \n"
" LBSR decrunchpic \n"
:::"x","u", "y");
}
void init()
{
int x,y,v;
// INIT ONCE
for(y = 0; y < 256; y++)
{
backbuffer[y] = (SIN[y] / 32);
}
polysine();
// EACHTIME
decrunch();
forme();
v = 0x55;
for(y = 40 * 40; y < 139 * 40; y+=40)
{
for(x = 10; x < 30; x++)
screen[y + x] = v;
v ^= 0xFF; // or rotate
}
couleur();
asm(" LDA #_draw/256 \n"
" TFR A,DP \n"
::: "a"
);
}