📄 regtbl.c
字号:
GRP_PaletteR = {PALETTE_R_ADDR , 256,1, ADDR_CLEAR1_ADDR, CLEAR_PALETTE },
GRP_PaletteG = {PALETTE_G_ADDR , 256,1, ADDR_CLEAR1_ADDR, CLEAR_PALETTE },
GRP_PaletteB = {PALETTE_B_ADDR , 256,1, ADDR_CLEAR1_ADDR, CLEAR_PALETTE },
GRP_BackgroundColor = {BACKGROUND_GRP_ADDR , 3,1, ADDR_CLEAR1_ADDR, CLEAR_BACKGROUND },
GRP_DisplayFrame = {DISPLAY_FRAME_GRP_ADDR , 8,2, ADDR_CLEAR1_ADDR, CLEAR_DISPLAY_FRAME },
GRP_SectionStart = {SECTION_START_GRP_ADDR , 12,2, ADDR_CLEAR0_ADDR, CLEAR_SDRAM_CONTROL },
GRP_LineLength = {LINE_LENGTH_GRP_ADDR , 7,2, ADDR_CLEAR0_ADDR, CLEAR_SDRAM_CONTROL },
GRP_WindowLineOffset = {WINDOW_LINE_OFFSET_GRP_ADDR, 4,2, ADDR_CLEAR0_ADDR, CLEAR_SDRAM_CONTROL },
GRP_WindowDelay = {WINDOW_DELAY_GRP_ADDR , 4,2, ADDR_CLEAR0_ADDR, CLEAR_SDRAM_CONTROL },
GRP_WindowLength = {WINDOW_LENGTH_GRP_ADDR , 4,2, ADDR_CLEAR0_ADDR, CLEAR_SDRAM_CONTROL },
GRP_SCThreshold = {SC_THRESHOLD_GRP_ADDR , 4,1, ADDR_CLEAR0_ADDR, CLEAR_SDRAM_CONTROL },
GRP_MsrAoi = {MSR_AOI_GRP_ADDR , 4,2, ADDR_CLEAR0_ADDR, CLEAR_MEASUREMENT },
GRP_MsrHvParameters = {MSR_HV_PARAMETERS_GRP_ADDR , 5,2, ADDR_CLEAR0_ADDR, CLEAR_MEASUREMENT },
GRP_MsrActiveRegion = {MSR_ACTIVE_REGION_GRP_ADDR , 4,2, ADDR_CLEAR0_ADDR, CLEAR_MEASUREMENT };
/****************************************************************************
* Local Static Variables
****************************************************************************/
/*----Local Data ------------------------------------------------------------*/
/****************************************************************************
* Local Function Prototypes
****************************************************************************/
/*----Global Routines-------------------------------------------------------*/
/*--------- Start of code --------------------------------------------------*/
/*********************************************************************************/
/*--------------------------------------------------------------------------
* Routine: REG_Init
* Name r/w Usage
* Parameters: none
*
* Returns: none
* Description:
* Called at first initialization copy the absolute address
* of the HW registers.
*--------------------------------------------------------------------------*/
void REG_Init()
{
VDP1_BaseAddress = (TByte huge *)LinearToPtr(VDP1_BASE_ADDRESS);
REG_OutputControl = (TREG_OutputControl huge *)&VDP1_BaseAddress[OUTPUT_CONTROL_ADDR];
REG_Config = (TREG_Config huge *) &VDP1_BaseAddress[CONFIG_ADDR];
REG_AddrClear0 = (TREG_AddrClear0 huge *) &VDP1_BaseAddress[ADDR_CLEAR0_ADDR];
REG_AddrClear1 = (TREG_AddrClear1 huge *) &VDP1_BaseAddress[ADDR_CLEAR1_ADDR];
REG_LoadShadow = (TVDP1_Reg huge *) &VDP1_BaseAddress[LOAD_SHADOW_ADDR];
REG_IrqSource = (TREG_IrqSource huge *) &VDP1_BaseAddress[IRQ_SOURCE_ADDR];
REG_IrqMask = (TREG_IrqSource huge *) &VDP1_BaseAddress[IRQ_MASK_ADDR];
REG_IrqClear = (TVDP1_Reg huge *) &VDP1_BaseAddress[IRQ_CLEAR_ADDR];
REG_Flags = (TREG_Flags huge *) &VDP1_BaseAddress[FLAGS_ADDR];
REG_FlagsClear = (TVDP1_Reg huge *) &VDP1_BaseAddress[FLAGS_CLEAR_ADDR];
REG_GpOutput = (TREG_GpOutput huge *) &VDP1_BaseAddress[GP_OUTPUT_ADDR];
REG_Status1 = (TREG_Status1 huge *) &VDP1_BaseAddress[STATUS1_ADDR];
REG_Status2 = (TREG_Status2 huge *) &VDP1_BaseAddress[STATUS2_ADDR];
REG_MpllMdivL = (TVDP1_Reg huge *) &VDP1_BaseAddress[MPLL_MDIV_L_ADDR];
REG_MpllMdivH = (TVDP1_Reg huge *) &VDP1_BaseAddress[MPLL_MDIV_H_ADDR];
REG_MpllNdiv = (TVDP1_Reg huge *) &VDP1_BaseAddress[MPLL_NDIV_ADDR];
REG_PpllMdivL = (TVDP1_Reg huge *) &VDP1_BaseAddress[PPLL_MDIV_L_ADDR];
REG_PpllMdivH = (TVDP1_Reg huge *) &VDP1_BaseAddress[PPLL_MDIV_H_ADDR];
REG_PpllNdiv = (TVDP1_Reg huge *) &VDP1_BaseAddress[PPLL_NDIV_ADDR];
REG_OpllMdivL = (TVDP1_Reg huge *) &VDP1_BaseAddress[OPLL_MDIV_L_ADDR];
REG_OpllMdivH = (TVDP1_Reg huge *) &VDP1_BaseAddress[OPLL_MDIV_H_ADDR];
REG_OpllNdiv = (TVDP1_Reg huge *) &VDP1_BaseAddress[OPLL_NDIV_ADDR];
REG_NlControl = (TREG_NlControl huge *) &VDP1_BaseAddress[NL_CONTROL_ADDR];
REG_NlSwitch = (TVDP1_Reg huge *) &VDP1_BaseAddress[NL_SWITCH_ADDR];
REG_VideoConfig = (TREG_VideoConfig huge *) &VDP1_BaseAddress[VIDEO_CONFIG_ADDR];
REG_VideoSC = (TREG_VideoSC huge *) &VDP1_BaseAddress[VIDEO_SC_ADDR];
REG_VinPolarity = (TREG_VinPolarity huge *) &VDP1_BaseAddress[VIN_POLARITY_ADDR];
REG_VinControl = (TREG_VinControl huge *) &VDP1_BaseAddress[VIN_CONTROL_ADDR];
REG_VinActivePixelsL = (TVDP1_Reg huge *) &VDP1_BaseAddress[VIN_ACTIVE_PIXELS_L_ADDR];
REG_VinActiveLinesL = (TVDP1_Reg huge *) &VDP1_BaseAddress[VIN_ACTIVE_LINES_L_ADDR];
REG_VinFlaggedLineL = (TVDP1_Reg huge *) &VDP1_BaseAddress[VIN_FLAGGED_LINE_L_ADDR];
REG_VinRegsMsbits = (TREG_VinRegsMsbits huge *)&VDP1_BaseAddress[VIN_REGS_MSBITS_ADDR];
REG_VdscalerToutxL = (TVDP1_Reg huge *) &VDP1_BaseAddress[VDSCALER_TOUTX_L_ADDR];
REG_VdscalerToutxH = (TVDP1_Reg huge *) &VDP1_BaseAddress[VDSCALER_TOUTX_H_ADDR];
REG_VdscalerControl = (TREG_VdscalerControl huge*)&VDP1_BaseAddress[VDSCALER_CONTROL_ADDR];
REG_VdscalerDeltaxL = (TVDP1_Reg huge *) &VDP1_BaseAddress[VDSCALER_DELTAX_L_ADDR];
REG_VdscalerDeltaxH = (TVDP1_Reg huge *) &VDP1_BaseAddress[VDSCALER_DELTAX_H_ADDR];
REG_VdscalerDeltayL = (TVDP1_Reg huge *) &VDP1_BaseAddress[VDSCALER_DELTAY_L_ADDR];
REG_VdscalerDeltayH = (TVDP1_Reg huge *) &VDP1_BaseAddress[VDSCALER_DELTAY_H_ADDR];
REG_VdscalerX0 = (TVDP1_Reg huge *) &VDP1_BaseAddress[VDSCALER_X0_ADDR];
REG_VdscalerY0 = (TVDP1_Reg huge *) &VDP1_BaseAddress[VDSCALER_Y0_ADDR];
REG_VdscalerToutyL = (TVDP1_Reg huge *) &VDP1_BaseAddress[VDSCALER_TOUTY_L_ADDR];
REG_VdscalerToutyH = (TVDP1_Reg huge *) &VDP1_BaseAddress[VDSCALER_TOUTY_H_ADDR];
REG_VuscalerControl = (TREG_VuscalerControl huge*)&VDP1_BaseAddress[VUSCALER_CONTROL_ADDR];
REG_VuscalerDeltaxL = (TVDP1_Reg huge *) &VDP1_BaseAddress[VUSCALER_DELTAX_L_ADDR];
REG_VuscalerDeltaxH = (TVDP1_Reg huge *) &VDP1_BaseAddress[VUSCALER_DELTAX_H_ADDR];
REG_VuscalerDeltayL = (TVDP1_Reg huge *) &VDP1_BaseAddress[VUSCALER_DELTAY_L_ADDR];
REG_VuscalerDeltayH = (TREG_VUScalerDeltaY_H huge*)&VDP1_BaseAddress[VUSCALER_DELTAY_H_ADDR];
REG_VuscalerX0 = (TVDP1_Reg huge *) &VDP1_BaseAddress[VUSCALER_X0_ADDR];
REG_VuscalerY0 = (TVDP1_Reg huge *) &VDP1_BaseAddress[VUSCALER_Y0_ADDR];
REG_DiControl = (TREG_DiControl huge *) &VDP1_BaseAddress[DI_CONTROL_ADDR];
REG_DiC0 = (TVDP1_Reg huge *) &VDP1_BaseAddress[DI_C0_ADDR];
REG_DiC1 = (TVDP1_Reg huge *) &VDP1_BaseAddress[DI_C1_ADDR];
REG_DiC2 = (TREG_DiC2 huge *) &VDP1_BaseAddress[DI_C2_ADDR];
REG_DiC3 = (TREG_DiC3 huge *) &VDP1_BaseAddress[DI_C3_ADDR];
REG_DiC4 = (TVDP1_Reg huge *) &VDP1_BaseAddress[DI_C4_ADDR];
REG_DataConfig = (TREG_DataConfig huge *) &VDP1_BaseAddress[DATA_CONFIG_ADDR];
REG_DataSC = (TREG_DataSC huge *) &VDP1_BaseAddress[DATA_SC_ADDR];
REG_DinPolarity0 = (TREG_DinPolarity0 huge *) &VDP1_BaseAddress[DIN_POLARITY0_ADDR];
REG_DinPolarity1 = (TREG_DinPolarity1 huge *) &VDP1_BaseAddress[DIN_POLARITY1_ADDR];
REG_DinControl0 = (TREG_DinControl0 huge *) &VDP1_BaseAddress[DIN_CONTROL0_ADDR];
REG_DinControl1 = (TREG_DinControl1 huge *) &VDP1_BaseAddress[DIN_CONTROL1_ADDR];
REG_DinControl2 = (TREG_DinControl2 huge *) &VDP1_BaseAddress[DIN_CONTROL2_ADDR];
REG_DpllDivL = (TVDP1_Reg huge *) &VDP1_BaseAddress[DPLL_DIV_L_ADDR];
REG_DpllDivH = (TVDP1_Reg huge *) &VDP1_BaseAddress[DPLL_DIV_H_ADDR];
REG_DinThreshold = (TVDP1_Reg huge *) &VDP1_BaseAddress[DIN_THRESHOLD_ADDR];
REG_ClampStart = (TVDP1_Reg huge *) &VDP1_BaseAddress[CLAMP_START_ADDR];
REG_ClampWidth = (TVDP1_Reg huge *) &VDP1_BaseAddress[CLAMP_WIDTH_ADDR];
REG_DinLineTrig = (TVDP1_Reg huge *) &VDP1_BaseAddress[DIN_LINE_TRIG_ADDR];
REG_DinPixelTrig = (TVDP1_Reg huge *) &VDP1_BaseAddress[DIN_PIXEL_TRIG_ADDR];
REG_DinFlaggedLineL = (TVDP1_Reg huge *) &VDP1_BaseAddress[DIN_FLAGGED_LINE_L_ADDR];
REG_DinFlaggedLineH = (TVDP1_Reg huge *) &VDP1_BaseAddress[DIN_FLAGGED_LINE_H_ADDR];
REG_DinControl3 = (TREG_DinControl3 huge *) &VDP1_BaseAddress[DIN_CONTROL3_ADDR];
REG_DdscalerToutxL = (TVDP1_Reg huge *) &VDP1_BaseAddress[DDSCALER_TOUTX_L_ADDR];
REG_DdscalerToutxH = (TVDP1_Reg huge *) &VDP1_BaseAddress[DDSCALER_TOUTX_H_ADDR];
REG_DdscalerControl = (TREG_DdscalerControl huge*)&VDP1_BaseAddress[DDSCALER_CONTROL_ADDR];
REG_DdscalerDeltaxL = (TVDP1_Reg huge *) &VDP1_BaseAddress[DDSCALER_DELTAX_L_ADDR];
REG_DdscalerDeltaxH = (TVDP1_Reg huge *) &VDP1_BaseAddress[DDSCALER_DELTAX_H_ADDR];
REG_DdscalerDeltayL = (TVDP1_Reg huge *) &VDP1_BaseAddress[DDSCALER_DELTAY_L_ADDR];
REG_DdscalerDeltayH = (TVDP1_Reg huge *) &VDP1_BaseAddress[DDSCALER_DELTAY_H_ADDR];
REG_DdscalerToutyL = (TVDP1_Reg huge *) &VDP1_BaseAddress[DDSCALER_TOUTY_L_ADDR];
REG_DdscalerToutyH = (TVDP1_Reg huge *) &VDP1_BaseAddress[DDSCALER_TOUTY_H_ADDR];
REG_DuscalerControl = (TREG_DuscalerControl huge*)&VDP1_BaseAddress[DUSCALER_CONTROL_ADDR];
REG_DuscalerDeltaxL = (TVDP1_Reg huge *) &VDP1_BaseAddress[DUSCALER_DELTAX_L_ADDR];
REG_DuscalerDeltaxH = (TVDP1_Reg huge *) &VDP1_BaseAddress[DUSCALER_DELTAX_H_ADDR];
REG_DuscalerDeltayL = (TVDP1_Reg huge *) &VDP1_BaseAddress[DUSCALER_DELTAY_L_ADDR];
REG_DuscalerDeltayH = (TREG_DUScalerDeltaY_H huge*)&VDP1_BaseAddress[DUSCALER_DELTAY_H_ADDR];
REG_DuscalerX0 = (TVDP1_Reg huge *) &VDP1_BaseAddress[DUSCALER_X0_ADDR];
REG_DuscalerY0 = (TVDP1_Reg huge *) &VDP1_BaseAddress[DUSCALER_Y0_ADDR];
REG_VideoCscBias = (TVDP1_Reg huge *) &VDP1_BaseAddress[VIDEO_CSC_BIAS_ADDR];
REG_DataCscBias = (TVDP1_Reg huge *) &VDP1_BaseAddress[DATA_CSC_BIAS_ADDR];
REG_OutConfig = (TREG_OutConfig huge *) &VDP1_BaseAddress[OUT_CONFIG_ADDR];
REG_OsdaControl = (TREG_OsdControl huge *) &VDP1_BaseAddress[OSDA_CONTROL_ADDR];
REG_OsdbControl = (TREG_OsdControl huge *) &VDP1_BaseAddress[OSDB_CONTROL_ADDR];
REG_KeystoneControl = (TREG_KeystoneControl huge*)&VDP1_BaseAddress[KEYSTONE_CONTROL_ADDR];
REG_KeystoneLines = (TVDP1_Reg huge *) &VDP1_BaseAddress[KEYSTONE_LINES_ADDR];
REG_DitherControl = (TREG_DitherControl huge *)&VDP1_BaseAddress[DITHER_CONTROL_ADDR];
REG_DitherC0 = (TREG_DitherC0 huge *) &VDP1_BaseAddress[DITHER_C0_ADDR];
REG_DitherC1 = (TREG_DitherC1 huge *) &VDP1_BaseAddress[DITHER_C1_ADDR];
REG_DisplayControl0 = (TREG_DisplayControl0 huge*)&VDP1_BaseAddress[DISPLAY_CONTROL0_ADDR];
REG_DisplayControl1 = (TREG_DisplayControl1 huge*)&VDP1_BaseAddress[DISPLAY_CONTROL1_ADDR];
REG_DisplayControl2 = (TREG_DisplayControl2 huge*)&VDP1_BaseAddress[DISPLAY_CONTROL2_ADDR];
REG_DisplayHvDelay0 = (TVDP1_Reg huge *) &VDP1_BaseAddress[DISPLAY_HV_DELAY0_ADDR];
REG_DisplayHvDelay1 = (TVDP1_Reg huge *) &VDP1_BaseAddress[DISPLAY_HV_DELAY1_ADDR];
REG_DisplayPolarity = (TREG_DisplayPolarity huge*)&VDP1_BaseAddress[DISPLAY_POLARITY_ADDR];
REG_Control3D = (TREG_Control3D huge *) &VDP1_BaseAddress[CONTROL_3D_ADDR];
REG_X0_3D = (TVDP1_Reg huge *) &VDP1_BaseAddress[X0_3D_ADDR];
REG_OsdInAddrL = (TVDP1_Reg huge *) &VDP1_BaseAddress[OSD_IN_ADDR_L_ADDR];
REG_OsdInAddrH = (TVDP1_Reg huge *) &VDP1_BaseAddress[OSD_IN_ADDR_H_ADDR];
REG_OsdInBlockLength = (TVDP1_Reg huge *) &VDP1_BaseAddress[OSD_IN_BLOCK_LENGTH_ADDR];
REG_OsdSections = (TREG_OsdSections huge *) &VDP1_BaseAddress[OSD_SECTIONS_ADDR];
REG_OsdInData = (TVDP1_Reg huge *) &VDP1_BaseAddress[OSD_IN_DATA_ADDR];
REG_OsdInControl = (TVDP1_Reg huge *) &VDP1_BaseAddress[OSD_IN_CONTROL_ADDR];
REG_SdramWindowControl= (TREG_SdramWindowControl huge*)&VDP1_BaseAddress[SDRAM_WINDOW_CONTROL_ADDR];
REG_SdramInit = (TREG_SdramInit huge *) &VDP1_BaseAddress[SDRAM_INIT_ADDR];
REG_MsrControl = (TREG_MsrControl huge *) &VDP1_BaseAddress[MSR_CONTROL_ADDR];
REG_MsrEnable = (TREG_MsrEnable huge *) &VDP1_BaseAddress[MSR_ENABLE_ADDR];
REG_MsrCommands = (TREG_MsrCommands huge *) &VDP1_BaseAddress[MSR_COMMANDS_ADDR];
REG_MsrStatus = (TREG_MsrStatus huge *) &VDP1_BaseAddress[MSR_STATUS_ADDR];
REG_MsryMin = (TVDP1_Reg huge *) &VDP1_BaseAddress[MSR_Y_MIN_ADDR];
REG_MsryMax = (TVDP1_Reg huge *) &VDP1_BaseAddress[MSR_Y_MAX_ADDR];
REG_Debug = (TREG_Debug huge *) &VDP1_BaseAddress[DEBUG_ADDR];
REG_DiagSelect = (TREG_DiagSelect huge *) &VDP1_BaseAddress[DIAG_SELECT_ADDR];
REG_ID = VDP1_BaseAddress[SECTION_START_GRP_ADDR];
}
/*========= Single line comment, major point in code =======================*/
/*--------- Single line comment, minor point in code -----------------------*/
/*--------- Block commnet ---------------------------------------------------
* Comment on what has just happened and/or what is about to happened
*--------------------------------------------------------------------------*/
/****************************************************************************
*
* Revision Details
* ----------------
* $Log: /Oplus/Opsw/source/vdp1/rgtbl.c $
*
****************************************************************************/
/* End of Module */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -