⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 play.old

📁 一个两碟控制的VCD的代码,两碟之间的转动及连续播放,已大量生产的CODE.
💻 OLD
📖 第 1 页 / 共 5 页
字号:
#ifdef FOUR_LINE_OSD
	region = OSD_VOCAL_REGION;
#endif
    }

    if (show_osd) {
	OUTOSD(region, msg, c_msg, DISPLAY_TIME_OUT);
    }
}

/*------------------------------------------------------------------------
  Function:

  Parameters:

  Description:
------------------------------------------------------------------------*/
extern int SystemStatus;

int process_non_play_keys()
{
    int min, sec;
    int key_processed = 1;
    int save_key;
    int i;

    /* check if we are in power off key */
#ifdef DSC
    if (IS_POWER_DOWN) {
	if (current_key != POWER_KEY) {
	    current_key = NO_KEY;
	    return (1);
	}
    }
#endif

#ifdef DVD_VCD
    if (current_key == POWER_KEY){
	av_sys_power_down();
    }
#endif
    save_key = current_key;
    current_key = NO_KEY;

#ifdef SCREEN_ON_TIME_SAME_KEY

#if (defined(FOUR_LINE_OSD) && !defined(BF43))
#define SCREEN_KEY_INDEX_LIMIT	3
#define TIME_KEY_INDEX_LIMIT	5
#else
#define SCREEN_KEY_INDEX_LIMIT	2
#define TIME_KEY_INDEX_LIMIT	4
#endif /* FOUR_LINE_OSD && not BF43 */

    /* Convert the osd and  time key. */
    if ((save_key == SCREEN_ON_KEY)
	&& ((!(DiscMode & DISC_PBC_ON) || (SystemStatus != SYSTEM_PLAYING)))
#ifdef VCDROM
	&& (play_clip != VCD30_PLAY_CLIP)
#endif
    ) {
	osd_time_key_index++;
	if (osd_time_key_index < SCREEN_KEY_INDEX_LIMIT) {
	    save_key = SCREEN_ON_KEY;
	} else if (osd_time_key_index == TIME_KEY_INDEX_LIMIT) {
	    save_key = SCREEN_ON_KEY;
	    osd_time_key_index = 0;
	} else {
	    save_key = TIME_KEY;
	}
    }
#endif


#ifdef ZOOM

#ifdef HUALU_REMOTE
     if (zoom_level >= 1) {
         /* reset zoom level if the key is not good for zoom mode. */
         if (save_key == FF_KEY)
             save_key = ZOOM_RIGHT_KEY;
         else if (save_key == FB_KEY)
             save_key = ZOOM_LEFT_KEY;
         else if (save_key == NEXT_KEY)
             save_key = ZOOM_DOWN_KEY;
         else if (save_key == PREVIOUS_KEY)
             save_key = ZOOM_UP_KEY;
     }
#endif

#ifdef MEIXINDA_REMOTE

    if (zoom_level >= 1) {
	/* reset zoom level if the key is not good for zoom mode. */
        if (save_key == FF_KEY)
	   save_key = ZOOM_RIGHT_KEY;
        else if (save_key == FB_KEY)
	   save_key = ZOOM_LEFT_KEY;
        else if (save_key == STOP_KEY)
	   save_key = ZOOM_DOWN_KEY;
        else if (save_key == PLAY_KEY)
	   save_key = ZOOM_UP_KEY;
    }
#endif


#ifdef ZHENSHENG_REMOTE
     if (zoom_level >= 1) {
         /* reset zoom level if the key is not good for zoom mode. */
         if (save_key == FF_KEY)
              save_key = ZOOM_RIGHT_KEY;
         else if (save_key == FB_KEY)
              save_key = ZOOM_LEFT_KEY;
         else if (save_key == VOLUME_DOWN_KEY)
             save_key = ZOOM_DOWN_KEY;
         else if (save_key == VOLUME_UP_KEY)
             save_key = ZOOM_UP_KEY;
     }
#endif



#ifdef KANGHUI_REMOTE

    if (zoom_level >= 1) {
	/* reset zoom level if the key is not good for zoom mode. */
        if (save_key == FF_KEY)
	   save_key = ZOOM_RIGHT_KEY;
        else if (save_key == FB_KEY)
	   save_key = ZOOM_LEFT_KEY;
        else if (save_key == NEXT_KEY)
	   save_key = ZOOM_DOWN_KEY;
        else if (save_key == PREVIOUS_KEY)
	   save_key = ZOOM_UP_KEY;
    }
#endif




#ifdef YONGSHENG_801
    if (zoom_level == 0) {
        if (save_key == ZOOM_LEFT_KEY)
           save_key = ECHO_MINUS;
        else if (save_key == ZOOM_RIGHT_KEY)
           save_key = ECHO_PLUS;
    }
#endif

#ifdef AIQING_REMOTE

    if (zoom_level >= 1) {
	/* reset zoom level if the key is not good for zoom mode. */
        if (save_key == 7)
	   save_key = ZOOM_RIGHT_KEY;
        else if (save_key == 5)
	   save_key = ZOOM_LEFT_KEY;
        else if (save_key == 10)
	   save_key = ZOOM_DOWN_KEY;
        else if (save_key == 2)
	   save_key = ZOOM_UP_KEY;
    }
#endif

    if (zoom_level) {
	/* reset zoom level if the key is not good for zoom mode. */
	if ((save_key < ZOOM_IN_KEY) || (save_key > ZOOM_DOWN_KEY)) {
	    zoom_reset();
	}
    }
#endif


#if 0
#ifdef MEIXINDA_REMOTE
    if ((save_key == KEY_RESUME_KEY) || (save_key == KEY_PLUS) || (save_key == KEY_MINUS)) {
       if (mode_state == 1) {
          if (save_key == KEY_PLUS) {
              save_key = VOLUME_UP_KEY;
          } else if (save_key == KEY_MINUS) {
              save_key = VOLUME_DOWN_KEY;
          }
       } else if (mode_state == 2) {
          if (save_key == KEY_PLUS) {
              save_key = TV_MODE_KEY;
          } else if (save_key == KEY_MINUS) {
              save_key = TV_MODE_KEY;
          }
       } else if (mode_state == 3) {
          if (save_key == KEY_PLUS) {
              save_key = VOCAL_ASSIST_KEY;
          } else if (save_key == KEY_MINUS) {
              save_key = VOCAL_ASSIST_KEY;
          }
       }
       if (save_key == KEY_RESUME_KEY ) {
          mode_state += 1;
          save_key = NO_KEY;
          if (mode_state == 4) {
             mode_state = 0;
          }
         if (mode_state == 0) {
          OUTOSD(OSD_AUDIO_REGION,MSG_keycontrol_msg, MSG_c_keycontrol_msg, DISPLAY_TIME_OUT);
          } else if (mode_state == 1) {
          OUTOSD(OSD_AUDIO_REGION,MSG_volume_msg,MSG_c_volume_msg, DISPLAY_TIME_OUT);
          } else if (mode_state == 2) {
          OUTOSD(OSD_AUDIO_REGION,MSG_tv_mode_msg , MSG_c_tv_mode_msg, DISPLAY_TIME_OUT);
          } else if (mode_state == 3) {
          OUTOSD(OSD_AUDIO_REGION,MSG_vocal_msg, MSG_c_vocal_msg, DISPLAY_TIME_OUT);
          }

       }
    }

#endif
#endif

   if (play_state == PLAY_NORMAL_STATE) {
        if (save_key == FREEZE_KEY ) {
           vcx_playaudio_only ^= 1;
           if (vcx_playaudio_only == 1)
               OUTOSD(1,MSG_freeze,MSG_c_freeze,0);
           else
              OUTOSD(OSD_FUNCTION_STATUS_REGION, clear_msg, clear_msg, 2);
           save_key = NO_KEY;
           return;
         }
        if ((save_key == PLAY_KEY) && (vcx_playaudio_only) ) {
           vcx_playaudio_only = 0;
           save_key = NO_KEY;
           OUTOSD(1,MSG_play,MSG_c_play,5);
           return;
          }
       }


    if (save_key == TV_MODE_KEY) {
	play_change_tv_mode();
	return (1);
    }

    if ((save_key == NEXT_KEY) || (save_key == PREVIOUS_KEY))
         forceDSAabort = 0;


    if ((save_key == EJECT_KEY)
#ifdef TWO_CDS
       || (save_key == DISC_1_EJECT_KEY)
       || (save_key == DISC_2_EJECT_KEY)
#endif
    ) {
        screen_display = 0;
	forceDSAabort = 0;

	if ((cd_opened > 0)
#ifdef TWO_CDS
       && (((save_key == DISC_1_EJECT_KEY) && (cd_disc_slot == 2))
       || ((save_key == DISC_2_EJECT_KEY) && (cd_disc_slot == 1))
       || (save_key == EJECT_KEY))
#endif
	) {
            OUTOSD(OSD_FUNCTION_STATUS_REGION, MSG_close, MSG_c_close,
		   DISPLAY_TIME_OUT);

            process_close_key();
        } else {
#ifndef THREE_CDS
#ifdef TWO_CDS
        if ((play_state == ENTRY_STATE) || (play_state == PLAY_MENU_STATE) || (cd_stop)) {
	       CLEARALLOSD();
	       asm("nop");
	    }
#else
	    CLEARALLOSD();
	    asm("nop");
#endif

#endif /* THREE_CDS */
            OUTOSD(OSD_FUNCTION_STATUS_REGION, MSG_open, MSG_c_open,
		   DISPLAY_TIME_OUT);
#ifdef NGAME
            NGAME_stopgame();
#endif

#ifdef TWO_CDS
    if (((play_state == ENTRY_STATE) || (play_state == PLAY_MENU_STATE) || (cd_stop))
         || (((cd_disc_slot == 1) && (save_key == DISC_1_EJECT_KEY))
         || ((cd_disc_slot == 2) && (save_key == DISC_2_EJECT_KEY)))
            ) {
          if (save_key == DISC_1_EJECT_KEY) {
                panel_system_status(SYSTEM_1OPEN);
          } else {
                panel_system_status(SYSTEM_2OPEN);
          }
       }
#endif
            process_open_key(save_key);
        }

        save_key = NO_KEY;
#ifndef THREE_CDS
#ifndef TWO_CDS
        play_state = ENTRY_STATE;
#endif
#endif /* THREE_CDS */
        return (1);
    }

    /* check rotation key */

#ifdef THREE_CDS
    if (save_key == FIRST_DISC_KEY) {
	if (cd_disc_slot == 2)
	    save_key = ROTATE_CLOCK_KEY;
	else if (cd_disc_slot == 3)
	    save_key = ROTATE_ANTI_CLOCK_KEY;
	else
	    return (1);
    }

    if (save_key == SECOND_DISC_KEY) {
	if (cd_disc_slot == 3)
	    save_key = ROTATE_CLOCK_KEY;
	else if (cd_disc_slot == 1)
	    save_key = ROTATE_ANTI_CLOCK_KEY;
	else
	    return (1);
    }

    if (save_key == THIRD_DISC_KEY) {
	if (cd_disc_slot == 1)
	    save_key = ROTATE_CLOCK_KEY;
	else if (cd_disc_slot == 2)
	    save_key = ROTATE_ANTI_CLOCK_KEY;
	else
	    return (1);
    }

    if (((save_key == ROTATE_CLOCK_KEY) || (save_key == ROTATE_ANTI_CLOCK_KEY))
        && (play_state != PLAY_MENU_STATE)) {
	forceDSAabort = 0;

        process_stop_key(1, 0);
	repeat_a2b = REPEAT_AB_OFF;
	repeat_mode = 0;
	shuffle_on = 0;
	PBC_on = 0;

#ifdef NGAME
            NGAME_stopgame();
#endif
        if (save_key == ROTATE_CLOCK_KEY)
            dsa_rotate_disk(0);
        else
            dsa_rotate_disk(1);

        CDinited = 0;
        initCD();
	dsa_stop();
        play_state = ENTRY_STATE;
        return (1);
    }
#else /* ifndef THREE_CDS */

#ifdef TWO_CDS
    if (save_key == FIRST_DISC_KEY) {
	if (cd_disc_slot == 2)
	    save_key = ROTATE_CLOCK_KEY;
	else
	    return (1);
    }

    if (save_key == SECOND_DISC_KEY) {
	if (cd_disc_slot == 1)
	    save_key = ROTATE_ANTI_CLOCK_KEY;
	else
	    return (1);
    }

     if (((save_key == ROTATE_CLOCK_KEY) || (save_key == ROTATE_ANTI_CLOCK_KEY))) {
#ifdef LEDON
        vfdled = 0xff;
#endif
#ifdef VCDROM
    vcd30_cwdloc = 0;
    play_clip = 0;
    VCD30_DISC = 0;
#endif
       	forceDSAabort = 0;
	CLEARALLOSD();
/*
       if(((play_state == ENTRY_STATE) && (cd_opened == 1)) || (cd_opened == 0))
*/
       if (1)
        {
	continue_play = 0;
        if ((play_state == ENTRY_STATE) && (cd_opened >= 1))  {
	   disc_ltoc &= 0x00;
	} else {
	   process_stop_key(0,0);
	   screen_display = 0;
	}
       	forceDSAabort = 0;
        trans_dsa(0x0b, 0);
	panel_system_status(SYSTEM_CLOSE);
	forceDSAabort = 0;
	show_still_pic();
	OSD_clear_all();
	dsa_stop();
	trans_dsa(0x14,0);
        dsa_stop();
	system_reset();
	clear_dec();
	vcx_user_video_stream = 0xe0;
	repeat_a2b = REPEAT_AB_OFF;
	repeat_mode = 0;
	shuffle_on = 0;
	PBC_on = 0;
        CDinited = 0;
        if (!process_change_disc(0)) {
	   if (cd_disc_slot == 2) {
	      TRAY_OPEN;
	      do {
		 receive_dsa();
	      } while (DISC_1_CLOSE_IS_HIGH);
	   } else {
	      TRAY_CLOSE;
	      do {
		 receive_dsa();
	      } while (DISC_2_CLOSE_IS_HIGH);
	   }
	   TRAY_STOP;
           trans_dsa(0x14,0);
           dsa_stop();
           process_change_disc(0);
	}

      #ifdef  FU271
         panel_disc_slot(cd_disc_slot);
      #endif

        if (cd_opened == 0) {
           if (forceDSAabort)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -