Skip to content

Commit c213718

Browse files
Santa with no big text background
1 parent a9ed592 commit c213718

File tree

1 file changed

+91
-59
lines changed

1 file changed

+91
-59
lines changed

demos/generic_multiplexer/many_flakes2_test.c

Lines changed: 91 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@
44
/*******************
55
** Prototypes
66
*******************/
7+
8+
#define SLOW_COMETS 1
9+
710
void INITSPRITES(void);
811
void INITRASTER(void);
912
/******************/
@@ -129,6 +132,56 @@ static unsigned char j;
129132
static unsigned char h;
130133
static unsigned char restored_text_row[35];
131134

135+
#define COMET_X 0
136+
#define COMET_Y 23
137+
138+
unsigned char XX = 0;
139+
unsigned char XX2 = 100;
140+
unsigned char i;
141+
unsigned short k;
142+
unsigned short star_loc;
143+
unsigned char flip = 1;
144+
145+
unsigned char comet_flash;
146+
147+
// SLOW COMET 1
148+
unsigned char slow_comet_1_x = COMET_X;
149+
unsigned char slow_comet_1_y = COMET_Y;
150+
unsigned char slow_comet_1_x_start;
151+
unsigned short slow_comet_1_pos;
152+
unsigned slow_comet_1_counter = 0;
153+
unsigned short old_slow_comet_1_pos;
154+
155+
// SLOW COMET 2
156+
unsigned char slow_comet_2_x = COMET_X+16;
157+
unsigned char slow_comet_2_y = COMET_Y;
158+
unsigned char slow_comet_2_x_start;
159+
unsigned short slow_comet_2_pos;
160+
unsigned slow_comet_2_counter = 0;
161+
unsigned short old_slow_comet_2_pos;
162+
163+
// FAST COMET 1
164+
unsigned char fast_comet_1_x = COMET_X+12;
165+
unsigned char fast_comet_1_y = COMET_Y;
166+
unsigned char fast_comet_1_x_start;
167+
unsigned short fast_comet_1_pos;
168+
unsigned fast_comet_1_counter = 0;
169+
unsigned short old_fast_comet_1_pos;
170+
171+
// FAST COMET 2
172+
unsigned char fast_comet_2_x = COMET_X+18;
173+
unsigned char fast_comet_2_y = COMET_Y;
174+
unsigned char fast_comet_2_x_start;
175+
unsigned short fast_comet_2_pos;
176+
unsigned fast_comet_2_counter = 0;
177+
unsigned short old_fast_comet_2_pos;
178+
179+
unsigned char below;
180+
unsigned char text_counter = 0;
181+
182+
unsigned char XB;
183+
unsigned cycle = 1;
184+
132185
// $D018 = 53272
133186
// -----------------
134187
void init_udg(void)
@@ -139,34 +192,46 @@ void init_udg(void)
139192
POKE(648,192);
140193
}
141194

142-
#define TEXT_COLOR_OFFSET 2
195+
//#define TEXT_COLOR_OFFSET 2
196+
#define TEXT_COLOR_OFFSET 0
197+
// #define COLOR_MASK 3
198+
#define COLOR_MASK 7
143199

144200
void color_change(void)
145201
{
202+
unsigned char color;
203+
204+
if(!flip)
205+
{
206+
color = 0;
207+
}
208+
else
209+
{
210+
color = +(j&COLOR_MASK);
211+
}
212+
146213
for(h=0;h<10;++h)
147214
{
148215

149-
POKE(COLOR+6+h,TEXT_COLOR_OFFSET+(j&3));
150-
POKE(COLOR+40+6+h,TEXT_COLOR_OFFSET+(j&3));
216+
POKE(COLOR+6+h,TEXT_COLOR_OFFSET+color);
217+
POKE(COLOR+40+6+h,TEXT_COLOR_OFFSET+color);
151218
}
152219

153220
for(h=0;h<6;++h)
154221
{
155222

156-
POKE(COLOR+18+h,TEXT_COLOR_OFFSET+(j&3));
157-
POKE(COLOR+40+18+h,TEXT_COLOR_OFFSET+(j&3));
223+
POKE(COLOR+18+h,TEXT_COLOR_OFFSET+color);
224+
POKE(COLOR+40+18+h,TEXT_COLOR_OFFSET+color);
158225
}
159226

160227
for(h=0;h<8;++h)
161228
{
162229

163-
POKE(COLOR+26+h,TEXT_COLOR_OFFSET+(j&3));
164-
POKE(COLOR+40+26+h,TEXT_COLOR_OFFSET+(j&3));
230+
POKE(COLOR+26+h,TEXT_COLOR_OFFSET+color);
231+
POKE(COLOR+40+26+h,TEXT_COLOR_OFFSET+color);
165232
}
166233
}
167234

168-
#define COMET_X 0
169-
#define COMET_Y 23
170235

171236
void print(const char *str, unsigned char len, unsigned short offset, unsigned char col)
172237
{
@@ -275,54 +340,6 @@ void restore_text_row(void)
275340
#define LIGHT_BLUE 0x0E
276341
#define LIGHT_GREY 0x0F
277342

278-
unsigned char XX = 0;
279-
unsigned char XX2 = 100;
280-
unsigned char i;
281-
unsigned short k;
282-
unsigned short star_loc;
283-
unsigned char flip = 1;
284-
285-
unsigned char comet_flash;
286-
287-
// SLOW COMET 1
288-
unsigned char slow_comet_1_x = COMET_X;
289-
unsigned char slow_comet_1_y = COMET_Y;
290-
unsigned char slow_comet_1_x_start;
291-
unsigned short slow_comet_1_pos;
292-
unsigned slow_comet_1_counter = 0;
293-
unsigned short old_slow_comet_1_pos;
294-
295-
// SLOW COMET 2
296-
unsigned char slow_comet_2_x = COMET_X+16;
297-
unsigned char slow_comet_2_y = COMET_Y;
298-
unsigned char slow_comet_2_x_start;
299-
unsigned short slow_comet_2_pos;
300-
unsigned slow_comet_2_counter = 0;
301-
unsigned short old_slow_comet_2_pos;
302-
303-
// FAST COMET 1
304-
unsigned char fast_comet_1_x = COMET_X+12;
305-
unsigned char fast_comet_1_y = COMET_Y;
306-
unsigned char fast_comet_1_x_start;
307-
unsigned short fast_comet_1_pos;
308-
unsigned fast_comet_1_counter = 0;
309-
unsigned short old_fast_comet_1_pos;
310-
311-
// FAST COMET 2
312-
unsigned char fast_comet_2_x = COMET_X+18;
313-
unsigned char fast_comet_2_y = COMET_Y;
314-
unsigned char fast_comet_2_x_start;
315-
unsigned short fast_comet_2_pos;
316-
unsigned fast_comet_2_counter = 0;
317-
unsigned short old_fast_comet_2_pos;
318-
319-
unsigned char below;
320-
unsigned char text_counter = 0;
321-
322-
unsigned char XB;
323-
unsigned cycle = 1;
324-
// unsigned xmas = 0;
325-
326343
void draw_top_text(void)
327344
{
328345
// Set color for top fixed "happy new year" text
@@ -541,7 +558,11 @@ void handle_slow_comets(void)
541558
{
542559
slow_comet_1_x_start = COMET_X+(rand()&31);
543560
}
561+
#if SLOW_COMETS==2
544562
while((slow_comet_1_x_start==slow_comet_2_x_start)||(slow_comet_1_x_start==fast_comet_1_x_start)||(slow_comet_1_x_start==fast_comet_2_x_start));
563+
#else
564+
while((slow_comet_1_x_start==fast_comet_1_x_start)||(slow_comet_1_x_start==fast_comet_2_x_start));
565+
#endif
545566
slow_comet_1_x = slow_comet_1_x_start;
546567
slow_comet_1_y = COMET_Y;
547568
slow_comet_1_counter = rand()&31;
@@ -557,6 +578,7 @@ void handle_slow_comets(void)
557578
}
558579
}
559580

581+
#if SLOW_COMETS==2
560582
if(slow_comet_2_counter)
561583
{
562584
--slow_comet_2_counter;
@@ -588,7 +610,8 @@ void handle_slow_comets(void)
588610
{
589611
POKE(SCREEN+slow_comet_2_pos,COMET);
590612
}
591-
}
613+
}
614+
#endif
592615
}
593616
}
594617

@@ -614,7 +637,11 @@ void handle_fast_comets(void)
614637
{
615638
fast_comet_1_x_start = COMET_X+(rand()&31);
616639
}
640+
#if SLOW_COMETS==2
617641
while((fast_comet_1_x_start==slow_comet_1_x_start)||(fast_comet_1_x_start==slow_comet_2_x_start)||(fast_comet_1_x_start==fast_comet_2_x_start));
642+
#else
643+
while((fast_comet_1_x_start==slow_comet_1_x_start)||(fast_comet_1_x_start==fast_comet_2_x_start));
644+
#endif
618645
fast_comet_1_x = fast_comet_1_x_start;
619646
fast_comet_1_y = COMET_Y;
620647
fast_comet_1_counter = rand()&63;
@@ -647,7 +674,11 @@ void handle_fast_comets(void)
647674
{
648675
fast_comet_2_x_start = COMET_X+(rand()&31);
649676
}
677+
#if SLOW_COMETS==2
650678
while((fast_comet_2_x_start==fast_comet_1_x_start)||(fast_comet_2_x_start==slow_comet_1_x_start)||(fast_comet_2_x_start==slow_comet_2_x_start));
679+
#else
680+
while((fast_comet_2_x_start==fast_comet_1_x_start)||(fast_comet_2_x_start==slow_comet_1_x_start));
681+
#endif
651682
fast_comet_2_x = fast_comet_2_x_start;
652683
fast_comet_2_y = COMET_Y;
653684
fast_comet_2_counter = rand()&63;
@@ -729,7 +760,7 @@ void init_happy_new_year_sprites(void)
729760

730761
SPRY[BOTTOM_PRESENT_INDEX]=200;
731762

732-
SPRY[BOTTOM_SNOW_INDEX]=170;
763+
SPRY[BOTTOM_SNOW_INDEX]=210;
733764

734765
for(i=0;i<BOTTOM_SNOW_INDEX;++i)
735766
{
@@ -822,6 +853,7 @@ void handle_text(void)
822853
text_counter%=4;
823854
}
824855

856+
825857
void handle_sprite_movement(void)
826858
{
827859

0 commit comments

Comments
 (0)