source: thomson/code/C/F14/plasma.c@ 1180ce9

main
Last change on this file since 1180ce9 was 1180ce9, checked in by Adrien Destugues <pulkomandy@…>, 11 years ago

F14 - Forever young. Released at Forever 14

git-svn-id: svn://localhost/thomson@45 85ae3b6b-dc8f-4344-a89d-598714f2e4e5

  • Property mode set to 100644
File size: 2.5 KB
Line 
1#include "effect.h"
2
3#include "../libdemo/trig.h"
4
5uint8_t backbuffer[256];
6const uint8_t colors[] __attribute__((section("hibyte"))) = {
7 // ICE
8 0x00, 0x04, 0x44, 0x4C, 0xCC, 0xC6, 0x66, 0x6E,
9 0xEE, 0xE7, 0x77, 0x7D, 0xDD, 0xD5, 0x55, /*0x50,*/
10
11 // RAINBOW
12 /*0x55,*/ 0x54, 0x44, 0x46, 0x66, 0x62, 0x22, 0x20,
13 0x00, 0x01, 0x11, 0x13, 0x33, 0x37, 0x77, /*0x75,*/
14
15 // WHITE
16 /*0x77,*/ 0x7D, 0xDD, 0xDC, 0xCC, 0xCE, 0xEE, 0xEA,
17 0xAA, 0xA8, 0x88, 0x89, 0x99, 0x9B, 0xBB, /*0xB7,*/
18
19 // APPLES
20 /*0xBB,*/ 0xB7, 0x77, 0x79, 0x99, 0x91, 0x11, 0x10,
21 0x00, 0x02, 0x22, 0x23, 0x33, 0x3A, 0xAA, 0xAB,
22
23 0xBB, 0xB3, 0x33, 0x32, 0x22, 0x20,
24 // FIRE
25 /*
26 0x11, 0x1F, 0xFF, 0xFD, 0xDD, 0xD9, 0x99, 0x9B,
27 0xBB, 0xB3, 0x33, 0x39, 0x99, 0x9F, 0xFF, 0xF1,*/
28
29 0x00, 0x04, 0x44, 0x4C, 0xCC, 0xC6, 0x66, 0x6E,
30 0xEE, 0xE7, 0x77, 0x7D, 0xDD, 0xD5, 0x55, 0x54,
31 0x44, 0x46, 0x66, 0x62, 0x22, 0x20, 0x00, 0x01,
32 0x11, 0x13, 0x33, 0x37, 0x77, 0x7D, 0xDD, 0xDC,
33 0xCC, 0xCE, 0xEE, 0xEA, 0xAA, 0xA8, 0x88, 0x89,
34 0x99, 0x9B, 0xBB, 0xB7, 0x77, 0x79, 0x99, 0x91,
35 0x11, 0x10, 0x00, 0x02, 0x22, 0x23, 0x33, 0x3A,
36 0xAA, 0xAB, 0xBB, 0xB3, 0x33, 0x32, 0x22, 0x20,
37 0x00, 0x04, 0x44, 0x4C, 0xCC, 0xC6, 0x66, 0x6E,
38 0xEE, 0xE7, 0x77, 0x7D, 0xDD, 0xD5, 0x55, 0x54,
39 0x44, 0x46, 0x66, 0x62, 0x22, 0x20, 0x00, 0x01,
40 0x11, 0x13, 0x33, 0x37, 0x77, 0x7D, 0xDD, 0xDC,
41 0xCC, 0xCE, 0xEE, 0xEA, 0xAA, 0xA8, 0x88, 0x89,
42 0x99, 0x9B, 0xBB, 0xB7, 0x77, 0x79, 0x99, 0x91,
43 0x11, 0x10, 0x00, 0x02, 0x22, 0x23, 0x33, 0x3A,
44 0xAA, 0xAB, 0xBB, 0xB3, 0x33, 0x32, 0x22, 0x20,
45 0x00, 0x04, 0x44, 0x4C, 0xCC, 0xC6, 0x66, 0x6E,
46 0xEE, 0xE7, 0x77, 0x7D, 0xDD, 0xD5, 0x55, 0x54,
47 0x44, 0x46, 0x66, 0x62, 0x22, 0x20, 0x00, 0x01,
48 0x11, 0x13, 0x33, 0x37, 0x77, 0x7D, 0xDD, 0xDC,
49 0xCC, 0xCE, 0xEE, 0xEA, 0xAA, 0xA8, 0x88, 0x89,
50 0x99, 0x9B, 0xBB, 0xB7, 0x77, 0x79, 0x99, 0x91,
51 0x11, 0x10, 0x00, 0x02, 0x22, 0x23, 0x33, 0x3A,
52 0xAA, 0xAB, 0xBB, 0xB3, 0x33, 0x32, 0x22, 0x20,
53
54 0x00, 0x04, 0x44, 0x4C, 0xCC, 0xC6, 0x66, 0x6E,
55 0xEE, 0xE7, 0x77, 0x7D, 0xDD, 0xD5, 0x55, 0x50
56};
57
58extern unsigned char SIN[256];
59
60static void decrunch()
61{
62 asm(
63 " LDX #color_plasma-1 \n"
64 " LDU #forme_plasma-1 \n"
65 " LBSR decrunchpic \n"
66 :::"x","u", "y");
67}
68
69void init()
70{
71 int x,y,v;
72
73// INIT ONCE
74 for(y = 0; y < 256; y++)
75 {
76 backbuffer[y] = (SIN[y] / 32);
77 }
78
79 polysine();
80
81// EACHTIME
82
83 decrunch();
84 forme();
85 v = 0x55;
86 for(y = 40 * 40; y < 139 * 40; y+=40)
87 {
88 for(x = 10; x < 30; x++)
89 screen[y + x] = v;
90 v ^= 0xFF; // or rotate
91 }
92 couleur();
93
94 asm(" LDA #_draw/256 \n"
95 " TFR A,DP \n"
96 ::: "a"
97 );
98}
99
Note: See TracBrowser for help on using the repository browser.