Пример #1
0
/**
 * See if a factory reset is needed.  The 'init_ok' event is
 * thrown and any catchers can return FALSE if a factory reset
 * should occur.  The accept button must be pressed afterwards
 * to confirm.
 */
void factory_reset_if_required (void)
{
	if (!callset_invoke_boolean (init_ok))
	{
		deff_stop (DEFF_SYSTEM_RESET);
#ifdef CONFIG_DMD_OR_ALPHA
		dmd_alloc_low_clean ();
		font_render_string_center (&font_mono5, 64, 10, "FACTORY SETTINGS");
		font_render_string_center (&font_mono5, 64, 20, "RESTORED");
		dmd_show_low ();
#endif
		factory_reset ();
		task_sleep_sec (4);
		warm_reboot ();
	}
}
Пример #2
0
void tsm_mode_deff (void)
{
	for (;;)
	{
		dmd_alloc_low_clean ();
		font_render_string_center (&font_var5, 64, 5, "TOWN SQUARE MADNESS");
		sprintf_current_score ();
		font_render_string_center (&font_fixed6, 64, 16, sprintf_buffer);
		font_render_string_center (&font_var5, 64, 27, "JETS AT 500K");
		sprintf ("%d", tsm_mode_timer);
		font_render_string (&font_var5, 2, 2, sprintf_buffer);
		font_render_string_right (&font_var5, 126, 2, sprintf_buffer);
		dmd_show_low ();
		task_sleep (TIME_200MS);
	}
}
Пример #3
0
static void
diag_message_flash (void)
{
	U8 n;
	dmd_clean_page_high ();
	for (n = 0; n < 5; n++)
	{
		task_sleep (TIME_200MS);
		dmd_show_high ();
		task_sleep (TIME_100MS);
		dmd_show_low ();
		sound_send (SND_TEST_ALERT);
	}
	task_sleep_sec (1);
	barrier ();
}
Пример #4
0
void sslot_mode_deff (void)
{
	for (;;)
	{
		dmd_alloc_low_clean ();
		font_render_string_center (&font_var5, 64, 5, "SHOOT SLOT MACHINE");
		sprintf_current_score ();
		font_render_string_center (&font_fixed6, 64, 16, sprintf_buffer);
		font_render_string_center (&font_var5, 64, 27, sslot_award_names[sslot_award_index]);
		sprintf ("%d", sslot_mode_timer);
		font_render_string (&font_var5, 2, 2, sprintf_buffer);
		font_render_string_right (&font_var5, 126, 2, sprintf_buffer);
		dmd_show_low ();
		task_sleep (TIME_200MS);
	}
}
Пример #5
0
void skill_menu_draw(void) {
	dbprintf ("skill_menu: drawing menu, selection:%d\n", skill_menu_selection);
	dmd_alloc_low_clean ();

	// every 5 seconds toggle left hand side of the menu screen between instructions for the menu and instructions for the shot
	skill_menu_draw_count++;
	// 2 = alternate between 2 things
	if (skill_menu_draw_count % (SKILL_SHOW_SHOT_INFO * 2) > SKILL_SHOW_SHOT_INFO) {
		current_skill_menu_text = &skill_menu_text[skill_menu_selection + 1];
	} else {
		current_skill_menu_text = skill_menu_text[0];
	}

	//dmd_draw_border (dmd_low_buffer);
	// 5 = y offset, 5 = height, 2 = space between lines
	font_render_string_center (&font_var5, 32, 6, current_skill_menu_text[0]);
	font_render_string_center (&font_var5, 32, 6 + 5 + 2, current_skill_menu_text[1]);
	font_render_string_center (&font_var5, 32, 6 + 5 + 5 + 2 + 2, current_skill_menu_text[2]);

	// 5 = y offset, 5 = height, 4 = space between lines
	// bigger gap between lines, so we can draw box around them
	// TODO draw boxes round each item
	font_render_string_center (&font_var5, 96, 5, "ROLLOVER");
	font_render_string_center (&font_var5, 96, 13, "SKIDPAD");
	font_render_string_center (&font_var5, 96, 4 + 5 + 5 + 4 + 3, "DRAGRACE");

	font_render_string_center (&font_var5, 64, 29, "USE FLIPPERS TO SELECT");

	// TODO flash box around selected item
	switch (skill_menu_selection) {
		case SKILL_ROLLOVER:
			font_render_string_center (&font_var5, 70, 5, ">");
			font_render_string_center (&font_var5, 122, 5, "<");
		break;
		case SKILL_SKIDPAD:
			font_render_string_center (&font_var5, 70, 13, ">");
			font_render_string_center (&font_var5, 122, 13, "<");
		break;
		case SKILL_QUICK_MB:
			font_render_string_center (&font_var5, 70, 3 + 6 + 6 + 4 + 2, ">");
			font_render_string_center (&font_var5, 122, 3 + 6 + 6 + 4 + 2, "<");
		break;
	}


	dmd_show_low ();
}
Пример #6
0
void car_chase_effect_deff(void) {
	U8 i = 0;
	for (;;) {
		if (++i % 5 == 0) 	{
			sound_start (ST_SAMPLE, CAR_SKID, SL_2S, PRI_GAME_QUICK5);
			dmd_sched_transition (&trans_scroll_left_fast);
		}
		dmd_alloc_low_clean ();
		font_render_string_center (&font_fipps, DMD_MIDDLE_X, DMD_BIG_CY_Top, "CAR_CHASE");
		sprintf ("%d SEC LEFT,  %d HIT", car_chase_mode_timer, car_chase_mode_shots_made);
		font_render_string_center (&font_var5, DMD_MIDDLE_X, DMD_SMALL_CY_3, sprintf_buffer);
		sprintf_score (car_chase_mode_score);
		font_render_string_center (&font_term6, DMD_MIDDLE_X, DMD_MED_CY_3, sprintf_buffer);
		dmd_show_low ();
		task_sleep (TIME_500MS);
	}//END OF ENDLESS LOOP
}//end of mode_effect_deff
Пример #7
0
void pb_test_draw (void)
{
	dmd_alloc_low_clean ();
	font_render_string_center (&font_mono5, 64, 0, "POWERBALL TEST");

	if (pb_location == PB_MISSING)
		sprintf ("LOST");
	else if (pb_location & PB_IN_LOCK)
		sprintf ("LOCK");
	else if (pb_location & PB_IN_TROUGH)
		sprintf ("TROUGH");
	else if (pb_location & PB_IN_GUMBALL)
		sprintf ("GUMBALL");
	else if (pb_location & PB_IN_PLAY)
		sprintf ("P.F.");
	else if (pb_location & PB_MAYBE_IN_PLAY)
		sprintf ("NOT SURE");
	else
		sprintf ("ERROR");
	font_render_string_left (&font_mono5, 0, 6, sprintf_buffer);

	if (pb_location & (PB_IN_LOCK | PB_IN_TROUGH))
	{
		sprintf ("POS. %d", pb_depth);
		font_render_string_right (&font_mono5, 127, 6, sprintf_buffer);
	}

	sprintf ("TROUGH SW. %s",
		switch_poll_logical (SW_TROUGH_PROXIMITY) ? "CLOSED" : "OPEN");
	font_render_string_left (&font_mono5, 0, 12, sprintf_buffer);

	sprintf ("SLOT SW. %s",
		switch_poll_logical (SW_SLOT_PROXIMITY) ? "CLOSED" : "OPEN");
	font_render_string_left (&font_mono5, 0, 18, sprintf_buffer);

	switch (pb_test_command)
	{
		case KICK_TROUGH: sprintf ("REL. TROUGH"); break;
		case KICK_LOCK: sprintf ("REL. LOCK"); break;
		case RELEASE_GUMBALL: sprintf ("REL. GUMBALL"); break;
		case LOAD_GUMBALL: sprintf ("LOAD GUMBALL"); break;
	}
	font_render_string_left (&font_mono5, 0, 24, sprintf_buffer);

	dmd_show_low ();
}
Пример #8
0
void car_chase_start_effect_deff(void) {
	sound_start (ST_SAMPLE, CAR_SKID, SL_2S, PRI_GAME_QUICK5);

	car_chase_animation_display_effect (IMG_CARCHASE_A_START, IMG_CARCHASE_A_END);
	car_chase_animation_display_effect (IMG_CARCHASE_B_START, IMG_CARCHASE_B_END);
	car_chase_animation_display_effect (IMG_CARCHASE_C_START, IMG_CARCHASE_C_END);
	car_chase_animation_display_effect (IMG_CARCHASE_D_START, IMG_CARCHASE_D_END);

	dmd_sched_transition (&trans_scroll_left_fast);
	dmd_alloc_low_clean ();

	sound_start (ST_SAMPLE, CAR_SKID, SL_2S, PRI_GAME_QUICK5);

	font_render_string_center (&font_fipps, DMD_MIDDLE_X, DMD_BIG_CY_Cent, "SHOOT RAMPS");
	dmd_show_low ();
	task_sleep_sec (1);
	deff_exit ();
}//end of mode_effect_deff
Пример #9
0
void shoot_hitch_deff (void)
{
	dmd_alloc_low_clean ();
	dmd_sched_transition (&trans_scroll_left);	
	if (hurryup_active ())
	{
		font_render_string_center (&font_fireball, 64, 8, "SHOOT");
		font_render_string_center (&font_quadrit, 64, 22, "POWER PAYOFF");
	}
	else
	{
		font_render_string_center (&font_quadrit, 64, 6, "SHOOT HITCHHIKER");
		font_render_string_center (&font_quadrit, 64, 22, "TO UNLOCK POWER");
	}
	dmd_show_low ();
	task_sleep_sec (1);
	deff_exit ();
}
Пример #10
0
void dragrace_draw( void ) {
	dmd_alloc_low_clean ();
	font_render_string_center (&font_supercar9, 64, 10, "DRAGRACE");

	// TODO replace these counters with pretty dragrace progress animation/graphics.

	/*
	sprintf("%d", dragrace_counter);
	font_render_string_center (&font_supercar9, 64, 20, sprintf_buffer);
	*/

	sprintf("%s %d", car_names[player_car], player_car_position);
	font_render_string_center (&font_var5, 64, 20, sprintf_buffer);
	sprintf("%s %d", car_names[computer_car], computer_car_position);
	font_render_string_center (&font_var5, 64, 29, sprintf_buffer);

	dmd_show_low ();
}
Пример #11
0
void amode_score_page (void)
{
	dmd_alloc_low_clean ();
	scores_draw ();
	dmd_show_low ();

	/* Hold the scores up for a while longer than usual
	 * in tournament mode or when triggered by a right button hold */
	if (system_config.tournament_mode == YES || amode_show_scores_long)
	{
		/* Don't allow the player to skip past the scores for 10 seconds */
		timer_restart_free (GID_AMODE_BUTTON_DEBOUNCE, TIME_10S);
		amode_show_scores_long = FALSE;
		amode_page_end (120);
	}
	else
		amode_page_end (5);
}
Пример #12
0
/** The display effect for a non-fatal error */
void nonfatal_error_deff (void)
{
#ifdef DEBUGGER
	dmd_alloc_low_clean ();
	sprintf ("NONFATAL %ld", system_audits.non_fatal_errors);
	font_render_string_center (&font_mono5, 64, 10, sprintf_buffer);
	sprintf ("ERRNO %i GID %i", last_nonfatal_error_code, last_nonfatal_error_gid);
	font_render_string_center (&font_mono5, 64, 20, sprintf_buffer);
	dmd_show_low ();
	sound_send (SND_TEST_ALERT);
	task_sleep (TIME_200MS);
	sound_send (SND_TEST_ALERT);
	task_sleep (TIME_200MS);
	sound_send (SND_TEST_ALERT);
	task_sleep_sec (4);
#endif
	deff_exit ();
}
Пример #13
0
void rollover_completed_deff (void)
{
    dmd_alloc_low_clean ();
    if (rollover_count % 4 == 0)
    {
        font_render_string_center (&font_cowboy, 64, 8, "CAMERA");
        font_render_string_center (&font_cowboy, 64, 18, "LIT");
        sound_send (SND_CAMERA_PICTURE_EJECT_2);
    }
    else
    {
        font_render_string_center (&font_quadrit, 64, 8, "ROLLOVER");
        font_render_string_center (&font_quadrit, 64, 18, "COMPLETED");
        sound_send (SND_GLASS_BREAKS);
    }
    dmd_show_low ();
    task_sleep_sec (1);
    deff_exit ();
}
Пример #14
0
void dragrace_winner_anim(void) {

	dragracedbprintf ("dragrace_winner_anim: start\n");
	//ball_search_timer_reset();

	// TODO sound
	// TODO animation/graphics
	lamp_tristate_on(LM_LEFT_TREE_GREEN);
	lamp_tristate_off(LM_RIGHT_TREE_GREEN);
	lamp_tristate_off(LM_LEFT_TREE_RED);
	lamp_tristate_on(LM_RIGHT_TREE_RED);

	dmd_alloc_low_clean ();
	font_render_string_center (&font_supercar9, 64, 16, "WINNER");
	dmd_show_low ();

	task_sleep_sec(3);
	dragracedbprintf ("dragrace_winner_anim: exit\n");
}
Пример #15
0
void pitstop_award_draw(void) {
    dmd_alloc_low_clean ();

    // draw list of non-elimited awards
    for (pitstop_award_index = 0; pitstop_award_index < PITSTOP_AWARD_ITEMS; pitstop_award_index++) {
        pitstop_award = selected_pitstop_awards[pitstop_award_index];
        if (pitstop_award != DISABLED_AWARD) {
#ifdef DEBUG_PITSTOP_AWARD
            dbprintf("drawing award: %d, %d, %s\n", pitstop_award_index, pitstop_award, pitstop_award_options_titles[pitstop_award]);
#endif
            font_render_string_center (&font_var5, 64, 5 + (6 * pitstop_award_index), pitstop_award_options_titles[pitstop_award]);
        }
#ifdef DEBUG_PITSTOP_AWARD
        else {
            dbprintf("skipping award: %d, %d, %s\n", pitstop_award_index, pitstop_award, pitstop_award_options_titles[pitstop_award]);
        }
#endif
    }
    dmd_show_low();
}
Пример #16
0
void sssmb_running_deff (void)
{
	for (;;)
	{
		score_update_start ();
		dmd_alloc_pair ();
		dmd_clean_page_low ();

		font_render_string_center (&font_term6, 64, 4, "SKILL MULTIBALL");

		sprintf_current_score ();
		font_render_string_center (&font_fixed6, 64, 16, sprintf_buffer);

		dmd_copy_low_to_high ();

		if (timer_find_gid (GID_SSSMB_DIVERT_DEBOUNCE))
		{
			sprintf ("SKILL SHOT SCORES JACKPOT");
		}
		else if (sssmb_ramps_to_divert == 0)
		{
			sprintf ("SHOOT LEFT RAMP NOW");
		}
		else if (sssmb_ramps_to_divert == 1)
		{
			sprintf ("1 RAMP FOR SKILL SHOT");
		}
		else
		{
			sprintf ("%d RAMPS FOR SKILL SHOT", sssmb_ramps_to_divert);
		}
		font_render_string_center (&font_var5, 64, 26, sprintf_buffer);

		dmd_show_low ();
		while (!score_update_required ())
		{
			task_sleep (TIME_66MS);
			dmd_show_other ();
		}
	}
}
Пример #17
0
/** Display effect that runs during the extra ball buyin */
void buyin_offer_deff (void)
{
	U8 prev_timer;
	extern U8 buyin_offer_timer;

#if (MACHINE_DMD == 1)
	dmd_sched_transition (&trans_bitfade_slow);
#else
	seg_sched_transition (&seg_trans_fast_center_out);
#endif
	while (buyin_offer_timer > 0)
	{
		prev_timer = buyin_offer_timer;
		dmd_alloc_low_clean ();
		dmd_draw_border (dmd_low_buffer);
		font_render_string_center (&font_term6, 64, 5, "CONTINUE GAME");
#if (MACHINE_DMD == 1)
		sprintf ("%d", buyin_offer_timer);
		font_render_string_left (&font_mono5, 4, 3, sprintf_buffer);
		font_render_string_right (&font_mono5, 123, 3, sprintf_buffer);
		if (buyin_offer_timer % 2)
		{
			font_render_string_center (&font_bitmap8, 64, 16, "INSERT COINS");
			font_render_string_center (&font_bitmap8, 64, 26, "FOR EXTRA BALL");
		}
		else
		{
			font_render_string_center (&font_bitmap8, 64, 16, "THEN PRESS");
			font_render_string_center (&font_bitmap8, 64, 26, "BUY EXTRA BALL");
		}
#else
		sprintf ("%d SECS", buyin_offer_timer);
		seg_write_row_center (1, sprintf_buffer);
#endif
		dmd_show_low ();
		while (prev_timer == buyin_offer_timer)
			task_sleep (TIME_133MS);
	}
	task_sleep (TIME_1500MS);
	deff_exit ();
}
Пример #18
0
void tz_clock_test_draw (void)
{
	extern __machine__ U8 tz_clock_gettime (void);
	U8 intervals;
	U8 hour;
	U8 minute;

	dmd_alloc_low_clean ();
	font_render_string_center (&font_var5, 64, 2, "CLOCK MECH. TEST");
	switch (clock_test_setting)
	{
		case -3: sprintf ("REV. FAST"); break;
		case -2: sprintf ("REV. MID"); break;
		case -1: sprintf ("REV. SLOW"); break;
		case 0: sprintf ("NO SPEED"); break;
		case 1: sprintf ("FWD. SLOW"); break;
		case 2: sprintf ("FWD. MID"); break;
		case 3: sprintf ("FWD. FAST"); break;
	}
	font_render_string_center (&font_var5, 32, 11, sprintf_buffer);

	font_render_string_center (&font_var5, 96, 11,
		clock_can_run ? "RUNNING" : "STOPPED");

	intervals = tz_clock_gettime ();
	hour = intervals / 4;
	minute = (intervals % 4 * 15);

	//sprintf ("%02d:%02d", hour, minute);
	sprintf ("MIN: %02X", clock_minute_sw);
	font_render_string_center (&font_var5, 32, 18, sprintf_buffer);
	sprintf ("HOUR: %d", clock_hour);
	font_render_string_center (&font_var5, 32, 24, sprintf_buffer);

	sprintf ("SW.: %02X", clock_sw);
	font_render_string_center (&font_var5, 96, 18, sprintf_buffer);

	sprintf ("ACTIVE: %02X", (clock_sw_seen_active & clock_sw_seen_inactive));
	font_render_string_center (&font_var5, 96, 24, sprintf_buffer);
	dmd_show_low ();
}
Пример #19
0
void print_header (void)
{
	if (print_header_needed == FALSE)
		return;

	print_header_needed = FALSE;
	printer_pageno++;

	/**
	 * Just before printing the page header, see if the PAUSE EVERY PAGE
	 * setting is on.  If so, the user must press Enter before the page
	 * is written.  This would be for printers that need paper manually fed
	 * into them.
	 */
	if (printer_config.pause_every_page == YES)
	{
		dmd_alloc_low_clean ();
		font_render_string_center (&font_mono5, 64, 11, "PRESS ENTER");
		font_render_string_center (&font_mono5, 64, 21, "FOR NEXT PAGE");
		dmd_show_low ();

		while (!switch_poll (SW_ENTER))
			task_sleep (TIME_66MS);
		while (switch_poll (SW_ENTER))
			task_sleep (TIME_66MS);
	}

	/* Print the actual page header.
	 * Note that we do not use sprintf() here, as that has been
	 * seen to cause stack overflows.  We opt for a much simpler
	 * approach whereby the tilde character is substituted with
	 * the real page number.  This limits reports to 9 pages.
	 * The proper solution would be to use fork a separate
	 * task to work around the stack size limitation.
	 */
	print_string (printout_name);
	print_line_right ("PAGE ~");
	print_nl ();
}
Пример #20
0
void player_tournament_ready_deff (void)
{
	U8 timer;

	dmd_alloc_low_clean ();
#if (MACHINE_DMD == 1)
	font_render_string_center (&font_fixed6, 64, 5, "TOURNAMENT");
	font_render_string_center (&font_fixed6, 64, 16, "MODE ENABLED");
#else
	font_render_string_center (&font_var5, 64, 5, "TOURNAMENT MODE");
#endif
	font_render_string_center (&font_var5, 64, 28, "PRESS START NOW");
	dmd_show_low ();

	timer = 7;
	do {
		task_sleep_sec (1);
	} while (--timer != 0);

	tournament_mode_enabled = OFF;
	deff_exit ();
}
Пример #21
0
void tom_trunk_test_draw (void)
{
	dmd_alloc_low_clean ();
	font_render_string_center (&font_mono5, 64, 2, "TRUNK MOTOR TEST");
	switch (tom_trunk_test_mode)
	{
		case -2: sprintf ("REV. FAST"); break;
		case -1: sprintf ("REV. SLOW"); break;
		case 0: sprintf ("NO SPEED"); break;
		case 1: sprintf ("FWD. SLOW"); break;
		case 2: sprintf ("FWD. FAST"); break;
	}
	font_render_string_center (&font_mono5, 32, 11, sprintf_buffer);

	font_render_string_center (&font_mono5, 96, 11,
		tom_trunk_motor_on ? "RUNNING" : "STOPPED");

	sprintf ("POS %1d", trunk_curr_pos);
	font_render_string_center (&font_mono5, 96, 18, sprintf_buffer);

	dmd_show_low ();
}
Пример #22
0
void fortress_effect_deff (void) {
	for (;;) {
			dmd_clean_page_low ();
//right side status display
			ll_score_draw_ball ();

//left side display
			sprintf_score(current_score);
			font_render_string_center (&font_var5, 50, 13, sprintf_buffer);
			font_render_string_right (&font_halobold12, 100, 1, "FORTRESS");

			if (fortress_ballsave) {
				sprintf ("%d BALL SAVE", fortress_ballsave);
				font_render_string_center (&font_var5, 50, DMD_MED_CY_BOTTOM_LINE + 3, sprintf_buffer);
			}
			else
			if (fortress_display_counter % 4 != 0) { //draw for 9/10 and blank for 1/10
				if (FORT_TOGGLE == 0) 		{ sprintf ("10 MILLION"); font_render_string_right (&font_fixed6, 85, 21, sprintf_buffer); }
				else if (FORT_TOGGLE == 1)	{ sprintf ("JACKPOT LIT"); font_render_string_right (&font_fixed6, 92, 21, sprintf_buffer); }
				else if (FORT_TOGGLE == 2)	{
					sprintf ("%d JACKPOTS MADE", fortress_jackpot_shots_made);
					font_render_string_right (&font_var5, 85, 19, sprintf_buffer);

					if (get_is_super_jackpot_lit()) sprintf ("SUPER JACKPOT LIT");
					else sprintf ("SHOOT %d ENABLE SUPER", 5 - (fortress_jackpot_shots_made % 5) );
					font_render_string_right (&font_var5, 95, 26, sprintf_buffer);
				}
			} else 						  sprintf ("");
			dmd_show_low();
			task_sleep (TIME_1S);

		if (++fortress_display_counter >= 30) fortress_display_counter  = 0;
		if (fortress_display_counter % 20 == 0) {
			if (++FORT_TOGGLE > 2) FORT_TOGGLE = 0; //change FORT_TOGGLE once per
			if (DM_IN_DMD_TEST) 	score (FORTRESS_MB_SCORE);
		}
	}//END OF ENDLESS LOOP
}//end of function
Пример #23
0
void huxley_effect_deff(void) {
	for (;;) {
		dmd_clean_page_low ();
		//right side status display
		ll_score_draw_ball ();

		//left side display
				sprintf_score(current_score);
				font_render_string_right (&font_var5, 98, 26, sprintf_buffer);
				font_render_string_center (&font_halobold12, 50, 5, "HUXLEY");
				if (ballsave_test_active()) {
					sprintf ("%d BALL SAVE", ballsave_get_timer());
					font_render_string_right (&font_var5, 88, 27, sprintf_buffer);
				}
				else
					font_render_string_right (&font_term6, 98, 14, "1 MILLION");

				sprintf ("%d", huxley_mode_timer);
				font_render_string_left (&font_halobold12, 1, 14, sprintf_buffer);
				dmd_show_low();
				task_sleep (TIME_1S);
	}//END OF ENDLESS LOOP
	deff_exit ();
}//end of mode_effect_deff
Пример #24
0
void bpt_display (void)
{
#if (MACHINE_DMD == 1)
	dmd_alloc_low_clean ();

	sprintf ("%p", bpt_mem_addr);
	font_render_string_left (&font_bitmap8, 0, 0, sprintf_buffer);

	sprintf ("%02X %02X %02X %02X",
		bpt_mem_addr[0], bpt_mem_addr[1], bpt_mem_addr[2], bpt_mem_addr[3]);
	font_render_string_left (&font_bitmap8, 40, 0, sprintf_buffer);

	if (new_fatal_error)
	{
		sprintf ("ERR %d GID %d",
			(U8)system_audits.lockup1_addr, (U8)system_audits.lockup1_pid_lef);
		font_render_string_left (&font_bitmap8, 0, 8, sprintf_buffer);
	}
	else if (task_getpid ())
	{

		sprintf ("PID %p GID %d", task_getpid (), task_getgid ());
		font_render_string_left (&font_bitmap8, 0, 8, sprintf_buffer);
		sprintf ("%02X%02X %02X", bpt_addr[0], bpt_addr[1]-2, bpt_addr[2]);
		font_render_string_left (&font_bitmap8, 0, 16, sprintf_buffer);
	}
	else
	{
		font_render_string_left (&font_bitmap8, 0, 8, "BREAK");
	}

	sprintf ("C%04lX", prev_log_callset);
	font_render_string_left (&font_bitmap8, 0, 24, sprintf_buffer);
	dmd_show_low ();
#endif
}
Пример #25
0
void huxley_start_effect_deff(void) {
	dmd_alloc_pair_clean ();
	sound_start (ST_SAMPLE, EXPLOSION, SL_2S, PRI_GAME_QUICK5);
	font_render_string_center (&font_fipps, DMD_MIDDLE_X, DMD_BIG_CY_Top, "LENINA");
	font_render_string_center (&font_fipps, DMD_MIDDLE_X, DMD_BIG_CY_Bot, "HUXLEY");
	dmd_show_low();
	task_sleep (TIME_500MS);

	sound_start (ST_SPEECH, SPCH_SOME_ACTION, SL_4S, PRI_GAME_QUICK5);
	dmd_sched_transition (&trans_scroll_down);
	dmd_alloc_pair_clean ();
	huxley_animation_display_effect (IMG_HUXLEY_A_START, IMG_HUXLEY_A_END);

	sound_start (ST_SAMPLE, EXPLOSION, SL_2S, PRI_GAME_QUICK5);
	dmd_sched_transition (&trans_scroll_down);
	dmd_alloc_pair_clean ();
	font_render_string_center (&font_fipps, DMD_MIDDLE_X, DMD_BIG_CY_Top, "STANDUPS");
	font_render_string_center (&font_fipps, DMD_MIDDLE_X, DMD_BIG_CY_Bot, "1 MILLION");
	dmd_show_low();
	task_sleep (TIME_300MS);

	sound_start (ST_SPEECH, SPCH_WEEAHOO, SL_4S, PRI_GAME_QUICK5);
	dmd_sched_transition (&trans_scroll_down);
	dmd_alloc_pair_clean ();
	huxley_animation_display_effect (IMG_HUXLEY_B1_START, IMG_HUXLEY_B1_END);

	sound_start (ST_SAMPLE, EXPLOSION, SL_2S, PRI_GAME_QUICK5);
	dmd_sched_transition (&trans_scroll_down);
	dmd_alloc_pair_clean ();
	font_render_string_center (&font_fipps, DMD_MIDDLE_X, DMD_BIG_CY_Top, "REBOUNDS");
	font_render_string_center (&font_fipps, DMD_MIDDLE_X, DMD_BIG_CY_Bot, "1 MILLION");
	dmd_show_low();
	task_sleep (TIME_300MS);

	sound_start (ST_SPEECH, SPCH_EXCUSE_ME, SL_4S, PRI_GAME_QUICK5);
	dmd_sched_transition (&trans_scroll_down);
	dmd_alloc_pair_clean ();
	huxley_animation_display_effect (IMG_HUXLEY_B2_START, IMG_HUXLEY_B2_END);

	sound_start (ST_SAMPLE, EXPLOSION, SL_2S, PRI_GAME_QUICK5);
	dmd_sched_transition (&trans_scroll_down);
	dmd_alloc_pair_clean ();
	font_render_string_center (&font_fipps, DMD_MIDDLE_X, DMD_BIG_CY_Top, "ORBITS");
	font_render_string_center (&font_fipps, DMD_MIDDLE_X, DMD_BIG_CY_Bot, "1 MILLION");
	dmd_show_low();
	task_sleep (TIME_300MS);

	sound_start (ST_SPEECH, SPCH_WHAT_ARE_YOU_DOING, SL_4S, PRI_GAME_QUICK5);
	dmd_sched_transition (&trans_scroll_down);
	dmd_alloc_pair_clean ();
	huxley_animation_display_effect (IMG_HUXLEY_D_START, IMG_HUXLEY_D_END);

	sound_start (ST_SAMPLE, EXPLOSION, SL_2S, PRI_GAME_QUICK5);
	dmd_sched_transition (&trans_scroll_down);
	dmd_alloc_pair_clean ();
	font_render_string_center (&font_fipps, DMD_MIDDLE_X, DMD_BIG_CY_Top, "RAMPS");
	font_render_string_center (&font_fipps, DMD_MIDDLE_X, DMD_BIG_CY_Bot, "1 MILLION");
	dmd_show_low();
	task_sleep (TIME_300MS);

	sound_start (ST_SPEECH, SPCH_I_GOT_IT, SL_4S, PRI_GAME_QUICK5);
	dmd_sched_transition (&trans_scroll_down);
	dmd_alloc_pair_clean ();
	huxley_animation_display_effect (IMG_HUXLEY_E_START, IMG_HUXLEY_E_END);

	sound_start (ST_SAMPLE, EXPLOSION, SL_2S, PRI_GAME_QUICK5);
	dmd_sched_transition (&trans_scroll_down);
	dmd_alloc_pair_clean ();
	font_render_string_center (&font_fipps, DMD_MIDDLE_X, DMD_BIG_CY_Top, "SUBWAY");
	font_render_string_center (&font_fipps, DMD_MIDDLE_X, DMD_BIG_CY_Bot, "1 MILLION");
	dmd_show_low();
	task_sleep (TIME_300MS);
	deff_exit ();
}//end of mode_effect_deff
Пример #26
0
void message_end (void)
{
	dmd_show_low ();
	task_sleep (TIME_2S+TIME_166MS);
	deff_exit ();
}
Пример #27
0
void amode_credits_page (void)
{
    credits_draw ();
    dmd_show_low ();
    amode_page_end (1);
}