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

📄 func.h

📁 代码有点长,需细心阅读,仅供影音视听类产品的开发人员参考
💻 H
字号:
#ifndef __FUNC_H
#define __FUNC_H
/*
** SIO
*/
#include "sio.h"
#include "epp.h"
void    monitor(void);
void    game_init(void);

/********************************************************************/
/*          GLOBAL DEFINITIONS                                                                                  */
/********************************************************************/
/*
**      from cderr.c
*/
#define CDERR_LATE_SECTOR   0x10
#define CDERR_EARLY_SECTOR  0x11
#define CDERR_SEEK_TOO_LONG 0x12
#define CDERR_CRC_ERROR     0x20
#define cderr_clear_seekerr()   (cd_seek_error=0)
#define cderr_clearLS_seqerr()    (cd_sequencerLS_error=0)//jhuang playability 2002/12/4
#define cderr_clearES_seqerr()    (cd_sequencerES_error=0)//jhuang playability 2002/12/4
#define cderr_clear_crcerr()    (cd_crc_error=0)
/*
**      from cd.c
*/
#define CD_RESET_HARDWARE               (1<<0)
#define CD_RESET_PARSER                 (1<<1)
#define CD_RESET_CACHE                  (1<<2)
/*
**      ircmd ircmd ircmd
*/
#define GOTO_FAIL                               0
#define PROG_CNL                                0
#define RAND_CNL                                1
#define GOTO_CNL                                2
#define ALL_CNL                                 3
/*
**  from osdutil.c
*/
#define AudKey_Font_ID          0x01
#define Volume_Font_ID          0x02
#define Echo_DELAY_ID           0x03
#define Echo_DECAY_ID           0x04
#define ARROW_UP_ID             0x05
#define C_FIRST_TIME                        0xFF
#define C_OFF                      0
#define C_ON                       1
#define C_WAIT                     2
#define C_WRITE                    1
#define C_READ                     0
#define CH_N                       0
#define CH_S                       1
#define CH_P                       2
#define C_UP                       0
#define C_DN                       1
#define C_FF                    0xFF
#define TIMER                    1
#define ALWAYS                   0
#define C_TRUE                     1
#define C_FALSE                    0
#define C_CLEAR                    0xFF
#define C_ENABLE                   0x00

#define SW_REGION1                  0x10
#define SW_REGION2                  0x20
#define SW_REGION3                  0x30
#define SW_REGION_OFF               0x10
#define SW_REGION_ANTI              0x20

//ESP USE
#define CDDSP_NORMAL        0
#define CDDSP_PAUSE         1
#define ESP_CDDSP_BUFFER_FULL   2
#define ESP_CDDSP_SERVO_SLEEP   3
#define ESP_CDDSP_SERVO_WAKEUP  4    

#if CONFIG==CONFIG_COMBO_SVCD
    #define STEP_NEXT  4
#else
    #define STEP_NEXT  3
#endif

/*
**  from osd.c
*/
#define OSD_TIMEOUT                     25  //50 //100    /* about 4 second (realtime) */
#define OSD_OFF                         0
#define OSD_ON                          1
#define OSD_TOG                         2
#define OSD_FORMAT_SPLIT                0x10

#define OSD_NONINTERLACED       0x00
#define OSD_INTERLACED                  0x08

#define OSD_FORMAT_MASK                 0x03
#define OSD_FORMAT_4COLOR               0x00
#define OSD_FORMAT_16COLOR          0x01
#define OSD_FORMAT_256COLOR         0x02
#define OSD_FORMAT_DIRECTCOLOR  0x03
/********************************************************************/
/*          EXPORT FUNCTIONS                                                                                        */
/********************************************************************/
/*
**      From cd.c
*/
int     do_cdrom_prep(UINT32, int, int, int, int);
int     do_cdrom_prep2(UINT32, int, int, BYTE *);
int     do_cdrom_wait(void);
int     do_cdrom_read(BYTE *, UINT32, UINT32, int);
int     do_cdrom_read_msf(BYTE *, UINT32, UINT32, int);
int     do_cdrom_read_one(BYTE *, UINT32, UINT32, int);
int     do_cd_seek(int);
void    do_cd_pause(void);
void    do_cd_pause_release(void);
void    playback_cd_init(int);

