예제 #1
0
void circle_out_leff (void)
{
	lamplist_set_apply_delay (TIME_33MS);
	lamplist_apply (LAMPLIST_CIRCLE_OUT, leff_on);
	lamplist_apply (LAMPLIST_CIRCLE_OUT, leff_off);
	leff_exit ();
}
예제 #2
0
파일: mpf.c 프로젝트: SonnyJim/freewpc
CALLSET_ENTRY (mpf, lamp_update)
{
	lamplist_apply (LAMPLIST_MPF, lamp_off);
	lamplist_apply (LAMPLIST_MPF, lamp_flash_off);
	switch (mpf_level)
	{
		case 0:
			lamp_flash_on (LM_MPF_100K);
			break;
		case 1:
			lamp_on (LM_MPF_100K);
			lamp_flash_on (LM_MPF_200K);
			break;
		case 2:
			lamp_on (LM_MPF_100K);
			lamp_on (LM_MPF_200K);
			lamp_flash_on (LM_MPF_300K);
			break;
		case 3:
			lamp_flash_on (LM_MPF_100K);
			lamp_flash_on (LM_MPF_200K);
			lamp_flash_on (LM_MPF_300K);
			callset_invoke (head_enable_divert);
			break;
		default:
			break;
	}

}
예제 #3
0
파일: leffs.c 프로젝트: SonnyJim/freewpc
void left_loop_leff (void)
{
	lamplist_set_apply_delay (TIME_16MS);
	lamplist_apply (LAMPLIST_SORT3, leff_toggle);
	lamplist_apply (LAMPLIST_SORT3, leff_toggle);
	leff_exit ();
}
예제 #4
0
void top2bot_leff (void) {
	lamplist_set_apply_delay (TIME_16MS);
	lamplist_apply (LAMPLIST_TOP_BOTTOM, leff_toggle); //toggle
	task_sleep (TIME_100MS);
	lamplist_apply (LAMPLIST_BOTTOM_TOP, leff_toggle); //toggle
	task_sleep (TIME_100MS);
	leff_exit ();
}// end of function
예제 #5
0
void right2left_leff (void) {
	lamplist_set_apply_delay (TIME_16MS);
	lamplist_apply (LAMPLIST_RIGHT_LEFT, leff_toggle); //toggle
	task_sleep (TIME_100MS);
	lamplist_apply (LAMPLIST_LEFT_RIGHT, leff_toggle); //toggle
	task_sleep (TIME_100MS);
	leff_exit ();
}// end of function
예제 #6
0
/****************************************************************************
 *
 * cryo claw lighting effects
 *
 ****************************************************************************/
void claw_leff (void) {
	U8 i;
	gi_leff_disable (PINIO_GI_STRINGS); //turn off gi
	lamplist_apply_leff_alternating (LAMPLIST_AMODE_ALL, 0); //turn all lamps off
		for (i=0; i < 34; i++) {
			lamplist_apply (LAMPLIST_AMODE_ALL, leff_toggle); //toggle
			task_sleep (TIME_33MS);
		}//end of loop
	lamplist_apply (LAMPLIST_AMODE_ALL, leff_on); //restore to previous state
	gi_leff_enable (PINIO_GI_STRINGS); //turn on gi
	leff_exit();
}//end of function
예제 #7
0
void gangway_init (U8 spots)
{
	lamplist_apply (LAMPLIST_GANGWAYS, lamp_off);
	lamplist_apply (LAMPLIST_GANGWAYS, lamp_flash_off);
	gangway_count = spots;
	while (spots > 0)
	{
		lamplist_build_increment (LAMPLIST_GANGWAYS, lamp_matrix);
		spots--;
	}
	lamp_tristate_flash (lamplist_index (LAMPLIST_GANGWAYS, gangway_count));
}
예제 #8
0
void flash_all_leff (void) {
	U8 i;
//	lamplist_set_apply_delay (0);
	lamplist_apply_leff_alternating (LAMPLIST_AMODE_ALL, 0); //turn all lamps off
	for (i=0; i < 34; i++) {
		lamplist_apply (LAMPLIST_AMODE_ALL, leff_toggle); //toggle
		task_sleep (TIME_66MS);
	}//end of loop
	lamplist_apply (LAMPLIST_AMODE_ALL, leff_on); //restore to previous state
	task_sleep_sec (1);
	leff_exit ();
}// end of function
예제 #9
0
void multiball_running_leff (void)
{
	for (;;)
	{
		lamplist_apply (LAMPLIST_CLOCK_HOURS, leff_on);
		task_sleep (TIME_400MS);
		lamplist_apply (LAMPLIST_CLOCK_MINUTES, leff_on);
		task_sleep (TIME_100MS);
		lamplist_apply (LAMPLIST_CLOCK_HOURS, leff_off);
		task_sleep (TIME_300MS);
		lamplist_apply (LAMPLIST_CLOCK_MINUTES, leff_off);
		task_sleep (TIME_200MS);
	}
}
예제 #10
0
void computer_award_leff(void) {
	U8 i;
	gi_leff_disable (PINIO_GI_STRINGS); //turn off gi
//			lamplist_set_apply_delay (0);
			lamplist_apply_leff_alternating (LAMPLIST_AMODE_ALL, 0); //turn all lamps off
			for (i=0; i < 34; i++) {
				lamplist_apply (LAMPLIST_AMODE_ALL, leff_toggle); //toggle
				task_sleep (TIME_66MS);
			}//end of loop
			lamplist_apply (LAMPLIST_AMODE_ALL, leff_on); //restore to previous state
	gi_leff_enable (PINIO_GI_STRINGS); //turn on gi
	task_sleep_sec (TIME_1S);
	leff_exit();
}//end of function
예제 #11
0
파일: leffs.c 프로젝트: SonnyJim/freewpc
void flash_all_leff (void)
{
	U8 i;

	lamplist_set_apply_delay (0);
	triac_leff_enable (TRIAC_GI_MASK);
	lamplist_apply_leff_alternating (LAMPLIST_AMODE_ALL, 0);
	for (i=0; i < 32; i++)
	{
		lamplist_apply (LAMPLIST_AMODE_ALL, leff_toggle);
		task_sleep (TIME_66MS);
	}
	lamplist_apply (LAMPLIST_AMODE_ALL, leff_on);
	task_sleep_sec (1);
	leff_exit ();
}
예제 #12
0
파일: tz_amode.c 프로젝트: SonnyJim/freewpc
void amode_leff (void)
{
	U8 i;
	triac_leff_enable (TRIAC_GI_MASK);

	for (;;)
	{
		amode_leff_subset = LAMPLIST_DOOR_PANELS_AND_HANDLE;
		leff_create_peer (amode_leff_subset_task);
		task_sleep (TIME_33MS);
	
		for (amode_leff_subset = LAMPLIST_DOOR_LOCKS_AND_GUMBALL;
			amode_leff_subset <= LAMPLIST_SPIRAL_AWARDS;
			amode_leff_subset++)
		{
			leff_create_peer (amode_leff_subset_task);
			task_sleep (TIME_33MS);
		}

		task_sleep_sec (15);
		task_kill_peers ();

		lamplist_apply_nomacro (LAMPLIST_SORT1, leff_off);
		lamplist_set_apply_delay (TIME_16MS);
		for (i=0 ; i < 10; i++)
			lamplist_apply (LAMPLIST_SORT1, leff_toggle);
	}
}
예제 #13
0
파일: tz_amode.c 프로젝트: SonnyJim/freewpc
void amode_leff_subset_task (void)
{
	register U8 lamplist = amode_leff_subset;
	lamplist_set_apply_delay (TIME_100MS);
	for (;;)
		lamplist_apply (lamplist, leff_toggle);
}
예제 #14
0
void clock_vibrate_leff1 (void)
{
	for (;;)
	{
		lamplist_apply (LAMPLIST_CLOCK_HOURS_MINUTES, leff_toggle);
		task_sleep (TIME_100MS);
	}
}
예제 #15
0
void inlane_cryoclaw_leff (void) {
	U8 i;
	for (i = 0; i < 10; i++) {
		lamplist_apply (LAMPLIST_RIGHT_RAMP_AWARDS, leff_toggle);
		task_sleep (TIME_133MS);
	}//end of loop
	leff_exit ();
}//end of function
예제 #16
0
파일: loop.c 프로젝트: hydra/freewpc
CALLSET_ENTRY (loop, start_ball)
{
	total_loops = 0;
	right_loop_level = 0;
	left_loop_level = 0;
	last_right_loop_level = 1;
	last_left_loop_level = 1;
	lamplist_apply (LAMPLIST_RIGHT_LOOPS, lamp_off);
}
예제 #17
0
파일: lanes.c 프로젝트: SonnyJim/freewpc
static inline void award_rollover_completed (void)
{
    bounded_increment (rollover_count, 99);
    score (SC_1M);
    /* Hack as I can't be bothered to fix the sw_right_inlane on my table */
    if (!lamp_test (LM_DEAD_END))
        lamp_on (LM_DEAD_END);
    /* Increment cameras_lit every 4 rollovers */
    if (rollover_count % 4 == 0)
        bounded_increment (cameras_lit, 99);
    /* Show animation */
    deff_start (DEFF_ROLLOVER_COMPLETED);
    /* Turn off inlane lamps */
    lamplist_apply (LAMPLIST_INLANES, lamp_off);
    lamplist_apply (LAMPLIST_INLANES, lamp_flash_on);
    task_sleep_sec (1);
    lamplist_apply (LAMPLIST_INLANES, lamp_flash_off);
}
예제 #18
0
파일: leffs.c 프로젝트: SonnyJim/freewpc
void lock_leff (void)
{
	lamplist_set_apply_delay (TIME_16MS);
	leff_create_peer (lock_leff_task);
	task_sleep (TIME_300MS);
	lamplist_apply (LAMPLIST_LOCK_TEST, leff_toggle);
	task_sleep (TIME_200MS);
	leff_exit ();
}
예제 #19
0
파일: leffs.c 프로젝트: SonnyJim/freewpc
void color_cycle_leff (void)
{
	U8 i;
	const U8 count = 9;

	lamplist_set_apply_delay (0);

	i = count;
	lamplist_apply (LAMPLIST_RED_LAMPS, leff_on);
	do {
		lamplist_apply (LAMPLIST_RED_LAMPS, leff_toggle);
		task_sleep (TIME_100MS);
	} while (--i != 0);

	i = count;
	lamplist_apply (LAMPLIST_WHITE_LAMPS, leff_on);
	do {
		lamplist_apply (LAMPLIST_WHITE_LAMPS, leff_toggle);
		task_sleep (TIME_100MS);
	} while (--i != 0);

	i = count;
	lamplist_apply (LAMPLIST_YELLOW_LAMPS, leff_on);
	do {
		lamplist_apply (LAMPLIST_YELLOW_LAMPS, leff_toggle);
		task_sleep (TIME_100MS);
	} while (--i != 0);

	i = count;
	lamplist_apply (LAMPLIST_ORANGE_LAMPS, leff_on);
	do {
		lamplist_apply (LAMPLIST_ORANGE_LAMPS, leff_toggle);
		task_sleep (TIME_100MS);
	} while (--i != 0);

	i = count;
	lamplist_apply (LAMPLIST_AMBER_LAMPS, leff_on);
	do {
		lamplist_apply (LAMPLIST_AMBER_LAMPS, leff_toggle);
		task_sleep (TIME_100MS);
	} while (--i != 0);

	leff_exit ();
}
예제 #20
0
void amode_leff1 (void)
{
	register U8 my_lamplist = lamplist;
	if (lamplist == LAMPLIST_CLOCK_HOURS)
		lamplist_set_apply_delay (TIME_50MS);
	else
		lamplist_set_apply_delay (TIME_66MS);
	for (;;)
		lamplist_apply (my_lamplist, leff_toggle);
}
예제 #21
0
CALLSET_ENTRY (challenge, start_ball)
{
	lamplist_apply (LAMPLIST_CHALLENGE_SHOTS, lamp_off);
	challenge_shot_1 = 0;
	challenge_shot_2 = 0;
	shots_made = 0;
	challenge_shot_1_active = FALSE;
	challenge_shot_2_active = FALSE;
	challenge_pick_two_new_targets ();
}
예제 #22
0
파일: rules.c 프로젝트: Dmilo/freewpc
void finale_start (void)
{
	if (finale_can_be_started ())
	{
		flag_off (FLAG_FINALE_LIT);
		lamp_tristate_flash (LM_GRAND_FINALE);
		lamplist_apply (LAMPLIST_MODES, lamp_flash_on);
		finale_level = 1;
	}
}
예제 #23
0
static void jackpot_subleff (void)
{
	lamplist_apply_nomacro (LAMPLIST_CIRCLE_OUT, leff_off);
	lamplist_apply (LAMPLIST_CIRCLE_OUT, leff_on);
	lamplist_apply_leff_alternating (LAMPLIST_CIRCLE_OUT, 1);
	for (;;)
	{
		lamplist_apply_nomacro (LAMPLIST_CIRCLE_OUT, leff_toggle);
		task_sleep (TIME_33MS);
	}
	task_exit ();
}
예제 #24
0
/****************************************************************************
 *
 * attract mode lighting effects
 *
 ***************************************************************************/
void amode_leff (void) {
	U8 i;
	gi_leff_enable (PINIO_GI_STRINGS);
	lamplist_set_apply_delay (TIME_16MS);
	for (;;) {
			lamplist_apply (LAMPLIST_BOTTOM_TOP, leff_toggle); //toggle
			task_sleep (TIME_100MS);
			lamplist_apply (LAMPLIST_TOP_BOTTOM, leff_toggle); //toggle
			task_sleep (TIME_100MS);

			for (i=0; i < 10; i++) {
				lamplist_apply (LAMPLIST_AMODE_ALL, leff_toggle); //toggle
				task_sleep (TIME_100MS);
			}//end of loop

			lamplist_apply (LAMPLIST_LEFT_RIGHT, leff_toggle); //toggle
			task_sleep (TIME_100MS);
			lamplist_apply (LAMPLIST_RIGHT_LEFT, leff_toggle); //toggle
			task_sleep (TIME_100MS);

			for (i=0; i < 10; i++) {
				lamplist_apply (LAMPLIST_AMODE_ALL, leff_toggle); //toggle
				task_sleep (TIME_100MS);
			}//end of loop
}//end of endless loop
	task_exit ();
}//end of function
예제 #25
0
파일: leffs.c 프로젝트: SonnyJim/freewpc
void door_strobe_leff (void)
{
	triac_leff_disable (TRIAC_GI_MASK);
	lamplist_apply (LAMPLIST_DOOR_PANELS, leff_off);
	lamplist_set_apply_delay (TIME_33MS);
	leff_create_peer (door_strobe_subtask);
	task_sleep (TIME_100MS);
	leff_create_peer (door_strobe_subtask);
	task_sleep_sec (2);
	task_kill_peers ();
	triac_leff_enable (TRIAC_GI_MASK);
	leff_exit ();
}
예제 #26
0
파일: leffs.c 프로젝트: SonnyJim/freewpc
void multiball_running_leff (void)
{
	leff_on (LM_GUM);
	leff_off (LM_BALL);
	leff_off (LM_LOCK1);
	leff_on (LM_LOCK2);
	for (;;)
	{
		lamplist_apply (LAMPLIST_DOOR_LOCKS_AND_GUMBALL, leff_toggle);
		task_sleep (TIME_200MS);
	}
	leff_exit ();
}
예제 #27
0
파일: rules.c 프로젝트: SonnyJim/freewpc
void rules_spiralaward2_leff (void)
{
	for (;;)
	{
		lamplist_apply (LAMPLIST_SPIRAL_AWARDS, lamp_flash_on);
		lamp_tristate_flash (LM_RIGHT_SPIRAL);
		lamp_tristate_flash (LM_RIGHT_POWERBALL);
		task_sleep_sec (1);
		sol_request (SOL_LL_FLIP_POWER);
		lamp_tristate_off (LM_RIGHT_SPIRAL);
		lamp_tristate_off (LM_RIGHT_POWERBALL);
		task_sleep (TIME_500MS);
	}
}
예제 #28
0
void high_score_leff (void)
{
	gi_leff_enable (GI_ALL_ILLUMINATION);
	gi_leff_dim (GI_FRONT_PLAYFIELD, 3);
	gi_leff_dim (GI_REAR_PLAYFIELD, 3);
	lamplist_apply_leff_alternating (LAMPLIST_PLAYFIELD, 0);
	leff_create_peer (high_score_leff_flashers);
	for (;;)
	{
		lamplist_apply (LAMPLIST_PLAYFIELD, leff_toggle);
		flasher_pulse (FLASH_CLOCK_FLASHERS);
		task_sleep (TIME_300MS);
	}
	leff_exit ();
}
예제 #29
0
파일: loop.c 프로젝트: hydra/freewpc
void light_right_loop_lamps (void)
{
	/* Turn off all lamps */
	lamplist_apply (LAMPLIST_RIGHT_LOOPS, lamp_off);
	
	/* Light up previous lamps and flash the current level */
	U8 i;
	for (i = 0; i < right_loop_level; i++)
	{
		lamp_tristate_on (right_loop_lamps[i]);
	}
	//lamp_tristate_flash (right_loop_lamps[right_loop_level]);
	
	/* Store right_loop_level */
	last_right_loop_level = right_loop_level;
}
예제 #30
0
파일: jets.c 프로젝트: SonnyJim/freewpc
CALLSET_ENTRY (jets, lamp_update)
{
	if (!timed_mode_running_p (&jets_frenzy_mode))
	{
		lamplist_apply (LAMPLIST_JETS_ENTER, lamp_off);
		
		if (score_compare (total_jets_score, score_table[SC_25K]) >= 0)
			lamp_on (LM_JETS_25K);
		if (score_compare (total_jets_score, score_table[SC_50K]) >= 0)
			lamp_on (LM_JETS_50K);
		if (score_compare (total_jets_score, score_table[SC_100K]) >= 0)
			lamp_on (LM_JETS_100K);
		if (score_compare (total_jets_score, score_table[SC_500K]) >= 0)
			lamp_on (LM_JETS_500K);
	}

}