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

📄 osd_drv.h

📁 Sunplus 8202S source code.
💻 H
字号:
//define pallete format
//#define OSD_PAL_16b
//#define OSD_PAL_32b
#define OSD_PAL_RGB_32b

//use PrintOsdMsg
#define BOARD_UP_LINE    (0x01<<0)
#define BOARD_DOWN_LINE  (0x01<<1)
#define BOARD_LEFT_LINE  (0x01<<2)
#define BOARD_RIGHT_LINE (0x01<<3)
#define BOARD_FULL_LINE  (BOARD_UP_LINE|BOARD_DOWN_LINE|BOARD_LEFT_LINE|BOARD_RIGHT_LINE)
#define BOARD_LR_LINE    (BOARD_LEFT_LINE|BOARD_RIGHT_LINE)
#define BOARD_UD_LINE    (BOARD_UP_LINE|BOARD_DOWN_LINE)


#define OSD_OFF         0
#define OSD_ON          1
#define OSD_TOG         2

#define HEADER_SIZE     16  //8
#define MAX_REGION      8   //5
#define MAX_SW_REGION   4
#define MAX_SW_R_LEN    13

#define OSDSTR_ID_TOTL_BIT    9//8//nono 2-7-8 17:44

#define OSD_INTERLACED          0x08
#define OSD_NONINTERLACED       0x00    

#define OSD_FORMAT_MASK         0x07
#define OSD_FORMAT_4COLOR       0x00
#define OSD_FORMAT_16COLOR      0x01
#define OSD_FORMAT_256COLOR     0x02
//#define OSD_FORMAT_DIRECTCOLOR  0x03
#define OSD_FORMAT_DIRECT16A    0x04
#define OSD_FORMAT_DIRECT16B    0x05


#define OSDV2_CLUT_16b		0
#define OSDV2_CLUT_32b		1

#define BIT_CU			7       // [7] color-table update
#define BIT_FT			6       // [6] force-transparent
#define BIT_PR			4       // [5:4] pixel-resolution
#define BIT_MD			0       // [2:0] mode

#define BIT_SHD			4       // [7:4] shade
#define BIT_BLND		0       // [3:0] blend

#define	BIT_CLUT_TYPE	6		// [7:6] clut_type
#define	BIT_COLOR_RGB	5		// [5]
#define	BIT_SWAP_BYTE	4		// [4]
#define	BIT_SHADE_MODE	3		// [3]

#define V2_CLUT_TYPE(n)		((n)<<BIT_CLUT_TYPE)
#define V2_RGB_MODE         (1<<BIT_COLOR_RGB)
#define V2_SWAP_BYTE_OFF	(0<<BIT_SWAP_BYTE)
#define V2_SWAP_BYTE_ON		(1<<BIT_SWAP_BYTE)
#define V2_SHADE_MODE_A		(0<<BIT_SHADE_MODE)
#define V2_SHADE_MODE_B		(1<<BIT_SHADE_MODE)

typedef struct 
{
    UINT8  config0;
    UINT8  config1;
    UINT8  config2;
    UINT8  config3;
    UINT16 v_size;
    UINT16 h_size;
    UINT16 y;
    UINT16 x;
    UINT16 link_data;
    UINT16 link_next;
} t_osdv2_header;


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


//
// OSD Initialization Functions
//
typedef struct {
    UINT16  width;
    UINT16  height;
    UINT16  x;
    UINT16  y;
    UINT8   header_type;
    UINT8   format;
    UINT8   type;
} _t_osd_hdr;

/*
** OSD free buffer control.
** this is the end packed-address of OSD buffer.
*/
EXTERN_MEM  t_osd_region    region[MAX_REGION];//kenny add it 2001/5/8
EXTERN      UINT16          timeout_osd[MAX_REGION];

EXTERN      UINT16          osd_free;
EXTERN_MEM  UINT8           osd_buf[50];
EXTERN      UINT8           osd_active_regions;

EXTERN      BYTE antic_begin;
EXTERN      BYTE antic_end;


/************************************************************\
osd1.c head file
\************************************************************/
void 	osd_create_region1(t_osd_region *, int,int,t_osd_region *,BYTE,BYTE);
void    osd_create_region_setup(t_osd_region *p, int X, int Y, t_osd_region *prev,BYTE bColorMode,BYTE bScanMode);
//void	osd_print_regionEQ(t_osd_region *, const char *);
void	osd_print_region1(t_osd_region *, const char *);

⌨️ 快捷键说明

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