/*
**      From mpegsys.c
*/
void    reset_video_decoder(void);

void    esp_get_ID3(UINT16,UINT32,UINT32,UINT32);

/*
**      From svcd.c
*/
int     check_cdtype(void);

/*
**
**      from macro.c
*/
void    ReShowState(void);          //jhuang 2002/4/29

/*
**      From psd.c
*/
int     psd_getlist(int);
void    psd_navigation(void);
UINT32  psd_callback_check(UINT32);

/*
**      From V11.c
*/
void    v11_navigation(void);
void    ClearRepAB(void);
void    GotoParser(void);
void    Chg2PlayMd(void);
void    RevTrkInfoByMSF(UINT32 msf);
#ifdef SUPPORT_SCREEN_SAFE
    void    enter_screensafe(void);
#endif

/*
**  From polling.c  
*/
int     polling(void);
int     polling_timeout(void);
#ifdef IR_SCORE_ON
    void    polling_speaker(UINT16);
    void    polling_score(UINT32);
#endif
void    polling_Qtable(void);

//int   repeat_func(void);
/*
**  From preview.c
*/
int     preview_navigation(void);
int     frames9_navigation(void);
int     intro_navigation(void);

/* 
**  From sound.c
*/
#if SUPPORT_OSD
    void    disp_setup_EQ(BYTE, BYTE);
    void    DispRealtimeEq(BYTE);
    void    ShowSoundPage(BYTE);
    void    sound_func_up_dn(BYTE, BYTE);
    void    ShowLevelBand(BYTE);
#else
    #define disp_setup_EQ(i,j)      ((void *)0)
    #define DispRealtimeEq(i)           ((void *)0)
    #define ShowSoundPage(i)            ((void *)0)
    #define sound_func_up_dn(i,j)   ((void *)0)
    #define ShowLevelBand(i)            ((void *)0)
#endif
/*
**  CDDSP functions
*/
void    reset_cd(void);

#define reset_cd()  do_cd_reset(-1)
/*
**  IR functions
**  from ir.c
*/
void    reset_ir(void);
BYTE    polling_ir(void);

/*
**  IR command functions
**  from ircmd.c
*/
void    cdda_forward_chk(void);
#if SUPPORT_OSD
    void    eq_UI_init(void);
    void    DispDiscTitle(BYTE);        //jhuang 2002/4/25
    void    ExitSetup(void);                //jhuang 2002/4/25
#else
    #define eq_UI_init()            ((void *)0)
    #define DispDiscTitle(i)    ((void *)0)
    #define ExitSetup()             ((void *)0)
#endif

typedef struct
{
    UINT16  osd_header[2];              /* virtual addr of osd header       */
    BYTE    osd_format;                     /* pixel-per-byte               */
    BYTE    osd_w;                              /* in byte                      */
    BYTE    osd_h;                              /* in pixel                     */
}
t_osd_region;

extern t_osd_region region[8];

#ifdef  SUPPORT_OSD
    void    InitSW_region(void);
    void    ClearOsdMsg(int);
    void    osd_enable(void);
    void    osd_disable(void);
    //void        ClearOsdRam (void);
    #define SUPPORT_OSD_AUTO_INIT 1
    #ifndef SUPPORT_OSD_AUTO_INIT
        void    osd_init(void);
        void    osd_init_2(void);
        void    osd_init_prog(void);
        void    osd_init_preview(void);
        void    osd_init_realtime_eq(void);
        void    osd_init_setup_main(void);
        void    osd_init_setup_show_eq(void);
        void    osd_init_setup_set_eq(void);
    #else
        void    initiate_osd(BYTE id);
        #define REC_LEN 6
        #define PAL_LEN 6*REC_LEN+1
        #define COLOR_BIT 1
        #define SCAN_BIT 2
        #define OSD_INIT_NORMAL 0
        #define OSD_INIT_PREVIEW 1
        #define OSD_INIT_PROG 2
        #define OSD_INIT_REALTIME_EQ 3
        #define OSD_INIT_SETUP_MAIN 4
        #define OSD_INIT_SETUP_SHOW_EQ 5
        #define OSD_INIT_SETUP_SET_EQ 6
#ifdef SUPPORT_BIG_SCORE_DISPLAY
#define OSD_INIT_SCORE_DISPLAY 7
#endif

        #define osd_init() initiate_osd(OSD_INIT_NORMAL)
        #define osd_init_preview() initiate_osd(OSD_INIT_PREVIEW)
        #define osd_init_prog() initiate_osd(OSD_INIT_PROG)
        #define osd_init_realtime_eq() initiate_osd(OSD_INIT_REALTIME_EQ)
        #define osd_init_setup_main() initiate_osd(OSD_INIT_SETUP_MAIN)
        #define osd_init_setup_show_eq() initiate_osd(OSD_INIT_SETUP_SHOW_EQ)
        #define osd_init_setup_set_eq() initiate_osd(OSD_INIT_SETUP_SET_EQ)
#ifdef SUPPORT_BIG_SCORE_DISPLAY
#define osd_init_score_display()  initiate_osd(OSD_INIT_SCORE_DISPLAY)
#endif
    #endif

    void    osd_print_realtime_eq(UINT8, BYTE *, BYTE);
    void    osd_print_eq_setting(UINT8, UINT8);

    /*ircmd.c*/
    //void    eq_UI_init(void);
    //void    DispDiscTitle(BYTE);        //jhuang 2002/4/25
    //void    ExitSetup(void);                //jhuang 2002/4/25

    void    osd_print_region(t_osd_region *, const char *);
    void    osd_print_region_interlaced(t_osd_region *, const char *);

    void    osd_tog_region(BYTE, int);
    void    polling_osd(int);
    void    PrintOsdMsg(UINT16, BYTE, int, BYTE, BYTE);
    void    decmp(BYTE * comp, BYTE * decode);

    //void      PrintOsdMsg2 (BYTE,int);
    //void        ShowOsdMsg (char *, int);
    //void        ShowRemOsdMsg (void);
    //void    preview_osd(BYTE);    

#else

    #define InitSW_region()                 ((void *)0)
    #define ClearOsdMsg(i)                  ((void *)0)
    #define osd_enable()                        ((void *)0)
    #define osd_disable()                       ((void *)0)
    #define SUPPORT_OSD_AUTO_INIT 1
    #ifndef SUPPORT_OSD_AUTO_INIT
        #define osd_init()                          ((void *)0)
        #define osd_init_2()                        ((void *)0)
        #define osd_init_prog()                 ((void *)0)
        #define osd_init_preview()          ((void *)0)
        #define osd_init_realtime_eq()  ((void *)0)
        #define osd_init_setup_main()       ((void *)0)
        #define osd_init_setup_show_eq()    ((void *)0)
        #define osd_init_setup_set_eq()     ((void *)0)
    #else

        #define initiate_osd(i)                     ((void *)0)

        #define REC_LEN 6
        #define PAL_LEN 6*REC_LEN+1
        #define COLOR_BIT 1
        #define SCAN_BIT 2

        #define OSD_INIT_NORMAL 0
        #define OSD_INIT_PREVIEW 1
        #define OSD_INIT_PROG 2
        #define OSD_INIT_REALTIME_EQ 3
        #define OSD_INIT_SETUP_MAIN 4
        #define OSD_INIT_SETUP_SHOW_EQ 5
        #define OSD_INIT_SETUP_SET_EQ 6

        #define osd_init() ((void *)0)//initiate_osd(OSD_INIT_NORMAL)
        #define osd_init_preview() ((void *)0)//initiate_osd(OSD_INIT_PREVIEW)
        #define osd_init_prog() ((void *)0)//initiate_osd(OSD_INIT_PROG)
        #define osd_init_realtime_eq() ((void *)0)//initiate_osd(OSD_INIT_REALTIME_EQ)
        #define osd_init_setup_main() ((void *)0)//initiate_osd(OSD_INIT_SETUP_MAIN)
        #define osd_init_setup_show_eq() ((void *)0)//initiate_osd(OSD_INIT_SETUP_SHOW_EQ)
        #define osd_init_setup_set_eq() ((void *)0)//initiate_osd(OSD_INIT_SETUP_SET_EQ)

    #endif

    #define osd_print_realtime_eq(i,p,j)            ((void *)0)
    #define osd_print_eq_setting(i,j)                   ((void *)0)

    #define osd_print_region(p,q)                           ((void *)0)
    #define osd_print_region_interlaced(p,q)    ((void *)0)

    #define osd_tog_region(i,j)                             ((void *)0)
    #define polling_osd(i)                                      ((void *)0)
    #define PrintOsdMsg(i,j,k,l,m)                      ((void *)0)
    #define decmp(p,q)                                              ((void *)0)

