📄 hal.h
字号:
// Micky1.10, support CDG reset
#define HAL_RESET_CDG 8
// [19] parameter for A/V sync control : HAL_AVSync() -- LLY.105 re-modify
#define HAL_AVSYNC_INITIAL 0
#define HAL_AVSYNC_STEP 1
#define HAL_AVSYNC_VPTS 2
#define HAL_AVSYNC_RESYNC 3
#define HAL_AVSYNC_DISABLE 4
#define HAL_AVSYNC_RESETSYNC 5
#define HAL_AVSYNC_VIDEOMASTER 6 // ** TCH1.00-908;
// [20] parmeter for monitor case : HAL_Monitor()
#define HAL_MONITOR_AUDIO_FREQ_PREPARE 0
#define HAL_MONITOR_AUDIO_FREQ 1
#define HAL_MONITOR_VIDEO_STATUS_PREPARE 2
#define HAL_MONITOR_VIDEO_STATUS_DONE 3
#define HAL_MONITOR_BITSTREAM_ERROR 4
#define HAL_MONITOR_CDDA_FORMAT 5 // LLY.101
#define HAL_MONITOR_LPCM_DEEMPHASIS 6 // wyc.170-2
// [21] parameter for display case : HAL_Display()
#define HAL_DISPLAY_VIDEO 0
#define HAL_DISPLAY_SPST 1
#define HAL_DISPLAY_ONE_FIELD 2 // LLY.100
#define HAL_DISPLAY_JPEG 3
// [22] parameter for Audio Type setting : HAL_SetAudioType()
//Kevin2.33, modify
#define HAL_AUDIO_NONE 0
#define HAL_AUDIO_BEGIN 1
#define HAL_AUDIO_PCM (HAL_AUDIO_BEGIN+0)
#define HAL_AUDIO_MPG (HAL_AUDIO_BEGIN+1)
#define HAL_AUDIO_AC3 (HAL_AUDIO_BEGIN+2)
#define HAL_AUDIO_MP3 (HAL_AUDIO_BEGIN+3)
#define HAL_AUDIO_MP2 (HAL_AUDIO_BEGIN+4)
#define HAL_AUDIO_LPCM (HAL_AUDIO_BEGIN+5)
#define HAL_AUDIO_DTS (HAL_AUDIO_BEGIN+6)
#define HAL_AUDIO_WMA (HAL_AUDIO_BEGIN+7)
#define HAL_AUDIO_END (HAL_AUDIO_WMA)
// [23] parameter for playing mode setting : HAL_SetPlayMode()
#define HAL_PLAYMODE_CDROM 0
#define HAL_PLAYMODE_MPEG 1
#define HAL_PLAYMODE_CDDA 2
#define HAL_PLAYMODE_JPEG_PREPARE 3
#define HAL_PLAYMODE_JPEG 4 //CoCo.jpeg
// [24] define for A/V buffer setting type : HAL_SetBuffer()
#define HAL_SETBUFFER_AV 0
#define HAL_SETBUFFER_AUDIO 1
// [25] parameter for A/V buffer setting mode : HAL_SetBuffer() -- LLY.275a
// General buffer mode -- use normal case audio buffer threshold value
#define HAL_BUFFERMODE_GENERAL_BEGIN 1
#define HAL_BUFFERMODE_NORMAL (HAL_BUFFERMODE_GENERAL_BEGIN+0) //1
#define HAL_BUFFERMODE_DEFAULT (HAL_BUFFERMODE_GENERAL_BEGIN+1) //2
// LLY0.81, add MPG/ AC3/ DTS case
#define HAL_BUFFERMODE_MPG (HAL_BUFFERMODE_GENERAL_BEGIN+2) //3
#define HAL_BUFFERMODE_AC3 (HAL_BUFFERMODE_GENERAL_BEGIN+3) //4
#define HAL_BUFFERMODE_DTS (HAL_BUFFERMODE_GENERAL_BEGIN+4) //5
// LLY0.85, add CDROM decoding case
#define HAL_BUFFERMODE_CDROM (HAL_BUFFERMODE_GENERAL_BEGIN+5) //6
#define HAL_BUFFERMODE_GENERAL_END (HAL_BUFFERMODE_CDROM)
// Special buffer mode -- runtime change buffer size/ audio buffer threshold value
#define HAL_BUFFERMODE_SPECIAL_BEGIN (HAL_BUFFERMODE_GENERAL_END+1)
#define HAL_BUFFERMODE_MP3 (HAL_BUFFERMODE_SPECIAL_BEGIN+0) //7
#define HAL_BUFFERMODE_LPCM (HAL_BUFFERMODE_SPECIAL_BEGIN+1) //8
#define HAL_BUFFERMODE_JPEG (HAL_BUFFERMODE_SPECIAL_BEGIN+2) //9
//LJY1.10, for CDG
// audio MP3 mode, video use JPEG configuration
#define HAL_BUFFERMODE_CDG (HAL_BUFFERMODE_SPECIAL_BEGIN+3) //10
#define HAL_BUFFERMODE_PCM (HAL_BUFFERMODE_SPECIAL_BEGIN+4) //11
#define HAL_BUFFERMODE_SPECIAL_END (HAL_BUFFERMODE_PCM)
// [26] parameter for FIFO type to push remainder data : HAL_PushFIFOData()
#define HAL_PUSHDATA_IFIFO 0
#define HAL_PUSHDATA_VCFIFO 1
#define HAL_PUSHDATA_SPFIFO 2 // LLY.170
// wyc1.07, add one mode to push AC3 sync into IFIFO.
#define HAL_PUSHDATA_IFIFO_AC3SYNC 3
// wyc.101 for HAL_PreFillBuffer usage
// [27] parameter for prefill A/V buffer data : HAL_PreFillBuffer
//Kevin1.00, prefill video/audio buffer according to disc types
#define HAL_FILL_VIDEO_BUFFER 0
#define HAL_FILL_AUDIO_BUFFER 1
// wyc1.10, remove HAL_FILL_JPEG_BUFFER define because of not need it now.
/*
#define HAL_FILL_JPEG_BUFFER 2 // LLY2.78b-3
*/
#define HAL_FILL_AV_BUFFER 3
#define FILL_CDDA_BUFFER_FULL 10000L
// [28] parameter for reset some peripheral usage: HAL_ResetPeripheral() -- LLY.101
#define HAL_RESET_TVENCODER 0
#define HAL_RESET_AUDIODAC 1
// [29] parameter for query bitstream stauts: HAL_QueryStream() -- LLY.170
#define HAL_QUERY_STILL 0
//CoCo.jpeg
//[44] define the parameters for HAL_QueryStatus
#define HAL_JPEG_PARSE_HEADER 0
#define HAL_JPEG_DECODE_STATUS 1 //CoCo2.80a, for CT908 JPEG
//CoCo.jpeg
//[45] define the return value for HAL_QueryStatus
#define HAL_QUERY_RESULT_FAIL 0
#define HAL_QUERY_RESULT_OK 1
#define HAL_QUERY_RESULT_UNFINISH 2
#define HAL_QUERY_RESULT_UNSUPPORT 3 //CoCo2.80a, for CT908 JPEG
// [50] Define for HAL_WriteGPIO()/ HAL_ReadGPIO() 1st parameter setting -- LLY2.81
// Notice: Can't change each define's value, because it will be trasted as
// the index of aGPIOOutValue[] & aGPIODirection[]
// bPort or bStatus[6:0], the desired GPCR port
// Micky0.91, add GPIO control.
// GPIO, KCHong 0.90
#define GPIO_GP0 0
#define GPIO_GP1 1
#define GPIO_GP2 2
#define GPIO_GP3 3
#define GPIO_GP4 4
#define GPIO_GP5 5
#define GPIO_GP6 6
#define GPIO_GP7 7
#define GPIO_GP8 8
#define GPIO_GP9 9
#define GPIO_GP10 10
#define GPIO_GP11 11
#define GPIO_GP12 12
#define GPIO_GP13 13
#define GPIO_GP14 14
#define GPIO_GP15 15
// bStatus[7], the desired action
#define GPIO_PL 0x00 // PL action
#define GPIO_PH 0x80 // PH action
// wyc.278-3, define the external IO control by follow method.
// Used for HAL_ExtIOCtrl()
#define EXT_PLLML_HI 0x18
#define EXT_PLLML_LO 0x10
#define EXT_FS1_HI 0x19
#define EXT_FS1_LO 0x11
#define EXT_FS2_HI 0x1a
#define EXT_FS2_LO 0x12
#define EXT_SCK_HI 0x1b
#define EXT_SCK_LO 0x13
#define EXT_NPRN_HI 0x1c
#define EXT_NPRN_LO 0x14
#define EXT_WEN_HI 0x1d
#define EXT_WEN_LO 0x15
#define EXT_ADACCS_HI 0x1e
#define EXT_ADACCS_LO 0x16
#define EXT_FPCS_HI 0x1f
#define EXT_FPCS_LO 0x17
// [Tuner related define]
#define GP0_HI 0
#define GP0_LO 1
#define GP0_RD 2
#define GP1_HI 3
#define GP1_LO 4
#define GP1_RD 5
#define GP2_HI 6
#define GP2_LO 7
#define GP2_RD 8
#define GP3_HI 9
#define GP3_LO 10
#define GP3_RD 11
#define GP4_HI 12
#define GP4_LO 13
#define GP4_RD 14
#define GP5_HI 15
#define GP5_LO 16
#define GP5_RD 17
//Kevin0.87, add
//I2C Interface for EEPROM
#ifdef I2C_USING_P4
#define PIN_I2CSCK 0x01 //P4^0
#define PIN_I2CSDA 0x02 //P4^1
#else //Kevin0.91, I2C via P3.4/P3.5
#define PIN_I2CSCK 0x10 //P3^4
#define PIN_I2CSDA 0x20 //P3^5
#endif
/////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////
// ***** Function prototype definition Area *****
void HAL_Variables_PowerON (void ); // ** TCH1.00-908;
//# [1] Video relative function
void HAL_Display(BYTE bDispType, BYTE bDispAction);
void HAL_AdjustTVMode(void);
void HAL_TVSetAPS(BYTE bType);
void HAL_TVEncoderInitial(void); // LLY.102p
void HAL_SetAspectRatio(BYTE bMode);
void HAL_AdjustBrightView(BYTE bMode);
void HAL_AdjustContrast(BYTE bLevel);
void HAL_ControlHighlight(BYTE bAction, BYTE bButton);
void HAL_CoordConvert(BYTE bType, PRECT pRect); // LLY.049
void HAL_VCD30_Area(BYTE bOn); // LLY.049
void HAL_VCD30_Color(void); // LLY.275
void HAL_RedrawVCD30Area(void); // LLY.275
void HAL_SetBorderColor(BYTE bColor);
void HAL_SetSCART (BYTE bScartType) ; // TCC099
//# [2] Audio relative function
void HAL_SetAudioType(BYTE bType);
void HAL_SetAudioDAC(BYTE bSampleFreq);
//# [3] Parser relative function
void HAL_ControlParser(BYTE bPacketType, BYTE bID);
//# [4] DIGEST relative function
void HAL_DigestEnableFrame(BYTE bUpdate);
void HAL_DigestInitial(BYTE bFrames);
void HAL_DigestEnableVBI(void);
void HAL_DigestPosition(WORD wXStart, WORD wYStart);
void HAL_DigestCommand(void);
//# [5] CDIF relative function
void HAL_CDIFCountSectors(BIT bFindHeader, BYTE bSectors);
void HAL_ControlCDIF(BYTE bOn);
BIT HAL_CheckCDIF(BYTE bCheck, BYTE bParam);
BIT HAL_CheckCDIFbyISR(BYTE bCheck, BYTE bParam);
void HAL_WriteCDHeader(DWORD hsgTime);
DWORD HAL_GetSectorID(void);
void HAL_SetInputPath(BYTE bPath);
void HAL_SetSectorFormat(BYTE bFormat);
//# [6] CDROM decoding relative function
void HAL_PrepareCDROMDecode(DWORD dwStartSector, BYTE bSectors);
void HAL_CDROMDecode(void);
void HAL_CDROMDecodeDone(void); // DVD.038
WORD HAL_DumpUserData(BYTE* pbBuf, WORD wLen, BYTE bSectorNO);
WORD HAL_DumpUserDatabyOffset( BYTE* pbBuf, WORD wLen, BYTE bSectorNO, WORD wOffset );
BOOL HAL_IsNeedCDROMDecoding( DWORD hsgTime, BYTE NOofSector );
//# [7] Interrupt /Event relative function
void HAL_ClearEvent(BYTE bEvent);
BIT HAL_CheckEvent(BYTE bEvent);
BIT HAL_CheckInterrupt(DWORD dwInt);
//# [8] Clear frame buffer relative function
// LLY0.86, split CT9928AF & CT908 two modes
// Because the command meaning of CT908 has updated.
void HAL_ClearScreen(BYTE bColro);
//# [9] Get bitstream info. relative function
BIT HAL_GetStreamInfo(void);
BYTE HAL_QueryStream(BYTE bType); // LLY.170
//# [10]Set play mode relative function
void HAL_SetStillPicture(BYTE bHighStill, BYTE bColorTruncate);
void HAL_SetPlayMode(BYTE bMode);
//# [11]Power on/off relative function
void HAL_PowerDown(BYTE bPowerDown);
//# [12]Zoom relative function
BYTE HAL_Zoom(BYTE bAction); //CoCo.276
//# [13]A/V buffer control relative function
// wyc.101 to modify the paraneter for this function
void HAL_PreFillBuffer(BYTE bBuffType, DWORD dwParam);
//# [14]Disc change relative fucntion
void HAL_SetDiscType(WORD wDiscType); // LLY.276p-4
//# [15]Reset relative function
void HAL_Reset(BYTE bType);
void HAL_RealResetInitial(void); // LLY.160a-1
void HAL_ResetPeripheral(BYTE bType, BYTE bAction); // LLY.102p
//# [16]A/V sync control relative function
void HAL_AVSync(BYTE bFunction, DWORD dwParam); // LLY.105 re-modify
//# [17]Debug relative function
BIT HAL_Monitor(BYTE bType);
//# [18]A/V buffer setting relative function
void HAL_SetBuffer(BYTE bType, BYTE bMode); // LLY.050
//# [19]EEPROM read/write function
void HAL_EEPROM_Write(BYTE bAddr, BYTE bValue);
void HAL_EEPROM_PWrite(BYTE bAddr, BYTE* pbValue, BYTE bCount);
BYTE HAL_EEPROM_Read(BYTE bAddr);
void HAL_EEPROM_PRead(BYTE bAddr, BYTE bCount,BYTE* pbval );
//# [20]FIFO relative function
void HAL_PushFIFOData(BYTE bFIFO, BYTE bNo);
//# [21]GPIO relative function -- LLY2.81
BYTE HAL_ReadGPIO(BYTE bPort);
void HAL_WriteGPIO(BYTE bStatus);
extern void HAL_HardwareMute(BYTE bHWMute); //Kevin1.00
//extern void HAL_DetectChipsVersionID(void); //Kevin1.08 //Kevin2.26, comment
// wyc.277a, for HKC code.
//# [21] for AV system usage.
void HAL1_ExtIOCtrl(BYTE bControl);
BYTE HAL_QueryStatus(BYTE bMode);
//LJY1.10 for CDG
void HAL_CDGInitial(void);
void HAL_SetDecodeMode(void); // Brian2.32
//----------------------------------------------------------------//
// protected: internal function pototype
// which's body code is in HAL1.C and will be called by other module
//# [1-2]TV encoder setting relative function
void _TVModeSet(void);
void _TVEncoderOff(void); // LLY.102b
#ifdef SUPPORT_I2C
void _I2C_Write ( BYTE DevSel, BYTE *pBuffer, BYTE count );
BYTE _I2C_Read ( BYTE DevSel, BYTE addr, BYTE count, BYTE *value);
#ifdef TFT_CONTROL
void I2C_VX1818_Write(bSubAddr,bValue); // hwtan20040210 for malata
void I2C_VX1818_Read(BYTE addr,BYTE *val);
void delay_nop(void);
void stop_con(void);
void start_con(void);
void nack_con(void);
void ack_con(void);
bit send_con(char);
char receive_con(void);
#endif
#endif // #ifdef SUPPORT_I2C
//wyc2.80, extern functions.
#ifdef EXT_IO
BYTE HAL1_ExtIOStatus() ;
#endif // #ifdef EXT_IO
/////////////////////////////////////////////////////////////////////
#ifdef __cplusplus
}
#endif
#endif // __HAL_H__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -