📄 hal.h
字号:
void seGetHalVersion( const char **pVersion, const char **pStatus, const char **pRevision );
/*---------------------------- Chip Access --------------------------------*/
unsigned seReadRegByte(DWORD index);
void seWriteRegByte(DWORD index, unsigned value);
unsigned seReadRegWord(DWORD index);
void seWriteRegWord(DWORD index, unsigned value);
DWORD seReadRegDword(DWORD index);
void seWriteRegDword(DWORD index, DWORD value);
/*------------------------------- Misc ------------------------------------*/
int seGetSurfaceDisplayMode(void);
DWORD seGetSurfaceSize(void);
DWORD seGetSurfaceLinearAddress(void);
DWORD seGetSurfaceOffsetAddress(void);
DWORD seAllocLcdSurface(DWORD size);
DWORD seAllocCrtSurface(DWORD size);
DWORD seAllocTvSurface(DWORD size);
int seFreeSurface(DWORD LinearAddress);
void seSetLcdAsActiveSurface(void);
void seSetCrtAsActiveSurface(void);
void seSetTvAsActiveSurface(void);
DWORD seSetLcdBitsPerPixel(unsigned nBitsPerPixel);
DWORD seSetCrtBitsPerPixel(unsigned nBitsPerPixel);
DWORD seSetTvBitsPerPixel(unsigned nBitsPerPixel);
DWORD seSetBitsPerPixel(unsigned nBitsPerPixel);
DWORD seSetLcdCrtBitsPerPixel(unsigned nBitsPerPixel);
DWORD seSetLcdTvBitsPerPixel(unsigned nBitsPerPixel);
unsigned seGetLcdBitsPerPixel(void);
unsigned seGetCrtBitsPerPixel(void);
unsigned seGetTvBitsPerPixel(void);
unsigned seGetBitsPerPixel(void);
unsigned seGetLcdBytesPerScanline(void);
unsigned seGetTvBytesPerScanline(void);
unsigned seGetCrtBytesPerScanline(void);
unsigned seGetBytesPerScanline(void);
void seGetLcdResolution(unsigned *width, unsigned *height);
void seGetCrtResolution(unsigned *width, unsigned *height);
void seGetTvResolution(unsigned *width, unsigned *height);
int seGetResolution(unsigned *width, unsigned *height);
void seSetPowerSaveMode(BOOL enable);
BOOL seGetPowerSaveMode(void);
int seCheckEndian(BOOL *ReverseBytes);
unsigned seGetLcdOrientation(void);
int seDelay( DWORD Seconds );
DWORD seGetAvailableMemorySize(void);
void seDisplayBlank(BOOL activate);
void seDisplayLcdBlank(BOOL activate);
void seDisplayCrtBlank(BOOL activate);
void seDisplayTvBlank(BOOL activate);
void seLcdDisplayEnable(BOOL activate);
void seCrtDisplayEnable(BOOL activate);
void seTvDisplayEnable(BOOL activate);
void seDisplayEnable(BOOL activate);
int seVirtInit(DWORD width, DWORD height);
int seLcdVirtInit(DWORD width, DWORD height);
int seCrtVirtInit(DWORD width, DWORD height);
int seTvVirtInit(DWORD width, DWORD height);
int seLcdCrtVirtInit(DWORD width, DWORD height);
int seLcdTvVirtInit(DWORD width, DWORD height);
void seVirtPanScroll(DWORD x, DWORD y);
void seLcdVirtPanScroll(DWORD x, DWORD y);
void seCrtVirtPanScroll(DWORD x, DWORD y);
void seTvVirtPanScroll(DWORD x, DWORD y);
void seLcdCrtVirtPanScroll(DWORD x, DWORD y);
void seLcdTvVirtPanScroll(DWORD x, DWORD y);
/*------------------------- Priority ---------------------------------*/
int seBeginHighPriority(void);
int seEndHighPriority(void);
/*------------------------- Memory Access ---------------------------------*/
unsigned seReadDisplayByte(DWORD offset);
unsigned seReadDisplayWord(DWORD offset);
DWORD seReadDisplayDword(DWORD offset);
void seWriteDisplayBytes(DWORD offset, unsigned val, DWORD count);
void seWriteDisplayWords(DWORD offset, unsigned val, DWORD count);
void seWriteDisplayDwords(DWORD offset, DWORD val, DWORD count);
/*------------------------------- Drawing ---------------------------------*/
void seSetLcdPixel(long x, long y, DWORD color);
void seSetCrtPixel(long x, long y, DWORD color);
void seSetTvPixel(long x, long y, DWORD color);
void seSetPixel(long x, long y, DWORD color);
DWORD seGetLcdPixel(long x, long y);
DWORD seGetCrtPixel(long x, long y);
DWORD seGetTvPixel(long x, long y);
DWORD seGetPixel(long x, long y);
void seDrawLcdLine(long x1, long y1, long x2, long y2, DWORD color);
void seDrawCrtLine(long x1, long y1, long x2, long y2, DWORD color);
void seDrawTvLine(long x1, long y1, long x2, long y2, DWORD color);
void seDrawLine(long x1, long y1, long x2, long y2, DWORD color);
void seDrawLcdRect(long x1, long y1, long x2, long y2, DWORD color, BOOL SolidFill);
void seDrawCrtRect(long x1, long y1, long x2, long y2, DWORD color, BOOL SolidFill);
void seDrawTvRect(long x1, long y1, long x2, long y2, DWORD color, BOOL SolidFill);
void seDrawRect(long x1, long y1, long x2, long y2, DWORD color, BOOL SolidFill);
void seDrawLcdEllipse(long xc, long yc, long xr, long yr, DWORD color);
void seDrawCrtEllipse(long xc, long yc, long xr, long yr, DWORD color);
void seDrawTvEllipse(long xc, long yc, long xr, long yr, DWORD color);
void seDrawEllipse(long xc, long yc, long xr, long yr, DWORD color);
void seDrawLcdCircle(long xCenter, long yCenter, long radius, DWORD color);
void seDrawCrtCircle(long xCenter, long yCenter, long radius, DWORD color);
void seDrawTvCircle(long xCenter, long yCenter, long radius, DWORD color);
void seDrawCircle(long xCenter, long yCenter, long radius, DWORD color);
/*------------------------------- Hardware Cursor ---------------------------------*/
DWORD seInitLcdCursor(void);
DWORD seInitCrtCursor(void);
DWORD seInitTvCursor(void);
DWORD seInitCursor(void);
void seFreeLcdCursor(void);
void seFreeCrtCursor(void);
void seFreeTvCursor(void);
void seFreeCursor(void);
void seEnableLcdCursor(int enable);
void seEnableCrtCursor(int enable);
void seEnableTvCursor(int enable);
void seEnableCursor(int enable);
DWORD seGetLcdCursorLinearAddress(void);
DWORD seGetCrtCursorLinearAddress(void);
DWORD seGetTvCursorLinearAddress(void);
DWORD seGetCursorLinearAddress(void);
DWORD seGetLcdCursorOffsetAddress(void);
DWORD seGetCrtCursorOffsetAddress(void);
DWORD seGetTvCursorOffsetAddress(void);
DWORD seGetCursorOffsetAddress(void);
void seMoveLcdCursor(long x, long y);
void seMoveCrtCursor(long x, long y);
void seMoveTvCursor(long x, long y);
void seMoveCursor(long x, long y);
void seSetLcdCursorColor(int index, DWORD color);
void seSetCrtCursorColor(int index, DWORD color);
void seSetTvCursorColor(int index, DWORD color);
void seSetCursorColor(int index, DWORD color);
void seSetLcdCursorPixel(long x, long y, DWORD color);
void seSetCrtCursorPixel(long x, long y, DWORD color);
void seSetTvCursorPixel(long x, long y, DWORD color);
void seSetCursorPixel(long x, long y, DWORD color);
void seDrawLcdCursorLine(long x1, long y1, long x2, long y2, DWORD color);
void seDrawCrtCursorLine(long x1, long y1, long x2, long y2, DWORD color);
void seDrawTvCursorLine(long x1, long y1, long x2, long y2, DWORD color);
void seDrawCursorLine(long x1, long y1, long x2, long y2, DWORD color);
void seDrawLcdCursorRect(long x1, long y1, long x2, long y2, DWORD color, BOOL SolidFill);
void seDrawCrtCursorRect(long x1, long y1, long x2, long y2, DWORD color, BOOL SolidFill);
void seDrawTvCursorRect(long x1, long y1, long x2, long y2, DWORD color, BOOL SolidFill);
void seDrawCursorRect(long x1, long y1, long x2, long y2, DWORD color, BOOL SolidFill);
/*------------------------------- Hardware Ink Layer ---------------------------------*/
DWORD seInitLcdInk(void);
DWORD seInitCrtInk(void);
DWORD seInitTvInk(void);
DWORD seInitInk(void);
void seFreeLcdInk(void);
void seFreeCrtInk(void);
void seFreeTvInk(void);
void seFreeInk(void);
void seEnableLcdInk(int enable);
void seEnableCrtInk(int enable);
void seEnableTvInk(int enable);
void seEnableInk(int enable);
DWORD seGetLcdInkLinearAddress(void);
DWORD seGetCrtInkLinearAddress(void);
DWORD seGetTvInkLinearAddress(void);
DWORD seGetInkLinearAddress(void);
DWORD seGetLcdInkOffsetAddress(void);
DWORD seGetCrtInkOffsetAddress(void);
DWORD seGetTvInkOffsetAddress(void);
DWORD seGetInkOffsetAddress(void);
void seSetLcdInkColor(int index, DWORD color);
void seSetCrtInkColor(int index, DWORD color);
void seSetTvInkColor(int index, DWORD color);
void seSetInkColor(int index, DWORD color);
void seSetLcdInkPixel(long x, long y, DWORD color);
void seSetCrtInkPixel(long x, long y, DWORD color);
void seSetTvInkPixel(long x, long y, DWORD color);
void seSetInkPixel(long x, long y, DWORD color);
void seDrawLcdInkLine(long x1, long y1, long x2, long y2, DWORD color);
void seDrawCrtInkLine(long x1, long y1, long x2, long y2, DWORD color);
void seDrawTvInkLine(long x1, long y1, long x2, long y2, DWORD color);
void seDrawInkLine(long x1, long y1, long x2, long y2, DWORD color);
void seDrawLcdInkRect(long x1, long y1, long x2, long y2, DWORD color, BOOL SolidFill);
void seDrawCrtInkRect(long x1, long y1, long x2, long y2, DWORD color, BOOL SolidFill);
void seDrawTvInkRect(long x1, long y1, long x2, long y2, DWORD color, BOOL SolidFill);
void seDrawInkRect(long x1, long y1, long x2, long y2, DWORD color, BOOL SolidFill);
/*------------------------------ Color ------------------------------------*/
void seWriteLut(BYTE *pLut, int count);
void seWriteLcdLut(BYTE *pLut, int count);
void seWriteCrtLut(BYTE *pLut, int count);
void seWriteTvLut(BYTE *pLut, int count);
void seReadLut(BYTE *pLut, int count);
void seReadLcdLut(BYTE *pLut, int count);
void seReadCrtLut(BYTE *pLut, int count);
void seReadTvLut(BYTE *pLut, int count);
void seWriteLutEntry(int index, BYTE *pColor);
void seWriteLcdLutEntry(int index, BYTE *pColor);
void seWriteCrtLutEntry(int index, BYTE *pColor);
void seWriteTvLutEntry(int index, BYTE *pColor);
void seReadLutEntry(int index, BYTE *pColor);
void seReadLcdLutEntry(int index, BYTE *pColor);
void seReadCrtLutEntry(int index, BYTE *pColor);
void seReadTvLutEntry(int index, BYTE *pColor);
/*--------------------------- PCI Support --------------------------------*/
DWORD seGetLinearDisplayAddress(void);
DWORD seGetLinearRegAddress(void);
/*--------------------- Programmable Clock Chip Support ------------------*/
typedef enum
{
FREQ_6000 = 0, /* 6.000 MHz */
FREQ_10000, /* 10.000 MHz */
FREQ_14318, /* 14.318 MHz */
FREQ_17734, /* 17.734 MHz */
FREQ_20000, /* 20.000 MHz */
FREQ_24000, /* 24.000 MHz */
FREQ_25000, /* 25.000 MHz */
FREQ_25175, /* 25.175 MHz */
FREQ_28318, /* 28.318 MHz */
FREQ_30000, /* 30.000 MHz */
FREQ_31500, /* 31.500 MHz */
FREQ_32000, /* 32.000 MHz */
FREQ_33000, /* 33.000 MHz */
FREQ_33333, /* 33.333 MHz */
FREQ_34000, /* 34.000 MHz */
FREQ_35000, /* 35.000 MHz */
FREQ_36000, /* 36.000 MHz */
FREQ_40000, /* 40.000 MHz */
FREQ_49500, /* 49.500 MHz */
FREQ_50000, /* 50.000 MHz */
FREQ_56250, /* 56.250 MHz */
FREQ_65000, /* 65.000 MHz */
FREQ_80000, /* 80.000 MHz */
MAX_FREQ_INDEX
}FREQINDEX;
#define FREQ_FEATCLK FREQ_17734
typedef enum
{
CLKI = 0,
CLKI2
} CLOCKSELECT;
int seSetClock(CLOCKSELECT clock, FREQINDEX FreqIndex);
/*------------------------------------------------------------------------*/
#endif /* _HAL_H_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -