func.h
上传用户:poi891205
上传日期:2013-07-15
资源大小:9745k
文件大小:17k
源码类别:

DVD

开发平台:

C/C++

  1. #ifndef __FUNC_H
  2. #define __FUNC_H
  3. #include "types.h"
  4. #include "endian.h"
  5. #include "stdlib.h"
  6. #include "sio.h"
  7. #include "epp.h"
  8. /************************************************************
  9. polling.c head file
  10. ************************************************************/
  11. #include "polling.h"
  12. /************************************************************
  13. kenny define for IOP Device address and High sub address
  14. ************************************************************/
  15. #define IOP_DEVICE_ADDR(da)             (((da&0x78)<<1)&0xf0)//load Device address for IOP
  16. #define IOP_HIGH_SUB_ADDR(sa)           (UINT32)((sa&0x07)<<8)//load High sub address(A8~A10) for IOP
  17. #define IOP_CONFIG_PDVD     0xF0;       //jhuang pdvd 2003/12/2
  18. /************************************************************
  19. psd.c v11.c fs9660.c svcd.c head file
  20. ************************************************************/
  21. UINT32  psd_callback_check(UINT32 func);
  22. UINT32  dvd_callback_check(UINT32 func);
  23. UINT32  fs_callback_check(UINT32 func);
  24. int psd_getlist(int ListID);
  25. int psd_navigation(void);
  26. int v11_navigation(void);
  27. int read_iso9660(void);
  28. int check_cdtype(void);
  29. void Chg2PlayMd(void) ;
  30. UINT8 ReadFile(int *);
  31. #ifdef SUPPORT_MULTI_PARTITION
  32. int HddCardBrowse(void);
  33. #endif
  34. /************************************************************
  35. gpio.c head file
  36. ************************************************************/
  37. void    reset_gpio(void);
  38. /************************************************************
  39. ir.c head file
  40. ************************************************************/
  41. void    reset_ir(void);
  42. BYTE    polling_ir(void);
  43. int reverse_fun(int rx);
  44. #ifdef OSDISP
  45. /************************************************************
  46. osdisp head file
  47. ************************************************************/
  48. inline void osdisp_status(BYTE osdisp_state,BYTE osdisp_ir); //wjzhang
  49. #endif
  50. /************************************************************
  51. osd1.c head file
  52. ************************************************************/
  53. inline void osd_enable(void);
  54. inline void osd_disable(void);
  55. inline void polling_osd(int);
  56. void    reset_osd(void);
  57. void    osd_init(void);
  58. void    osd_tog_region(BYTE, int MODE);
  59. void    osd_init_music(void);
  60. UINT8   *get_lang_name(int);
  61. UINT8   *get_audio_mode();
  62. void    osdshow(UINT8 r,char *buf);
  63. typedef struct {
  64.     UINT8 xst, yst;
  65.     UINT8 *str;
  66. } t_osd_str;
  67. void    osd_DrawString(BYTE xStart, BYTE yStart, const BYTE *str, BYTE fontColor, BYTE bkColor);
  68. void    osd_DrawStrings(const t_osd_str *p, BYTE fg, BYTE bg);
  69. #ifdef SOFT_MENU//Modifed by ChenZhao on 2004-9-7 11:24 WP
  70. void    osd_DrawString_ori(UINT32 xStart, UINT32 yStart, const BYTE *str, BYTE fontColor, BYTE bkColor);//Modifed by ChenZhao on 2004-9-7 11:24 WP
  71. #else
  72. void    osd_DrawString_ori(BYTE xStart, UINT32 yStart, const BYTE *str, BYTE fontColor, BYTE bkColor);//nono 2004-4-12 1:02
  73. #endif//SOFT_MENU
  74. #ifdef SETUPMENU_16Mb_NO_ICON
  75. void osd_DrawSetupIconString(BYTE xStart, BYTE yStart, const BYTE *str, BYTE fontColor, BYTE bkColor);
  76. #endif
  77. #define OSD_OnOffRegion(m,r) osd_tog_region(r,m)
  78. void    wait_v_blank(void);
  79. void    DispPolling(BYTE bReset);
  80. BYTE    bin2asc(BYTE pp);
  81. void    PrintOsdMsg(UINT32 id,UINT8 r,int t,BYTE m);
  82. void    ClearOsdMsg(int i);
  83. void    OsdRegionOff(BYTE r);
  84. //void    PrintOsdMsg2(BYTE r, int t);
  85. void    osd_replace_rect_color(BYTE bkColor, BYTE destColor);
  86. void    SetOsdCol(UINT8 rb,UINT8 re,UINT8 id,UINT32 color);
  87. /************************************************************
  88. osdutil.c head file
  89. ************************************************************/
  90. #define AudKey_Font_ID          0x01
  91. #define Volume_Font_ID          0x02
  92. #define Echo_Font_ID            0x03
  93. #define Score_Font_ID           0x04
  94. #define Mic_Font_ID             0x05
  95. #if defined(Ti3001_OSD_UI_1)||defined(Ti5026_OSD_UI_1)
  96. //#define VOL_BALANCE_ID          0x06
  97. #define VOL_TREBLE_ID           0x07
  98. #define VOL_BASS_ID             0x08
  99. #define VOL_DRC_ID              0x09
  100. #define AMP_F_VOL_ID            0x0a   // FRONT VOLUME
  101. #define AMP_F_BAL_ID            0x0b   // FRONT BALANCE
  102. #define AMP_S_VOL_ID            0x0c   // surround volume
  103. #define AMP_S_BAL_ID            0x0d   // surround BALANCE
  104. #define AMP_C_VOL_ID            0x0e   // center volume
  105. #define AMP_SW_VOL_ID           0x0f   // subwoofer volume
  106. #endif
  107. #define VOL_FL_ID               0x10
  108. #define VOL_FR_ID               0x11
  109. #define VOL_SL_ID               0x12
  110. #define VOL_SR_ID               0x13
  111. #define VOL_C_ID                0x14
  112. #define VOL_SW_ID               0x15    //Jeff 20031028
  113. #ifdef VIDEO_SETUP_NEW_GUI//zhaoyanhua add 2004-2-10 17:50
  114. #define VIDEO_BIGHT_ID          0x16
  115. #define VIDEO_CONTRAST_ID       0x17
  116. #define VIDEO_HUE_ID            0x18
  117. #define VIDEO_SATURATION_ID     0x19
  118. #define VIDEO_DEINTERLACE_ID    0x20
  119. #endif//ifdef VIDEO_SETUP_NEW_GUI
  120.     
  121. #if defined(SUPPORT_FUNCTION_MENU)||defined(BRIGHTNESS_COLOR_KEY)
  122. #define BRIGHTNESS_PLUS_ID 0x21
  123. #endif   
  124. #ifdef BRIGHTNESS_COLOR_KEY 
  125. #define COLOR_PLUS_ID 0x22
  126. #endif
  127. //freyman add 2002-9-10 20:22 and mark 2004-3-23 16:04
  128. //#ifdef SVA_SAMPLE
  129. //#define AMP_VOL_ID              0x06
  130. //#endif
  131. /************************************************************
  132. search.c head file
  133. ************************************************************/
  134. void vcd_mode_search(BYTE,BYTE,BYTE);
  135. void dvd_search(BYTE,BYTE );//kenny add it 2001/5/8
  136. //void vcd_search(BYTE, BYTE ,BYTE,BYTE );//kenny add it 2001/5/8
  137. void show_search(BYTE, BYTE ,BYTE,BYTE );//kenny add it 2001/5/8
  138. void search_func_input(void); //kenny 2001/5/16
  139. void search_func_up(void);
  140. void search_func_down(void);
  141. void search_func_left(void);
  142. void search_func_right(void);
  143. void search_func_clear(void);
  144. void search_func_select(void);
  145. void show_level(int ,INT8 ,BYTE);
  146. int atapi_open_tray(void);
  147. int atapi_close_tray(UINT8); // for normal close tray, we use 0 as parameter;
  148.                              // for close tray before standby mode, we use 1.
  149. //search.c
  150. void pbcoff_init(void);
  151. /*
  152. **
  153. */
  154. void    MediaMainLoop(void);
  155. void    restart_audio_engine(void);
  156. void    resync_audio_engine(void);
  157. /************************************************************
  158. setup.c head file
  159. ************************************************************/
  160. void read_setup_select(void);
  161. void Showdirpicture(UINT8 mode);
  162. void ShowSetupSel(UINT8 mode);
  163. void TestOsdFonts(void);
  164. void ShowSetupPage(BYTE refresh);
  165. void setup_func_down(void);
  166. void setup_func_up(void);
  167. void setup_func_left(void);
  168. void setup_func_right(void);
  169. void run_save_cmd(void);
  170. void setup_func_prepage(void);
  171. void setup_func_nextpage(void);
  172. void setup_func_select(void);
  173. void setup_password(void);
  174. void show_password(BYTE num);
  175. void custm_setup_menu(void);//jhuang
  176. void read_custm_setup_select(void);//jhuang
  177. void startup_vpp(void);
  178. void ExitSetupPage(BYTE save);
  179. #ifdef KONKA_DVD//20020904
  180. void setup_func_clear(void);    //konka clead
  181. #endif
  182. #ifdef SUPPORT_FUNCTION_MENU
  183. void ShowSetupPage_plus(BYTE refresh);
  184. #endif 
  185. #ifdef SUPPORT_DISPLAY_MENU
  186. void exe_display_function(BYTE RightKey);
  187. void polling_display_menu_plus(void);
  188. #endif//end #ifdef SUPPORT_DISPLAY_MENU
  189. /************************************************************
  190.   Prog.c head file
  191. ************************************************************/
  192. void prog_func_clear(void);
  193. void prog_show_play(void);
  194. void prog_func_select(void);
  195. void prog_func_play(void);
  196. void prog_func_input(UINT8 num);
  197. void ShowProgSel(UINT8 mode);
  198. void ShowProgPage(void);
  199. void prog_func_down(void);
  200. void prog_func_up(void);
  201. void prog_func_left(void);
  202. void prog_func_right(void);
  203. void prog_func_off(void);
  204. BYTE prog_next(void);
  205. BYTE prog_prev(void);
  206. //void prog_next(void);
  207. //void prog_prev(void);
  208. int is_clear_pos(void);//2002-4-19 1:53
  209. /************************************************************
  210.  safe.c head file
  211. ************************************************************/
  212. void safe_srn_off(void);
  213. void safe_srn_on(void);
  214. void ChgColor(int c);
  215. void MoveBox(UINT16 s_x,UINT16 size,UINT16 d_x);
  216. void safe_srn_forceOFF(void);
  217. /************************************************************
  218.  book.c head file
  219. ************************************************************/
  220. void book_cancel(void);
  221. void book_func_up(void);
  222. void book_func_down(void);
  223. void book_func_select(void);
  224. void book_func_clear(void);
  225. void book_func_play(void);
  226. void book_func_number(void);
  227. void show_book_tt(BYTE );
  228. void mark_func_right(void);
  229. void mark_func_left(void);
  230. /************************************************************
  231.  read.c head file
  232. ************************************************************/
  233. void ShowReadPage(void);
  234. void read_func_left(void);
  235. void read_func_right(void);
  236. void read_func_down(void);
  237. void read_func_input(void);
  238. void read_func_up(void);
  239. void read_func_select(void);
  240. /************************************************************
  241.  sound.c head file
  242. ************************************************************/
  243. //void ShowSoundSel(void);
  244. void init_sound(void);
  245. void ShowSoundPage(void);
  246. void sound_func_down(void);
  247. void sound_func_input(UINT8 num);
  248. void sound_func_up(void);
  249. void sound_func_select(void);
  250. void sound_func_right(void);
  251. void sound_func_left(void);
  252. void sound_draw_key(UINT8, UINT8);
  253. /************************************************************
  254.  browse_func.c head file
  255. ************************************************************/
  256. #ifdef NEWSTYLE_WINDOW
  257. void browse_func_up(void);
  258. void browse_func_down(void);
  259. void browse_func_left(void);
  260. void browse_func_right(void);
  261. void browse_func_select(void);
  262. void exe_browse_func(void);
  263. void UpdateTT_CHP_info(void);
  264. void browse_func_input(void);
  265. //void exe_browse_func(BYTE item_index,BYTE loc_index,BYTE fontColor,BYTE bkColor);
  266. //void browse_DrawLeftItem_HL(BYTE index,BYTE pre_bkColor,BYTE bkColor);
  267. #endif
  268. /************************************************************
  269.  virtual_keyboard.c head file
  270. ************************************************************/
  271. #ifdef VIRTUAL_KEYBOARD // alan, 2003/8/16 05:32AM
  272. void virtual_keyboard_left();
  273. void virtual_keyboard_right();
  274. void virtual_keyboard_select();
  275. #endif
  276. /************************************************************
  277.  double_title.c head file
  278. ************************************************************/
  279. #ifdef DOUBLE_TITLE//susu 2003-8-26 13:54
  280. void double_title_func_up(void);
  281. void double_title_func_down(void);
  282. void double_title_func_left(void);
  283. void double_title_func_right(void);
  284. void double_title_func_select(void);
  285. void exe_double_title(void);
  286. #endif
  287. //freyman add 2002-9-6 17:13 and mark 2004-3-23 16:04
  288. /*#ifdef SVA_SAMPLE
  289. //void osd_init_ampvol(void);
  290. void ampvol_func(void);
  291. void ampvol_init(void);
  292. void ampvol_func_down(void);
  293. void ampvol_func_up(void);
  294. void ampvol_func_right(void);
  295. void ampvol_func_left(void);
  296. void ampvol_exit(void);
  297. #endif*/
  298. #ifdef SUPPORT_APOGEE_AMP //xyy 2003-9-17 9:50
  299. void ddx_ampvol_func_left(void);
  300. void ddx_ampvol_func_right(void);
  301. void ddx_ampvol_func_up(void);
  302. void ddx_ampvol_func_down(void);
  303. #endif
  304. //I2C function declare
  305. //void    WriteI2c(int,int,int,int);
  306. int WriteToI2c(int,int,BYTE *,int);
  307. int ReadFromI2c(int,int,BYTE *,int);
  308. void    CheckI2c(void);         /*jhuang 2001/7/15 07:55PM*/
  309. //sysmain2.c
  310. void system_stop(void);
  311. void system_play(void);
  312. //sysmain2.c
  313. void delay_srv_10ms(int tms);
  314. int atapi_read_toc(void);
  315. int atapi_abort_play(void);
  316. //UINT8 get_cd_type_osd_id(void);
  317. UINT8 is_user_opened(void);
  318. UINT8 is_test_unit(void);//2001/10/23
  319. //navif.c
  320. UINT8 ExeHLBm(UINT8 mode,int val);
  321. //vpp.c
  322. void setVPP_OffsetMode(int mode);
  323. // other.S
  324. void    delay_1us(unsigned);
  325. void    delay_1ms(unsigned);
  326. void    delay(unsigned);
  327. //mpegsys.c
  328. void    setup_vcd_motion_pal(void);
  329. void    setup_vcd_motion_ntsc(void);
  330. //audif.c
  331. //void dac_set_fs(BYTE fs);
  332. //util.c
  333. UINT32 get_next_trk_msf(UINT8 trk);
  334. BYTE show_trk_num(BYTE trk);
  335. /************************************************************
  336.  ircmd.c head file
  337. ************************************************************/
  338. void    get_cdkit_time(BYTE flag);
  339. void    ShowRepInfo(void);
  340. int     is_dvd_menu(void);
  341. void    ir_num_select(int x);
  342. void    init_ir_num(void);
  343. void    show_repeatAB(int t);
  344. void    show_zoom(int t);
  345. void    show_angle_osd(void);
  346. void    ircmd_post_func(UINT32 );
  347. void    show_time(void);
  348. #ifdef CONTINUOUS_NUM_KEY_SELECT
  349. void ir_continuous_num_clr(void);
  350. #endif
  351. //auddac.c
  352. void mic_mute();
  353. //cdfunc.c
  354. void make_toc_tab(UINT32 msf);
  355. #endif/*__FUNC_H*/
  356. //disp.c
  357. UINT8 *get_audio_mode(void);
  358. //avb_if.c
  359. int avbGetStatus(void);
  360. void avbCloseTray(void);
  361. void avbOpenTray(void);
  362. void avbAbortPlay(void);
  363. void avbGetTOC(UINT8 , UINT8 );
  364. //hostx
  365. void hostx_servo_buf_init(void);
  366. //card reader
  367. int srv_cardfile(void);
  368. // srv
  369. int srv_cd(void);
  370. int srv_cdda(void);
  371. int srv_cdmp3(void);
  372. int srv_rom(void);
  373. //iop.c
  374. int WriteI2c(int iDeviceAddr,int iAddr,int iData,int iLen);
  375. //ircmd_util.c
  376. void setup_tv_out(UINT8 id);
  377. int dsp3_decompress(const BYTE*, BYTE*);
  378. //init0.s
  379. void invalidate_dcache(void);
  380. //emu.c
  381. void setup_emu(void);
  382. //idemain.c
  383. void ServoDecMainLoop(void);
  384. //osd1.c
  385. void draw_osd_board(UINT8 r,UINT8 board_type);
  386. void osd_DrawIcon(int xStart, int yStart, unsigned index, unsigned page);
  387. BYTE *get_font_entry(int tbl, int entry);
  388. //2004AUDDRV the following APIs were move to audio driver related files
  389. #if 0
  390. //audif.c
  391. void    audif_set_sample_rate(int smp_rate);
  392. void    audif_set_smp_rate(UINT32 freq);
  393. void    DSPReset();
  394. int     audif_auto_download_codec(UINT8 chn);
  395. void    audif_set_coding_mode(int coding_mode);
  396. void    audif_set_channel(int chn);
  397. UINT16  audif_set_frequency_mask(UINT16 mask);
  398. UINT16  audif_get_frequency_mask();
  399. #endif
  400. //setup.c
  401. void draw_3rd_menu();
  402. //sp8200tv.c
  403. void setup_osd_chroma(unsigned amp1, unsigned amp2, unsigned amp3);
  404. void setup_osd_hue (unsigned Cb_b_phase, unsigned Cb_r_phase, unsigned Cr_r_phase, unsigned Cr_b_phase);
  405. void setup_vpp_curve (int Src1, int Dest1, int Src2, int Dest2);
  406. void setup_tv_luma_scaling (BYTE nVal);
  407. //dvd navigation
  408. UINT8 Track_Play(UINT8, UINT8);
  409. void set_disbuf(int);
  410. void ATS_Load_ASV_PBIT(UINT8, UINT8);
  411. void load_ASVU_to_mem(UINT8 ASVU_N, UINT8 ASVN, UINT8 load);
  412. //sysmain_inc.h
  413. void LoadModual(UINT16 iModuleIndex);
  414. /************************************************************
  415.  vfd.c file
  416. ************************************************************/
  417. #ifdef GPIO_KEY_LIGHT
  418. void check_gpio_keylight_status(void);
  419.     #if defined(USE_VFD_GAME_PORT_TO_KEYBOARD_HJ)
  420.     void check_hj_keylight_status(void);
  421.     #elif defined(USE_VFDPORT_TO_KEYLIGHT_GBM)
  422. void check_gbm_keylight_status(void);
  423.     #elif defined(USE_VFDPORT_TO_KEYLIGHT_MINTON)//wanghaoying 2003-8-19 20:02
  424.     void check_minton_keylight_status(void);
  425.     #elif defined(USE_VFDPORT_TO_KEYLIGHT_IDALL)
  426.     void check_idall_keylight_status(void);
  427.     #elif defined(USE_VFDPORT_TO_KEYLIGHT_THAKRAL)
  428.     void check_thakral_keylight_status(void);
  429.     #elif defined(VFD_GPIO_KEY)
  430.     void check_syber_key_status(void);    
  431.     #elif defined(HANYANG_SCAN_KEY)
  432.     void check_hanyang_keylight_status(void);  //caoh 2004-4-19 11:30   
  433.     #elif defined(NINTAUS_612_SCAN_KEY)         //linrc add 2004-6-8 9:21
  434.     void vfdIO_scan_6key(void);   
  435. #endif
  436. #endif
  437. /************************************************************
  438. periphGUI.c header file
  439. ************************************************************/
  440. #if defined(CF_CARD_WRITE)||defined(FAT_Write_UI)//||defined(WRITE_USB)
  441. void switch_left();
  442. void switch_right();
  443. void switch_down();
  444. void switch_up();
  445. void switch_select();
  446. #endif
  447. /************************************************************
  448. switch cd/card/usb
  449. ************************************************************/
  450. #ifdef SWITCH_CD_CARD_USB
  451. void switch_gui_up(void);
  452. void switch_gui_down(void);
  453. void switch_gui_select(void);
  454. #endif
  455. //full scrn ircmd function pointer for UP/Down/Left/Right/Select, please use SetFullscrnCmdFuncPtr
  456. //to set your function pointers.
  457. void SetFullscrnCmdFuncPtr( void (*up), void (*down), void (*left), void (*right),void (*sel));
  458. void (*ircmd_full_scrn_up)();
  459. void (*ircmd_full_scrn_down)();
  460. void (*ircmd_full_scrn_left)();
  461. void (*ircmd_full_scrn_right)();
  462. void (*ircmd_full_scrn_select)();
  463. //Jeff 20041025
  464. #ifdef OSDISP
  465. //only valid when you define SPHE1000
  466. #define OSD1000ISP_STATUS(stat, ir)     osdisp_status(stat, ir)
  467. #else
  468. #define OSD1000ISP_STATUS(stat, ir)     ;
  469. #endif //OSDISP