📄 osdtest.c
字号:
/*
$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 + -