#endif



#if defined(UNIX) || defined(DISABLE_OSD)
    #define __osdpr(r,s)    {}
    #define osdprint(i,s,t) {}
#else
    #define __osdpr(i,r,s)  (osd_print_region((r),(s)), osd_tog_region((i),OSD_ON))
    #define osdprint(i,s,t) (__osdpr(i,&region[i], (s)), timeout_osd[i]=(t))
#endif


#define osd_print_w(s,t)  osdprint(0,s,t)
#define osd_print0_w(s,t) osdprint(0,s,t)
#define osd_print1_w(s,t) osdprint(1,s,t)
#define osd_print2_w(s,t) osdprint(2,s,t)
#define osd_print3_w(s,t) osdprint(3,s,t)
#define osd_print4_w(s,t) osdprint(4,s,t)

#define osd_print(s)    osd_print_w(s,OSD_TIMEOUT*3)
#define osd_print0(s)   osd_print0_w(s,OSD_TIMEOUT*1)
#define osd_print1(s)   osd_print1_w(s,OSD_TIMEOUT*1)
#define osd_print2(s)   osd_print2_w(s,OSD_TIMEOUT*1)
#define osd_print3(s)   osd_print3_w(s,OSD_TIMEOUT*1)
#define osd_print4(s)   osd_print4_w(s,OSD_TIMEOUT*1)
#define OSD_OnOffRegion(m,r) osd_tog_region(r,m)

int     detect(void);

//void osd_draw_rect(BYTE,BYTE,BYTE,BYTE,BYTE,BYTE);
//void    show_level(int, INT8, BYTE, BYTE);

/*
** Utility functions.
*/


/*setup.c*/
#if SUPPORT_OSD
    void    begin_setup(void);
    void    GetSetupVal(void);
    void    exe_sh_func(BYTE, BYTE);
    void    get_cat_str(BYTE, BYTE);
    void    get_mode_id(void);
    void    get_sys_status(UINT8, UINT8);
    void    setup_func_down(void);
    void    setup_func_left(void);
    void    setup_func_right(void);
    void    setup_func_up(void);
    void    setup_func_select(void);
    void    ShowSetupPage(void);
    void    ShowSetupSel(UINT8 mode);
#else
    #define begin_setup()           ((void *)0)
    #define GetSetupVal()           ((void *)0)
    #define exe_sh_func(i,j)        ((void *)0)
    #define get_cat_str(i,j)        ((void *)0)
    #define get_mode_id()           ((void *)0)
    #define get_sys_status(i,j) ((void *)0)
    #define setup_func_down()   ((void *)0)
    #define setup_func_left()   ((void *)0)
    #define setup_func_right()  ((void *)0)
    #define setup_func_up()         ((void *)0)
    #define setup_func_select() ((void *)0)
    #define ShowSetupPage()         ((void *)0)
    #define ShowSetupSel(i)         ((void *)0)
#endif /* SUPPORT_OSD */
/*mpgaudio.c*/
void    polling_mic_energy(void);   //jhuang move from mpgaudio.h

/*cderr.c*/
int     cderr_handler(int);
void    ServoFocusFail(void);
void    ServoRecoverFail(void);
void    ChkCdTLErr(int);
UINT32  ChkTrkTmByMSF(UINT32);
void    Mp3Seek(UINT16, UINT8);
void    StopSeek(void);
void    DispDiscTite(BYTE);//move from above
#endif/*__FUNC_H*/

⌨️ 快捷键说明

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