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

📄 fp_handler_config.h

📁 ZORAN 962/966 SOURCE CODE,DVD chip
💻 H
📖 第 1 页 / 共 2 页
字号:
/* **************************************************************************************
 *  Created by William Lei 2005/12/25
 *
 *  File: $Workfile: Fp_lut.c $
 *
 * Description:  PANDA:PD-6881,MODEL:62-VFD
 * ============
 * Front Panel look up table
 *
 **************************************************************************************** */
//#include "Config.h"		// Global Configuration - do not remove!
//#include "include\sysdefs.h"	// Global definition - do not remove!

#ifndef _FP_HANDLER_CONFIG_H_
#define _FP_HANDLER_CONFIG_H_

/*
 * This file can be shared by all vfd_tbl.c. This allows easier and
 * more consistent customization.
 *
 * Customization steps:
 * - Find the VFD anode connection table for your VFD. It looks
 *   something like:
 *         7G  6G  5G  4G  3G  2G  1G
 *     P1
 *     P2           x
 *     ...
 *     P16
 *
 *   In each grid point, there is a corresponding symbol. Use the
 *   following macros to represent the symbol, e.g.
 *
 *     #define ICON_x     ANODE_G5P2
 *
 * - You may notice that we have 
 *      1 <= P <= 16 and 1 <= G <= 16
 *
 *   Unfortunately, some of the VFD's have P equal to 17 or more, e.g.
 *         7G  6G  5G  4G  3G  2G  1G
 *     P1
 *     P2
 *     ...
 *     P16
 *     P17  a   b   c   d   e   f   g
 *
 *   In which case, treat 
 *          G1P17 to G1P24 as  G8P1  to G8P8
 *          G2P17 to G2P24 as  G8P9  to G8P16
 *          G3P17 to G3P24 as  G9P1  to G9P8
 *          G4P17 to G4P24 as  G9P9  to G9P16
 *          G5P17 to G5P24 as  G10P1 to G10P8
 *          G6P17 to G6P24 as  G10P9 to G10P16
 *          G7P17 to G7P24 as  G11P1 to G11P8
 *
 *   Graphically, our code "thinks" the VFD looks like:
 *
 *         11G 10G 9G 8G 7G  6G  5G  4G  3G  2G  1G
 *     P1    g   e  c  a
 *     P2
 *     ...
 *     P9        f  d  b
 *     ...
 *     P16
 *
 *   This way, you can still use the same set of macro without having
 *   to redefine them.
 *
 * - Customize your VFD_refresh_address table. GxPx corresponds to how
 *   we internally treat the VFD table. However, the actual hardware
 *   may use a different convention. VFD_refresh_address table will link 
 *   the two sets together.
 *
 *   If your P is <= 16, then refresh table is simplying
 *
 *   unsigned char VFD_refresh_address[] = {0, 1, 2, ..., 2*G-1};
 *
 *   If your 17 <= P <= 24, since the way our code represents the VFD
 *   is different from the actual VFD, the refresh table looks like:
 * 
 *   unsigned char VFD_refresh_address[] = {
 *       0, 1, 
 *       3, 4,
 *       6, 7, 
 *       ...
 *       3G-3, 3G-2,
 *       2,
 *       5,
 *       ...
 *       3G-1
 *    };
 *
 *    In other words, we use our internal representation to index
 *    the VFD_refresh_address table, while the content of the table gives
 *    the actual VFD address from hardware's point of view.
 */
#ifdef UPD_16311
#define g_vfd_type 3
#else
#define g_vfd_type 2
#endif

#define G1P1	0x0001
#define G1P2	0x0002
#define G1P3	0x0004
#define G1P4	0x0008
#define G1P5	0x0010
#define G1P6	0x0020
#define G1P7	0x0040
#define G1P8	0x0080
#define G1P9	0x0101
#define G1P10	0x0102
#define G1P11	0x0104
#define G1P12	0x0108
#define G1P13	0x0110
#define G1P14	0x0120
#define G1P15	0x0140
#define G1P16	0x0180
#define G1P17	0x0201
#define G1P18	0x0202
#define G1P19	0x0204
#define G1P20	0x0208

#define G2P1	(0x0001 | (g_vfd_type<<8))
#define G2P2	(0x0002 | (g_vfd_type<<8))
#define G2P3	(0x0004 | (g_vfd_type<<8))
#define G2P4	(0x0008 | (g_vfd_type<<8))
#define G2P5	(0x0010 | (g_vfd_type<<8))
#define G2P6	(0x0020 | (g_vfd_type<<8))
#define G2P7	(0x0040 | (g_vfd_type<<8))
#define G2P8	(0x0080 | (g_vfd_type<<8))
#define G2P9	(0x0001 | ((g_vfd_type+1)<<8))
#define G2P10	(0x0002 | ((g_vfd_type+1)<<8))
#define G2P11	(0x0004 | ((g_vfd_type+1)<<8))
#define G2P12	(0x0008 | ((g_vfd_type+1)<<8))
#define G2P13	(0x0010 | ((g_vfd_type+1)<<8))
#define G2P14	(0x0020 | ((g_vfd_type+1)<<8))
#define G2P15	(0x0040 | ((g_vfd_type+1)<<8))
#define G2P16	(0x0080 | ((g_vfd_type+1)<<8))
#define G2P17	(0x0001 | ((g_vfd_type+2)<<8))
#define G2P18	(0x0002 | ((g_vfd_type+2)<<8))
#define G2P19	(0x0004 | ((g_vfd_type+2)<<8))
#define G2P20	(0x0008 | ((g_vfd_type+2)<<8))

#define G3P1	(0x0001 | ((g_vfd_type*2)<<8))
#define G3P2	(0x0002 | ((g_vfd_type*2)<<8))
#define G3P3	(0x0004 | ((g_vfd_type*2)<<8))
#define G3P4	(0x0008 | ((g_vfd_type*2)<<8))
#define G3P5	(0x0010 | ((g_vfd_type*2)<<8))
#define G3P6	(0x0020 | ((g_vfd_type*2)<<8))
#define G3P7	(0x0040 | ((g_vfd_type*2)<<8))
#define G3P8	(0x0080 | ((g_vfd_type*2)<<8))
#define G3P9	(0x0001 | (((g_vfd_type*2)+1)<<8))
#define G3P10	(0x0002 | (((g_vfd_type*2)+1)<<8))
#define G3P11	(0x0004 | (((g_vfd_type*2)+1)<<8))
#define G3P12	(0x0008 | (((g_vfd_type*2)+1)<<8))
#define G3P13	(0x0010 | (((g_vfd_type*2)+1)<<8))
#define G3P14	(0x0020 | (((g_vfd_type*2)+1)<<8))
#define G3P15	(0x0040 | (((g_vfd_type*2)+1)<<8))
#define G3P16	(0x0080 | (((g_vfd_type*2)+1)<<8))
#define G3P17	(0x0001 | (((g_vfd_type*2)+2)<<8))
#define G3P18	(0x0002 | (((g_vfd_type*2)+2)<<8))
#define G3P19	(0x0004 | (((g_vfd_type*2)+2)<<8))
#define G3P20	(0x0008 | (((g_vfd_type*2)+2)<<8))

#define G4P1	(0x0001 | ((g_vfd_type*3)<<8))
#define G4P2	(0x0002 | ((g_vfd_type*3)<<8))
#define G4P3	(0x0004 | ((g_vfd_type*3)<<8))
#define G4P4	(0x0008 | ((g_vfd_type*3)<<8))
#define G4P5	(0x0010 | ((g_vfd_type*3)<<8))
#define G4P6	(0x0020 | ((g_vfd_type*3)<<8))
#define G4P7	(0x0040 | ((g_vfd_type*3)<<8))
#define G4P8	(0x0080 | ((g_vfd_type*3)<<8))
#define G4P9	(0x0001 | (((g_vfd_type*3)+1)<<8))
#define G4P10	(0x0002 | (((g_vfd_type*3)+1)<<8))
#define G4P11	(0x0004 | (((g_vfd_type*3)+1)<<8))
#define G4P12	(0x0008 | (((g_vfd_type*3)+1)<<8))
#define G4P13	(0x0010 | (((g_vfd_type*3)+1)<<8))
#define G4P14	(0x0020 | (((g_vfd_type*3)+1)<<8))
#define G4P15	(0x0040 | (((g_vfd_type*3)+1)<<8))
#define G4P16	(0x0080 | (((g_vfd_type*3)+1)<<8))
#define G4P17	(0x0001 | (((g_vfd_type*3)+2)<<8))
#define G4P18	(0x0002 | (((g_vfd_type*3)+2)<<8))
#define G4P19	(0x0004 | (((g_vfd_type*3)+2)<<8))
#define G4P20	(0x0008 | (((g_vfd_type*3)+2)<<8))

#define G5P1	(0x0001 | ((g_vfd_type*4)<<8))
#define G5P2	(0x0002 | ((g_vfd_type*4)<<8))
#define G5P3	(0x0004 | ((g_vfd_type*4)<<8))
#define G5P4	(0x0008 | ((g_vfd_type*4)<<8))
#define G5P5	(0x0010 | ((g_vfd_type*4)<<8))
#define G5P6	(0x0020 | ((g_vfd_type*4)<<8))
#define G5P7	(0x0040 | ((g_vfd_type*4)<<8))
#define G5P8	(0x0080 | ((g_vfd_type*4)<<8))
#define G5P9	(0x0001 | (((g_vfd_type*4)+1)<<8))
#define G5P10	(0x0002 | (((g_vfd_type*4)+1)<<8))
#define G5P11	(0x0004 | (((g_vfd_type*4)+1)<<8))
#define G5P12	(0x0008 | (((g_vfd_type*4)+1)<<8))
#define G5P13	(0x0010 | (((g_vfd_type*4)+1)<<8))
#define G5P14	(0x0020 | (((g_vfd_type*4)+1)<<8))
#define G5P15	(0x0040 | (((g_vfd_type*4)+1)<<8))
#define G5P16	(0x0080 | (((g_vfd_type*4)+1)<<8))
#define G5P17	(0x0001 | (((g_vfd_type*4)+2)<<8))
#define G5P18	(0x0002 | (((g_vfd_type*4)+2)<<8))
#define G5P19	(0x0004 | (((g_vfd_type*4)+2)<<8))
#define G5P20	(0x0008 | (((g_vfd_type*4)+2)<<8))

#define G6P1	(0x0001 | ((g_vfd_type*5)<<8))
#define G6P2	(0x0002 | ((g_vfd_type*5)<<8))
#define G6P3	(0x0004 | ((g_vfd_type*5)<<8))
#define G6P4	(0x0008 | ((g_vfd_type*5)<<8))
#define G6P5	(0x0010 | ((g_vfd_type*5)<<8))
#define G6P6	(0x0020 | ((g_vfd_type*5)<<8))
#define G6P7	(0x0040 | ((g_vfd_type*5)<<8))
#define G6P8	(0x0080 | ((g_vfd_type*5)<<8))
#define G6P9	(0x0001 | (((g_vfd_type*5)+1)<<8))
#define G6P10	(0x0002 | (((g_vfd_type*5)+1)<<8))
#define G6P11	(0x0004 | (((g_vfd_type*5)+1)<<8))
#define G6P12	(0x0008 | (((g_vfd_type*5)+1)<<8))
#define G6P13	(0x0010 | (((g_vfd_type*5)+1)<<8))
#define G6P14	(0x0020 | (((g_vfd_type*5)+1)<<8))
#define G6P15	(0x0040 | (((g_vfd_type*5)+1)<<8))
#define G6P16	(0x0080 | (((g_vfd_type*5)+1)<<8))
#define G6P17	(0x0001 | (((g_vfd_type*5)+2)<<8))
#define G6P18	(0x0002 | (((g_vfd_type*5)+2)<<8))
#define G6P19	(0x0004 | (((g_vfd_type*5)+2)<<8))
#define G6P20	(0x0008 | (((g_vfd_type*5)+2)<<8))

#define G7P1	(0x0001 | ((g_vfd_type*6)<<8))
#define G7P2	(0x0002 | ((g_vfd_type*6)<<8))
#define G7P3	(0x0004 | ((g_vfd_type*6)<<8))
#define G7P4	(0x0008 | ((g_vfd_type*6)<<8))
#define G7P5	(0x0010 | ((g_vfd_type*6)<<8))
#define G7P6	(0x0020 | ((g_vfd_type*6)<<8))
#define G7P7	(0x0040 | ((g_vfd_type*6)<<8))
#define G7P8	(0x0080 | ((g_vfd_type*6)<<8))
#define G7P9	(0x0001 | (((g_vfd_type*6)+1)<<8))
#define G7P10	(0x0002 | (((g_vfd_type*6)+1)<<8))
#define G7P11	(0x0004 | (((g_vfd_type*6)+1)<<8))
#define G7P12	(0x0008 | (((g_vfd_type*6)+1)<<8))
#define G7P13	(0x0010 | (((g_vfd_type*6)+1)<<8))
#define G7P14	(0x0020 | (((g_vfd_type*6)+1)<<8))
#define G7P15	(0x0040 | (((g_vfd_type*6)+1)<<8))
#define G7P16	(0x0080 | (((g_vfd_type*6)+1)<<8))
#define G7P17	(0x0001 | (((g_vfd_type*6)+2)<<8))
#define G7P18	(0x0002 | (((g_vfd_type*6)+2)<<8))
#define G7P19	(0x0004 | (((g_vfd_type*6)+2)<<8))
#define G7P20	(0x0008 | (((g_vfd_type*6)+2)<<8))

#define G8P1	(0x0001 | ((g_vfd_type*7)<<8))
#define G8P2	(0x0002 | ((g_vfd_type*7)<<8))
#define G8P3	(0x0004 | ((g_vfd_type*7)<<8))
#define G8P4	(0x0008 | ((g_vfd_type*7)<<8))
#define G8P5	(0x0010 | ((g_vfd_type*7)<<8))
#define G8P6	(0x0020 | ((g_vfd_type*7)<<8))
#define G8P7	(0x0040 | ((g_vfd_type*7)<<8))
#define G8P8	(0x0080 | ((g_vfd_type*7)<<8))
#define G8P9	(0x0001 | (((g_vfd_type*7)+1)<<8))
#define G8P10	(0x0002 | (((g_vfd_type*7)+1)<<8))
#define G8P11	(0x0004 | (((g_vfd_type*7)+1)<<8))
#define G8P12	(0x0008 | (((g_vfd_type*7)+1)<<8))
#define G8P13	(0x0010 | (((g_vfd_type*7)+1)<<8))
#define G8P14	(0x0020 | (((g_vfd_type*7)+1)<<8))
#define G8P15	(0x0040 | (((g_vfd_type*7)+1)<<8))
#define G8P16	(0x0080 | (((g_vfd_type*7)+1)<<8))
#define G8P17	(0x0001 | (((g_vfd_type*7)+2)<<8))
#define G8P18	(0x0002 | (((g_vfd_type*7)+2)<<8))
#define G8P19	(0x0004 | (((g_vfd_type*7)+2)<<8))
#define G8P20	(0x0008 | (((g_vfd_type*7)+2)<<8))

#define G9P1	(0x0001 | ((g_vfd_type*8)<<8))
#define G9P2	(0x0002 | ((g_vfd_type*8)<<8))
#define G9P3	(0x0004 | ((g_vfd_type*8)<<8))
#define G9P4	(0x0008 | ((g_vfd_type*8)<<8))
#define G9P5	(0x0010 | ((g_vfd_type*8)<<8))
#define G9P6	(0x0020 | ((g_vfd_type*8)<<8))
#define G9P7	(0x0040 | ((g_vfd_type*8)<<8))
#define G9P8	(0x0080 | ((g_vfd_type*8)<<8))
#define G9P9	(0x0001 | (((g_vfd_type*8)+1)<<8))
#define G9P10	(0x0002 | (((g_vfd_type*8)+1)<<8))
#define G9P11	(0x0004 | (((g_vfd_type*8)+1)<<8))
#define G9P12	(0x0008 | (((g_vfd_type*8)+1)<<8))
#define G9P13	(0x0010 | (((g_vfd_type*8)+1)<<8))
#define G9P14	(0x0020 | (((g_vfd_type*8)+1)<<8))
#define G9P15	(0x0040 | (((g_vfd_type*8)+1)<<8))
#define G9P16	(0x0080 | (((g_vfd_type*8)+1)<<8))
#define G9P17	(0x0001 | (((g_vfd_type*8)+2)<<8))
#define G9P18	(0x0002 | (((g_vfd_type*8)+2)<<8))
#define G9P19	(0x0004 | (((g_vfd_type*8)+2)<<8))
#define G9P20	(0x0008 | (((g_vfd_type*8)+2)<<8))

#define G10P1	(0x0001 | ((g_vfd_type*9)<<8))
#define G10P2	(0x0002 | ((g_vfd_type*9)<<8))
#define G10P3	(0x0004 | ((g_vfd_type*9)<<8))
#define G10P4	(0x0008 | ((g_vfd_type*9)<<8))
#define G10P5	(0x0010 | ((g_vfd_type*9)<<8))
#define G10P6	(0x0020 | ((g_vfd_type*9)<<8))
#define G10P7	(0x0040 | ((g_vfd_type*9)<<8))
#define G10P8	(0x0080 | ((g_vfd_type*9)<<8))
#define G10P9	(0x0001 | (((g_vfd_type*9)+1)<<8))
#define G10P10	(0x0002 | (((g_vfd_type*9)+1)<<8))
#define G10P11	(0x0004 | (((g_vfd_type*9)+1)<<8))
#define G10P12	(0x0008 | (((g_vfd_type*9)+1)<<8))
#define G10P13	(0x0010 | (((g_vfd_type*9)+1)<<8))
#define G10P14	(0x0020 | (((g_vfd_type*9)+1)<<8))
#define G10P15	(0x0040 | (((g_vfd_type*9)+1)<<8))
#define G10P16	(0x0080 | (((g_vfd_type*9)+1)<<8))
#define G10P17	(0x0001 | (((g_vfd_type*9)+2)<<8))
#define G10P18	(0x0002 | (((g_vfd_type*9)+2)<<8))
#define G10P19	(0x0004 | (((g_vfd_type*9)+2)<<8))
#define G10P20	(0x0008 | (((g_vfd_type*9)+2)<<8))

#define G11P1	(0x0001 | ((g_vfd_type*10)<<8))
#define G11P2	(0x0002 | ((g_vfd_type*10)<<8))
#define G11P3	(0x0004 | ((g_vfd_type*10)<<8))
#define G11P4	(0x0008 | ((g_vfd_type*10)<<8))
#define G11P5	(0x0010 | ((g_vfd_type*10)<<8))
#define G11P6	(0x0020 | ((g_vfd_type*10)<<8))
#define G11P7	(0x0040 | ((g_vfd_type*10)<<8))
#define G11P8	(0x0080 | ((g_vfd_type*10)<<8))
#define G11P9	(0x0001 | (((g_vfd_type*10)+1)<<8))
#define G11P10	(0x0002 | (((g_vfd_type*10)+1)<<8))
#define G11P11	(0x0004 | (((g_vfd_type*10)+1)<<8))
#define G11P12	(0x0008 | (((g_vfd_type*10)+1)<<8))
#define G11P13	(0x0010 | (((g_vfd_type*10)+1)<<8))
#define G11P14	(0x0020 | (((g_vfd_type*10)+1)<<8))
#define G11P15	(0x0040 | (((g_vfd_type*10)+1)<<8))
#define G11P16	(0x0080 | (((g_vfd_type*10)+1)<<8))
#define G11P17	(0x0001 | (((g_vfd_type*10)+2)<<8))
#define G11P18	(0x0002 | (((g_vfd_type*10)+2)<<8))
#define G11P19	(0x0004 | (((g_vfd_type*10)+2)<<8))
#define G11P20	(0x0008 | (((g_vfd_type*10)+2)<<8))

#define G12P1	(0x0001 | ((g_vfd_type*11)<<8))
#define G12P2	(0x0002 | ((g_vfd_type*11)<<8))
#define G12P3	(0x0004 | ((g_vfd_type*11)<<8))
#define G12P4	(0x0008 | ((g_vfd_type*11)<<8))
#define G12P5	(0x0010 | ((g_vfd_type*11)<<8))
#define G12P6	(0x0020 | ((g_vfd_type*11)<<8))
#define G12P7	(0x0040 | ((g_vfd_type*11)<<8))

⌨️ 快捷键说明

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