📄 func.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,®ion[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 + -