📄 cdevice.h
字号:
//------------------------------------------------------------------------------
// File: cDevice.h
// Date: 2001-5-10 pm 04:42:09
// Written by: CYu
// Decription:
// Modification record
//------------------------------------------------------------------------------
// Copyright: EPSON Proprietary Material
// Copyright (c) 2001, All Rights Reserved
// SHANGHAI EPSON ELECTRONICS CO., LTD.
//
// DISTRIBUTION PROHIBITED without written authorization from EPSON
// GFD NOTICE:
// The size of screen is determined by LCD_WIDTH & LCD_HEIGHT
// The type of screen is determined by BLACK_WHITE_PDA that define 2bpp LCD & COLOR_PDA that define RGB LCD
// The using field is determined by INDEX_WINDOWS, which for simulator & COLORINDEX_GARFILED, which for Garfiled specially
// The format of frame buffer is determined by COLOR_12BIT (RGB:444) & COLOR_16BIT (RGB:565)
//------------------------------------------------------------------------------
#ifndef _C_DEVICE_H_
#define _C_DEVICE_H_
#include "wintype.h"
//#define DEBUG_ON_GFD
//#define GIII // if no define GIII, GIV is defined.
//(michael)#define AD7846 // if no define AD7846, UCB1400 is defined.
#define SERIES4 // if no define SERIES4, core module board is defined.
#define LB //little board
#define GE01 //demo for GE01 board
#define NORFLASH // if no define NORFLASH, NANDFLASH is defined.
#define OLD_FS // old fs is setup.
//(michael)#define FAT_FS // if define FAT_FS, FAT_FS is setup.
#define LCD_WIDTH 240 // physical screen width
#define LCD_HEIGHT 320 // physical screen height
#define LCD_WIDTH240 1
#define BLACK_WHITE_PDA
//#define COLOR_PDA
#define COLOR_12BIT 0
#define COLOR_16BIT 1
#ifdef BLACK_WHITE_PDA
#define BITS_PER_PIXEL 2 // 像素占据的比特数1/2/4/8/12/16/32
#define LOG_PIXEL_BITS 1 // log2(BITS_PER_PIXEL)
#define PIXEL_BIT_DEPTH 2 // 像素实际使用到的比特数
#define PIXEL_UNIT 8 // 像素存储单位的比特数8/16/32
#define LOG_UNIT 3 // log2(PIXEL_UNIT)
#define UNIT_BYTE 1 // 像素存储单位的字节数1/2/4
#define LOG_UNIT_BYTE 0 // log2(UNIT_BYTE)
#define PIXELS_PER_UNIT 4 // PIXEL_UNIT/BITS_PER_PIXEL
#define LOG_PIXEL_NUM 2 // log2(PIXELS_PER_UNIT)
#endif
#ifdef COLOR_PDA
#if COLOR_12BIT
#define BITS_PER_PIXEL 16 // 像素占据的比特数1/2/4/8/12/16/32
#define LOG_PIXEL_BITS 4 // log2(BITS_PER_PIXEL)
#define PIXEL_BIT_DEPTH 12 // 像素实际使用到的比特数
#define PIXEL_UNIT 16 // 像素存储单位的比特数8/16/32
#define LOG_UNIT 4 // log2(PIXEL_UNIT)
#define UNIT_BYTE 2 // 像素存储单位的字节数1/2/4
#define LOG_UNIT_BYTE 1 // log2(UNIT_BYTE)
#define PIXELS_PER_UNIT 1 // PIXEL_UNIT/BITS_PER_PIXEL
#define LOG_PIXEL_NUM 0 // log2(PIXELS_PER_UNIT)
#define INDEX_RED_BITS 4
#define INDEX_GREEN_BITS 4
#define INDEX_BLUE_BITS 4
#define INDEX_RED_OFFSET 12
#define INDEX_GREEN_OFFSET 8
#define INDEX_BLUE_OFFSET 4
#endif
#if COLOR_16BIT
#define BITS_PER_PIXEL 16 // 像素占据的比特数1/2/4/8/12/16/32
#define LOG_PIXEL_BITS 4 // log2(BITS_PER_PIXEL)
#define PIXEL_BIT_DEPTH 16 // 像素实际使用到的比特数
#define PIXEL_UNIT 16 // 像素存储单位的比特数8/16/32
#define LOG_UNIT 4 // log2(PIXEL_UNIT)
#define UNIT_BYTE 2 // 像素存储单位的字节数1/2/4
#define LOG_UNIT_BYTE 1 // log2(UNIT_BYTE)
#define PIXELS_PER_UNIT 1 // PIXEL_UNIT/BITS_PER_PIXEL
#define LOG_PIXEL_NUM 0 // log2(PIXELS_PER_UNIT)
#define INDEX_RED_BITS 5
#define INDEX_GREEN_BITS 6
#define INDEX_BLUE_BITS 5
#define INDEX_RED_OFFSET 11
#define INDEX_GREEN_OFFSET 5
#define INDEX_BLUE_OFFSET 0
#endif
#endif
#ifdef COLOR_PDA
#ifdef SIM_ON_PC
#define INDEX_WINDOWS
#else
#define COLORINDEX_GARFILED
#endif
#endif
#ifdef INDEX_WINDOWS
#define INDEXMAX 0xff
#endif
#ifdef COLORINDEX_GARFILED
#define INDEXMAX_RED 0x1f
#define INDEXMAX_GREEN 0x3f
#define INDEXMAX_BLUE 0x1f
#endif
typedef DWORD GRAMPIXEL; //
#if PIXEL_UNIT <= 8
typedef BYTE PIXEL; // 像素存储单位BYTE
#elif PIXEL_UNIT <= 16
typedef WORD PIXEL; // 像素存储单位WORD
#elif PIXEL_UNIT <= 32
typedef DWORD PIXEL; // 像素存储单位DWORD
#endif
#if BITS_PER_PIXEL >= 8
// RGB三色分量的分布
extern PIXEL INDEX_RED_MASK;
extern PIXEL INDEX_GREEN_MASK;
extern PIXEL INDEX_BLUE_MASK;
#endif
typedef struct
{
PIXEL *ad;
WORD widthInBit;
WORD widthInPixel;
WORD widthInUnit;
WORD height;
SHORT lcdx;
SHORT lcdy;
}VRAM;
typedef struct
{
#if ( BITS_PER_PIXEL < 8 )
DWORD threshold;
#endif
GRAMPIXEL rgb;
}GRAMPALETTE;
extern GRAMPALETTE *GRAMPalette;
//extern GRAMPALETTE GRAMPalette[1<< BITS_PER_PIXEL];
#define MAKEMASK( n ) ( ( 1 << (n) ) -1 )
#define SWAPWORD( v ) ( ((v) >> 8) | ((v) << 8 ) )
#define INVERTDWORD( v ) ( ((v) >> 24) | (((v) >> 8)&0xff00) | ((v) << 24) | (((v) << 8)&0xff0000) )
#ifndef SIM_ON_PC
#define BIG_ENDIAN_ORDER // 高数位低字节
//#define DMA_MODE
#endif
//#define BIG_BIT_ORDER // 高比特首像素
#define SOLIVE_DRAM_16M // Use DRAM
//#define INTEL_FLASH_8BIT
#define INTEL_FLASH_16BIT
#define FLASH_16M
//#define FLASH_32M
//#define SOLIVE_8_BIT
#define SOLIVE_16_BIT
#define FLASH_BASE 0x800000
#define FLASH_CSGBA 0x0400
#define FLASH_BOTTOM_BOOT
//#define FLASH_TOP_BOOT
// ROM Allocation Table
#define CODE_SIZE 0x00100000 // 代码
#define HAND_WRITING_LIB_SIZE 0x000A6000 // 手写识别库
#define ENGLISH_FONT_LIB_SIZE 0x00001000 // 英文字库
#define CHINESE_FONT_LIB_SIZE 0x00046000 // 中文字库
#define PINYIN_LIB_SIZE 0x00003000 // 拼音库
#define ECDICTIONARY_LIB_SIZE 0x0002E9F6 // 英汉字典
#define CEDICTIONARY_LIB_SIZE 0x0002960A // 汉英字典
#define WAVE_TABLE_SIZE 0x000B8000 // 软波表
//#define MEDIA_LIB_SIZE 0x00100000 // 多媒体库
#define FILE_SYSTEM_SIZE 0x00100000 // 文件系统
#define CODE_START FLASH_BASE
#define HAND_WRITING_LIB_START ( CODE_START + CODE_SIZE )
#define ENGLISH_FONT_LIB_START ( HAND_WRITING_LIB_START + HAND_WRITING_LIB_SIZE )
#define CHINESE_FONT_LIB_START ( ENGLISH_FONT_LIB_START + ENGLISH_FONT_LIB_SIZE )
#define PINYIN_LIB_START ( CHINESE_FONT_LIB_START + CHINESE_FONT_LIB_SIZE )
#define ECDICTIONARY_LIB_START ( PINYIN_LIB_START + PINYIN_LIB_SIZE )
#define CEDICTIONARY_LIB_START ( ECDICTIONARY_LIB_START + ECDICTIONARY_LIB_SIZE )
#define WAVE_TABLE_START ( CEDICTIONARY_LIB_START + CEDICTIONARY_LIB_SIZE )
//#define MEDIA_LIB_START ( WAVE_TABLE_START + WAVE_TABLE_SIZE )
//#define FILE_SYSTEM_START ( MEDIA_LIB_START + MEDIA_LIB_SIZE )
#define FILE_SYSTEM_START ( WAVE_TABLE_START + WAVE_TABLE_SIZE )
#endif
//----------------------------- The End of the File ----------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -