?? talk.h
字號:
/* SCCSID @(#)talk.h 1.80 5/5/98 */#ifndef R3310#ifndef __TALK_H__#define __TALK_H__/* Put your new commands before CMD_invalid. Ming 7/28 */typedef enum { CMD_null, CMD_read, CMD_write, CMD_die, /* Peek, all single byte except lba for 4. */ CMD_sys_status, CMD_vbv_wrptr, CMD_lba, /* Poke, all single byte */ CMD_stop_video, CMD_skip_video, CMD_slow_video, CMD_pause_video, CMD_trick_mode, CMD_tv_mode,#ifdef MULTISYNC CMD_tv_type,#endif CMD_spu_on, CMD_spu_btn_mv, CMD_spu_attrib, CMD_show_logo, CMD_remote_key, CMD_vbv_full, CMD_sbv_full, CMD_zoom_request, CMD_I, CMD_cell_still,#ifdef BT865A CMD_aps,#endif#ifdef LINE21 CMD_closed_caption_on,#endif#ifdef WEBDVD CMD_mute_dac,#endif CMD_set_aclk, /* flirt */ CMD_I_urgent, /* Signal */ CMD_spu_flush, CMD_video_skipped, CMD_flush_video, CMD_check_vbv_sbv, CMD_setup_osd_done, CMD_btn_action_finished,#ifdef CONFORMANCE CMD_conformance_OSD_flag,#endif CMD_system_reset, CMD_bad_ide, CMD_step_video, CMD_flush_done,#ifdef LINE21 CMD_clr_CC, CMD_clr_CC_suspend,#endif /* Gift */ CMD_spu_plt, CMD_spu_btn_act, CMD_spu_hli_slice, CMD_osd_msg, CMD_zoom, /* e2prom */#ifdef I2C_E2PROM /* e2prom */ CMD_e2prom_write, CMD_e2prom_read,#endif /* DVD_VCD */#ifdef DVD_VCD CMD_dsa, CMD_dsa_sector_data, CMD_dsa_msf, CMD_dsa_toc, CMD_vfd, CMD_tmsf, CMD_sector_header, CMD_power_down, CMD_keypad,#endif CMD_switch_code, CMD_invalid, CMD_ack,} hellen_cmds; GBLDEF0(int hellen_timeout);#ifdef BT865AGBLDEF(int aps_type, -1);#endif#ifdef MASTERGBLDEF(int I_at_vbv, -1);GBLDEF0(int flush_done);GBLDEF0(int setup_osd_done);#endif#define ZOOM_NOTHING 0 /* will reset zoom_command to 0 after command process */#define ZOOM_IN 2#define ZOOM_RESET 4#define ZOOM_OUT 8#define ZOOM_PAN_UP 16#define ZOOM_PAN_DOWN 17#define ZOOM_PAN_LEFT 18#define ZOOM_PAN_RIGHT 19#ifdef SLAVEGBLDEF0(int flush_thy_video);GBLDEF0(int flush_thy_spu);GBLDEF0(int master_order_skip);GBLDEF0(int zoom_command);#ifdef SLAVE_JUMPGBLDEF0(int slave_do_jump);#endif /* SLAVE_JUMP */#endif /* SLAVE */extern void init_hellen(void);extern int read_hellen(int);extern int write_hellen(int, int);extern int peek_hellen(int);extern int poke_hellen(int, int);extern int flirt_with_hellen(int, int);extern int signal_hellen(int);extern int send_hellen_gift(int cmd, char *data, int length);#ifdef WATCHDOG#define keep_poking_hellen(cmd, x) do { \ int retry_count = 0; \ while (poke_hellen(cmd, x)) { \ if (retry_count++ > 5) { \ EPRINTF(("Hellen is dead!\n")); \ longjmp(err_buf, 2); break; \ } \ risc_sleep_a_bit(100); \ } \} while (0)#define keep_signalling_hellen(cmd) do { \ int retry_count = 0; \ while (signal_hellen(cmd)) { \ if (retry_count++ > 5) { \ EPRINTF(("Hellen is dead!\n")); \ longjmp(err_buf, 2); break; \ } \ risc_sleep_a_bit(100); \ } \} while (0)#define keep_peeking_hellen(cmd, x) do { \ int retry_count = 0; \ while ((x = peek_hellen(cmd))==-1) { \ if (retry_count++ > 5) { \ EPRINTF(("Hellen is dead!\n")); \ longjmp(err_buf, 2); break; \ } \ risc_sleep_a_bit(100); \ } \} while (0)#else#define keep_poking_hellen(cmd, x) do { \ int retry_count = 0; \ while (poke_hellen(cmd, x)) { \ if (retry_count++ > 5) { \ EPRINTF(("Hellen is dead!\n")); \ DBG_console(); break; \ } \ risc_sleep_a_bit(100); \ } \} while (0)#define keep_signalling_hellen(cmd) do { \ int retry_count = 0; \ while (signal_hellen(cmd)) { \ if (retry_count++ > 5) { \ EPRINTF(("Hellen is dead!\n")); \ DBG_console(); break; \ } \ risc_sleep_a_bit(100); \ } \} while (0)#define keep_peeking_hellen(cmd, x) do { \ int retry_count = 0; \ while ((x = peek_hellen(cmd))==-1) { \ if (retry_count++ > 5) { \ EPRINTF(("Hellen is dead!\n")); \ DBG_console(); break; \ } \ risc_sleep_a_bit(100); \ } \} while (0)#endif#define SPU_PLT_LENGTH 64#define SPU_HLI_LENGTH 262#define SPU_HLI_SLICE 30#define SPU_BTN_MV_LENGTH 4#define SPU_BTN_ACT_LENGTH 4#define SETUP_OSD_TRANSFER_LENGTH 27#define OSD_CLEAN 55 /* for clean the osd *//* tell slave currently selected spu stream attribute */#define SPU_UNKNOWN 0#define SPU_LETTER_BOX 1#define SPU_PAN_SCAN 2#define SPU_WIDE 3#ifdef SLAVEGBLDEF0(int spu_attribute);#endif#ifndef DVD_VCD#define hellen_is_alive (peek_hellen(CMD_sys_status) == 0x43)#else /* for vcd, we use different value */#define hellen_is_alive (peek_hellen(CMD_sys_status) == 0x49)#endif#define vbv_fullness_from_slave() peek_hellen(CMD_vbv_status)#define lba_from_master() peek_hellen(CMD_lba)#define vbv_wrptr_from_slave(x) keep_peeking_hellen(CMD_vbv_wrptr, x)#define zoom_request_to_slave(x) keep_peeking_hellen(CMD_zoom_request, x)#define tell_hellen_to_die() signal_hellen(CMD_die)#define tell_slave_to_stop_video(x) poke_hellen(CMD_stop_video, x)#define tell_slave_to_skip_video(x) poke_hellen(CMD_skip_video, x)#define tell_slave_to_flush_video() keep_signalling_hellen(CMD_flush_video)#define tell_slave_cell_still(x) poke_hellen(CMD_cell_still,x)#define tell_slave_to_mute_dac(x) keep_poking_hellen(CMD_mute_dac,x)#define tell_slave_bad_ide() signal_hellen(CMD_bad_ide)#define tell_slave_to_step_video(x) signal_hellen(CMD_step_video)#define tell_master_video_skipped() signal_hellen(CMD_video_skipped)#define tell_master_flush_done() signal_hellen(CMD_flush_done)#define tell_master_vbv_is_full(x) keep_poking_hellen(CMD_vbv_full, x)#define tell_master_sbv_is_full(x) keep_poking_hellen(CMD_sbv_full, x)#define tell_master_I_have_I(x) poke_hellen(CMD_I, x)#define tell_master_I_have_I_urgent(x) flirt_with_hellen(CMD_I_urgent, x)#define tell_slave_to_flush_spu() keep_signalling_hellen(CMD_spu_flush)#define tell_slave_sp_plt(data) send_hellen_gift(CMD_spu_plt, data, \ SPU_PLT_LENGTH)#define tell_slave_spu_hli_slice(data) send_hellen_gift(CMD_spu_hli_slice,\ data, (SPU_HLI_SLICE + 1))#define tell_slave_btn_mv(x) poke_hellen(CMD_spu_btn_mv, x)/* btn_mv sent only by poke, btn_act only by send , why???? */#define tell_slave_btn_act(num) send_hellen_gift(CMD_spu_btn_act,\ (char *)&num, SPU_BTN_ACT_LENGTH)#define tell_slave_slow_video(x) poke_hellen(CMD_slow_video, x)#define tell_slave_show_osd_msg(data, x) send_hellen_gift(CMD_osd_msg, \ data, x)#define tell_slave_trick_mode(x) poke_hellen(CMD_trick_mode, x)#define tell_slave_spu_on(x) poke_hellen(CMD_spu_on, x)#define tell_slave_to_pause_video(x) poke_hellen(CMD_pause_video, x)#ifdef BT865A#define tell_slave_to_set_aps(x) poke_hellen(CMD_aps, x)#endif#ifdef LINE21 #define tell_slave_closed_caption_on(x) poke_hellen(CMD_closed_caption_on, x)#define tell_slave_clr_CC() signal_hellen(CMD_clr_CC)#define tell_slave_clr_CC_suspend() signal_hellen(CMD_clr_CC_suspend)#endif/* x: 1 - paint blue screen; 2 - paint black screen */#define tell_slave_to_show_logo(x) poke_hellen(CMD_show_logo, x) #define tell_slave_to_check_vbv_sbv() signal_hellen(CMD_check_vbv_sbv)#define tell_slave_tv_mode(x) poke_hellen(CMD_tv_mode, x) #define tell_slave_to_change_tv_type(x) poke_hellen(CMD_tv_type, x) #define tell_slave_to_reset_system() keep_signalling_hellen(CMD_system_reset)#define tell_master_reset_over() keep_signalling_hellen(CMD_system_reset)#define tell_master_btn_act_is_done() keep_signalling_hellen( \ CMD_btn_action_finished)#define tell_master_setup_osd_done() keep_signalling_hellen( \ CMD_setup_osd_done)#ifdef CONFORMANCE#define tell_master_conformance_OSD_ok() keep_signalling_hellen( \ CMD_conformance_OSD_flag)#endif#define tell_slave_spu_attrib(x) poke_hellen(CMD_spu_attrib, x)#define tell_slave_zoom_command(x) poke_hellen(CMD_zoom, x)#define tell_slave_switch_code() keep_signalling_hellen( \ CMD_switch_code)#ifdef I2C_E2PROM#define tell_slave_e2prom_write(data) send_hellen_gift(CMD_e2prom_write, data, 2)#define tell_master_e2prom_write_data(x) poke_hellen(CMD_e2prom_write, x)#define tell_slave_e2prom_read(x) poke_hellen(CMD_e2prom_read, x)#define tell_master_e2prom_read_data(x) poke_hellen(CMD_e2prom_read, x)#endif/* FOR VCD */#ifdef DVD_VCD#ifdef SLAVEGBLDEF_0(int track_info_buffer[101],{}); /* 99 track + first num, last num */GBLDEF_0(char sector_buffer[2048],{});GBLDEF_0(char sector_header[8],{});GBLDEF_0(int keypad_word,0);#endif#ifdef MASTERGBLDEF0(int sys_power_down);#endif#define MSF_SLICE 16 #define MSF_SLICE_COUNT 2048/MSF_SLICE#define tell_master_power_down() keep_poking_hellen(CMD_power_down,1)#define tell_dsa_tmsf(x) keep_poking_hellen(CMD_tmsf,x)#define tell_dsa_vfd(x) keep_poking_hellen(CMD_vfd,x)#define tell_dsa_request(x) keep_poking_hellen(CMD_dsa,x)#define tell_dsa_msf(x) keep_poking_hellen(CMD_dsa_msf,x)#define tell_dsa_sector_data(x) send_hellen_gift(CMD_dsa_sector_data,\ x, MSF_SLICE + 1)#define tell_dsa_toc(info_ptr,byte_ns) send_hellen_gift(CMD_dsa_toc, info_ptr,\ byte_ns)#define tell_slave_sector_header(x) send_hellen_gift( CMD_sector_header, \ x,8) #define tell_slave_keypad(x) keep_poking_hellen(CMD_keypad,x)#endif /*DVD_VCD */#endif#endif /* R3310 */
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -