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

📄 osdtest.c

📁 GM5621原代码
💻 C
📖 第 1 页 / 共 3 页
字号:
/*
	$Workfile:   OsdTest.c  $
	$Revision:   1.12  $
	$Date:   Jul 15 2004 22:32:18  $
*/

//******************************************************************
//
//		Copyright (C) 2003.  GENESIS MICROCHIP INC.
// All rights reserved.  No part of this program may be reproduced
//
//	Genesis Microchip Inc., 165 Commerce Valley Dr. West
//		Thornhill, Ontario, Canada, L3T 7V8
//
//================================================================
//
// MODULE:      osdtest.c
//
//******************************************************************
#include ".\inc\all.h"

// if DEBUG_MSG is not set, then ignore whole file.
#define RUN_OSD_TEST 0

#if	DEBUG_MSG && RUN_OSD_TEST

///////////////////////////////////////////////////////////////////////
//
//  COLORS and ATTRIBUTES
//
///////////////////////////////////////////////////////////////////////

#define COL(r,g,b,blevel) \
    (r<<1)|(blevel>>2), (g<<1)|((blevel>>1)&1), (b<<1)|(blevel&1)

BYTE ROM ClutPage1[] =
{
COL( 80, 80, 80, 0),
COL(  40, 40, 40, 40),
COL( 127, 0,   0,   0),
COL( 0,   127, 0,   0),
COL( 0,   0,   127, 0),
COL( 127, 64,   64,   0),
COL( 64,   127, 64,   0),
COL( 64,   64,   127, 0),
COL( 127, 32,   32,   0),
COL( 32,   127, 32,   0),
COL( 32,   32,   127, 0),
COL( 0, 64,   64,   0),
COL( 64,   0, 64,   0),
COL( 64,   64,   0, 0),
COL( 127, 127,   0,   0),
COL( 0,   127, 127,   0),
}; 

BYTE ROM ClutPage2[] =
{
COL( 0,   127, 127,   0),
COL( 127, 127,   0,   0),
COL( 64,   64,   0, 0),
COL( 64,   0, 64,   0),
COL( 0, 64,   64,   0),
COL( 32,   32,   127, 0),
COL( 32,   127, 32,   0),
COL( 127, 32,   32,   0),
COL( 64,   64,   127, 0),
COL( 64,   127, 64,   0),
COL( 127, 64,   64,   0),
COL( 0,   0,   127, 0),
COL( 0,   127, 0,   0),
COL( 127, 0,   0,   0),
COL(  40, 40, 40, 40),
COL( 80, 80, 80, 0),

};

// blink-transparent-blend
#define BTB(blk,tr,bld) ((blk<<3)|(tr<<2)|(bld<<1))

// col page 0-15
// bk       0-15
// fg       0-15
#define ATTR1(page,bk,fg,btb)\
    (fg<<4)|btb,\
    (page<<4)|bk

BYTE ROM AttrData1bpp[] =
{
    ATTR1(0, 0,   3, BTB(0,0,0)),
    ATTR1(0, 4,   7, BTB(0,0,0)),
    ATTR1(0, 8,  11, BTB(0,0,0)),
    ATTR1(0, 12, 15, BTB(0,0,0)),
};

// col page 0-15
// bkpg     0-3
// fg13pg   0-3
// fg2pg    0-3
#define ATTR2(page,bkpg,fg13pg,fg2pg,btb)\
    (fg2pg<<6)|(fg13pg<<4)|btb,\
    (page<<4)|(bkpg<<2)

BYTE ROM AttrData2bpp[] =
{
    ATTR2(0, 0, 0, 0, BTB(0,0,0)),
    ATTR2(1, 1, 1, 1, BTB(0,0,0)),
    ATTR2(2, 2, 2, 2, BTB(0,0,0)),
    ATTR2(3, 3, 3, 3, BTB(0,0,0)),
};

// col page 0-15
// bk       0-15
#define ATTR4(page,bk,btb)\
    btb,\
    (page<<4)|bk

BYTE ROM AttrData4bpp[] =
{
    ATTR4(0, 0, BTB(0,0,0)),
    ATTR4(0, 0, BTB(0,0,0)),
    ATTR4(0, 0, BTB(0,0,0)),
    ATTR4(0, 0, BTB(0,0,0)),
};

///////////////////////////////////////////////////////////////////////
//
//  BITMAP ICONS
//
///////////////////////////////////////////////////////////////////////

BYTE ROM Icon1BPP[] =
{
	0xff, 0xff, 
    0xff, 0xff, 
    0xff, 0xff, 
    0xff, 0xff, // 8x8
    0xff, 0xff, 
    0xff, 0xff, 
    0xff, 0xff, 
    0xff, 0xff,
	0xff, 0xff, 
    0xff, 0xff, 
    0xff, 0xff, 
    0xff, 0xff, 
    0xff, 0xff, 
    0xff, 0xff, 
    0xff, 0xff, 
    0xff, 0xff, // 16x16
	0xff, 0xff, 
    0xff, 0xff, 
    0xff, 0xff, 
    0xff, 0xff, 
    0xff, 0xff, 
    0xff, 0xff, 
    0xff, 0xff, 
    0xff, 0xff, 
	0xff, 0xff, 
    0xff, 0xff, 
    0xff, 0xff,
    0xff, 0xff, 
    0xff, 0xff, 
    0xff, 0xff, 
    0xff, 0xff, 
    0xff, 0xff,
	0xff, 0xff, 
    0xff, 0xff, 
    0xff, 0xff, 
    0xff, 0xff,  // 18x18

    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
	0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
	0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
	0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
	0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
	0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
	0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
	0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
};

/*
BYTE ROM Icon1BPP[] =
{
	0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
*/

BYTE ROM Icon2BPP[] =
{
	0x00, 0x00, 
    0x00, 0x00, 
    0x00, 0x00, 
    0x00, 0x00, 
    0x55, 0x55, 
    0x55, 0x55, 
    0x55, 0x55, 
    0x55, 0x55, // 8x8
	0x55, 0x55, 
    0x55, 0x55, 
    0xaa, 0xaa, 
    0xaa, 0xaa, 
    0xaa, 0xaa, 
    0xaa, 0xaa, 
    0xaa, 0xaa, 
    0xaa, 0xaa, // 16x16
	0x55, 0x55, 
    0x55, 0x55, 
    0x55, 0x55, 
    0x55, 0x55, 
    0x55, 0x55, 
    0x55, 0x55, 
    0xff, 0xff, 
    0xff, 0xff,
	0xff, 0xff, 
    0xff, 0xff,
    0xff, 0xff, 
    0xff, 0xff, 
    0x55, 0x55, 
    0x55, 0x55, 
    0x55, 0x55, 
    0x55, 0x55,
	0x00, 0x00, 
    0x00, 0x00, 
    0x00, 0x00, 
    0x00, 0x00, 
    0x55, 0x55, 
    0x55, 0x55, 
    0x55, 0x55, 
    0x55, 0x55,
	0x55, 0x55, 
    0x55, 0x55, 
    0xaa, 0xaa, 
    0xaa, 0xaa, 
    0xaa, 0xaa, 
    0xaa, 0xaa, 
    0xaa, 0xaa, 
    0xaa, 0xaa,
	0x55, 0x55, 
    0x55, 0x55, 
    0x55, 0x55, 
    0x55, 0x55, 
    0x55, 0x55, 
    0x55, 0x55, // 18x18

    0xff, 0xff, 
    0xff, 0xff,
	0xff, 0xff, 
    0xff, 0xff,
    0xff, 0xff, 
    0xff, 0xff, 
    0x55, 0x55, 
    0x55, 0x55, 
    0x55, 0x55, 
    0x55, 0x55,
	0x00, 0x00, 
    0x00, 0x00, 
    0x00, 0x00, 
    0x00, 0x00, 
    0x55, 0x55, 
    0x55, 0x55, 
    0x55, 0x55, 
    0x55, 0x55,
	0x55, 0x55, 
    0x55, 0x55, 
    0xaa, 0xaa, 
    0xaa, 0xaa, 
    0xaa, 0xaa, 
    0xaa, 0xaa, 
    0xaa, 0xaa, 
    0xaa, 0xaa,
	0x55, 0x55, 
    0x55, 0x55, 
    0x55, 0x55, 
    0x55, 0x55, 
    0x55, 0x55, 
    0x55, 0x55, 
    0xff, 0xff, 
    0xff, 0xff,
	0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
	0x55, 0x55, 0x55, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0xaa, 0xaa, 0xaa, 0xaa,
	0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
	0x55, 0x55, 0x55, 0x55, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
	0x55, 0x55, 0x55, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0xaa, 0xaa, 0xaa, 0xaa,
	0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
	0x55, 0x55, 0x55, 0x55, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
	0x55, 0x55, 0x55, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
	0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0xaa, 0xaa, 0xaa, 0xaa,
	0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
	0x55, 0x55, 0x55, 0x55, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
};

BYTE ROM Icon4BPP[] =
{
    0x00, 0x00,
	0x11, 0x11, 
    0x22, 0x22, 
    0x33, 0x33, 
    0x44, 0x44, 
    0x55, 0x55, 
    0x66, 0x66, 
    0x77, 0x77, 
    0x88, 0x88,
	0x99, 0x99, 
    0xaa, 0xaa, 
    0xbb, 0xbb, 
    0xcc, 0xcc, 
    0xdd, 0xdd, 
    0xee, 0xee, 
    0xff, 0xff, 

    0x00, 0x00,
	0x11, 0x11,
    0x22, 0x22, 
    0x33, 0x33, 
    0x44, 0x44, 
    0x55, 0x55, 
    0x66, 0x66, 
    0x77, 0x77, 
    0x88, 0x88,
	0x99, 0x99, 
    0xaa, 0xaa, 
    0xbb, 0xbb, 
    0xcc, 0xcc, 
    0xdd, 0xdd, 
    0xee, 0xee, 
    0xff, 0xff, 
    0x00, 0x00,
	0x11, 0x11, 
    0x22, 0x22, 
    0x33, 0x33, 
    0x44, 0x44, 
    0x55, 0x55, 
    0x66, 0x66, 
    0x77, 0x77, 
    0x88, 0x88,
	0x99, 0x99, 
    0xaa, 0xaa, 
    0xbb, 0xbb, 
    0xcc, 0xcc, 
    0xdd, 0xdd, 
    0xee, 0xee, 
    0xff, 0xff, 
    0x00, 0x00,
	0x11, 0x11, 
    0x22, 0x22,
    0x33, 0x33, 
    0x44, 0x44, 
    0x55, 0x55, 
    0x66, 0x66, 
    0x77, 0x77, 
    0x88, 0x88,
	0x99, 0x99, 
    0xaa, 0xaa, 
    0xbb, 0xbb, 
    0xcc, 0xcc, 
    0xdd, 0xdd, 
    0xee, 0xee, 
    0xff, 0xff, 

⌨️ 快捷键说明

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