📄 ir.c
字号:
#include "config.h"
#include "global.h"
#ifdef SUPPORT_IR
#include "regmap.h"
//#include "cfont.h"//no used
#include "mon.h"
#include "dsa.h"
#include "util.h"
#include "func.h"
#include "epp.h"
#include "sio.h"
#include "vfd.h"
#include "vfd.h"
#include "ir.h"
#include "ircmd.h"
#include "ircode.h"
#include "irdef.h"
#include "osd.h"
#include "auctrl.h"
#include "user_init.h" //ZHX 032603
#include "game.h"
extern void ReturnDesktop(void);
#define IR_REPEAT_CODE
#ifdef SUPPORT_MP3STOP_SCREEN_SAFE
extern void ReturnDesktop(void);
#endif
#ifdef DEBUG_VFDSEG
extern int vfd_digital;
#endif
//move to config.h
/*
*1.3:first time to release with Kernel 1.0
*1.4:4th release to NINTAUS and standard code
*/
#ifdef PASSWORD
const BYTE Password[5] = { IRC_FORWARD, IRC_BACKWARD, IRC_PREV, IRC_NEXT , IRC_NEXT};
#if CONFIG == CONFIG_COMBO_SVCD
const BYTE CustmVer[24] = { "718-1.14.01-STD.00-SDRAM" };
#else
const BYTE CustmVer[22] = { "DIXIN718EDO V2.06.03" };
#endif
#endif
UINT32 delay_cnt;
extern UINT32 Servo_command(BYTE, BYTE, BYTE, BYTE);
extern void ShowTitle(void); //ZHX 032603
#ifdef COMPRESS_MODULE
extern void LoadPrevProgDrv(void);
#endif
/*
**
*/
void ircmd_null()
{
}
const IRFUNC irc_func_table[IR_CODE_MAX_NUM] = {
/*00-0F*/
ircmd_stop,
ircmd_repeat_ab,
ircmd_fuchang,
ircmd_fudu,
ircmd_eject_toggle,
ircmd_null, //ircmd_1,//reduce 11
ircmd_null, //ircmd_2,
ircmd_null, //ircmd_3,
ircmd_null, //ircmd_4,
ircmd_null, //ircmd_5,
ircmd_null, //ircmd_6,
ircmd_null, //ircmd_7,
ircmd_null, //ircmd_8,
ircmd_null, //ircmd_9,
ircmd_null, //ircmd_0,
ircmd_p10,
/*10-1F*/
ircmd_goto,
ircmd_playmode_toggle,
ircmd_prog,
ircmd_mute,
ircmd_step,
ircmd_resume,
ircmd_return,
ircmd_repeat_all,
ircmd_freeze,
ircmd_remaintime,
#ifdef IR_INTRO_ON
ircmd_intro,
#endif
ircmd_preview,
ircmd_slowmotion,
#ifdef SUPPORT_ESP
ircmd_ESP_OnOff,
#else
ircmd_language,
#endif
ircmd_display,
ircmd_display_format_toggle,
/*20-2F*/
ircmd_zoom_up,
ircmd_zoom_down,
ircmd_zoom_left,
ircmd_zoom_right,
ircmd_zoom,
ircmd_shuffle,
ircmd_channel,
ircmd_volume_up,
ircmd_score,
ircmd_backward,
ircmd_forward,
ircmd_pause,
ircmd_volume_down,
ircmd_setup,
ircmd_prev,
ircmd_next,
/*30-3F*/
ircmd_play,
ircmd_subtitle,
ircmd_audio_stream,
ircmd_auto_manual,
#if CONFIG == CONFIG_COMBO_SVCD
ircmd_ThreeD_effect,
#else
ircmd_effect,
#endif
ircmd_play_pause,
#ifdef POWER_KEY //zhyf test 2-9-12 17:17
ircmd_power,
#endif
#ifdef ECHO_KEY
ircmd_echo_delay_up,
ircmd_echo_delay_dn,
#endif
#ifdef IR_5_PLUS
ircmd_p5,
#endif
#ifdef IR_BOOK_MARK
ircmd_set_book_mark,
ircmd_play_bookmark,
#endif
#ifdef IR_SET_ERR_LEV
ircmd_set_err_lev,
#endif
#ifdef IR_REAL_ZOOM
ircmd_real_zoom,
#endif
#ifdef IR_KEY_FUNC
ircmd_key_up,
ircmd_key_down,
ircmd_key_reset,
#endif //ZHX 033003
#ifdef USE_PP5_KEY
ircmd_pp5,
#endif
ircmd_shuqian,
ircmd_null,
};
/*
**
*/
void call_ir_func(BYTE rx)
{
UINT32 key_s = ir_invalid_table[rx];
#ifdef POWER_KEY
if ((system_state == SYSTEM_POWER) && (rx != IRC_POWER))
return;
#endif //ZHX 060303 No OSD in power down.
#ifdef PASSWORD
if(CheckUIState(VCD_STATE_STOP) && (!IsKYProg())) //jhuang 2002/8/21
{
static BYTE count = 0;
if(rx == Password[count])
{
count++;
if(count == 4)
{
psprintf(RegionValStr[1],"%s",CustmVer);
PrintOsdMsg(0, 1, 10, 1, CH_N);
count=0;
return;
}
}
else if((rx != Password[0]) && (count == 1))
count = 0;
}
#endif
//skip IR command, when read NES file action. 2002/5/13 03:33PM
#if CONFIG == CONFIG_COMBO_SVCD
if((bDiscType & NES_DN_ACTION) && (rx != IRC_EJECT))
#else
if((bDiscType & NES_DN_ACTION))
#endif
return;
#ifdef SUPPORT_SCREEN_SAFE
if(screen_safe)
{
screen_safe=0;
#ifdef SUPPORT_MP3STOP_SCREEN_SAFE
if(cd_type_loaded!=CDROM)
ShowTitle();
else
ReturnDesktop();
#else
ShowTitle();
#endif
}
safe_step=0;
#endif
#ifdef IR_SETUP_MENU_ON
if(IsKYSetup()) /*jhuang 2002/4/27 */
{
switch (rx)
{
#ifdef NINTAUS
case IRC_SETUP_MENU:
case IRC_FORWARD: //UP
case IRC_BACKWARD: //DOWN
case IRC_PREV: //LEFT
case IRC_NEXT: //RIGHT
#else
case IRC_ZOOM:
case IRC_ZOOM_UP:
case IRC_ZOOM_DOWN:
case IRC_ZOOM_LEFT:
case IRC_ZOOM_RIGHT:
#endif
break;
default:
//au_eq(EQ_OFF); // 闽超EQ//define EQ_OFF 0
ExitSetup();
//close setup menu , check re-load program function
#ifdef COMPRESS_MODULE
if (!CheckUIProgState(PROG_IDLE))
LoadPrevProgDrv();
#endif
break;
}
}
#endif
#ifdef NINTAUS
#ifdef DIR_LIST_4WAY //jhuang 2002/8/22
if(cd_type_loaded == CDROM)
{
if(rx == IRC_FORWARD) //up
rx = IRC_ZOOM_UP;
else if(rx == IRC_BACKWARD) //down
rx = IRC_ZOOM_DOWN;
else if(rx == IRC_PREV) //left
rx = IRC_ZOOM_LEFT;
else if(rx == IRC_NEXT) //right
rx = IRC_ZOOM_RIGHT;
}
#endif
#endif
#ifdef IR_SETUP_MENU_ON
if((key_s & SETUP_MENU) && IsKYSetup()) //jhuang 2002/3/21
{
//epp_write("IN SETUP MENU...\n");
invalid_key();
return;
}
#endif
/* Check Disc Type First */
if(key_s & DISC_TYPE(cd_type_loaded))
{
//epp_write("DISC TYPE DISMATCH...\n");
invalid_key();
return;
}
// for 絪祘play
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -