📄 hwdefs.h
字号:
#define RASTER_VBLANKSTRTSTOP ((volatile ULONG *) (RASTER_BASE + 0x228) )
#define RASTER_HBLANKSTRTSTOP ((volatile ULONG *) (RASTER_BASE + 0x22C) )
#define RASTER_COLOR_LUT ((volatile ULONG *) (RASTER_BASE + 0x400) )
//
// VLINESTOTAL
//
#define VLINESTOTAL_MASK 0x000007FFF
//
// Raster Start and Stop Masks. Used for a bunch of the Video registers.
//
#define RASTER_START_SHIFT 0L
#define RASTER_START_MASK 0x000007FF
#define RASTER_STOP_SHIFT 16L
#define RASTER_STOP_MASK 0x07FF0000
//
// Definitions for the pixel mode register.
//
#define PIXELMODE_P13951 0x00010000
#define PIXELMODE_TRBSW 0x00008000
#define PIXELMODE_DSCAN 0x00004000
#define PIXELMODE_C_LUT 0x00000000
#define PIXELMODE_C_TRIPLE8 0x00001000
#define PIXELMODE_C_565 0x00001400
#define PIXELMODE_C_555 0x00001800
#define PIXELMODE_C_GREYSCALE 0x00002000
#define PIXELMODE_M_BLINKDISABLED 0x00000000
#define PIXELMODE_S_MODE0 0x00000000
#define PIXELMODE_S_MODE1 0x00000008
#define PIXELMODE_S_MODE2 0x00000010
#define PIXELMODE_P_4BITS 0x00000001
#define PIXELMODE_P_8BITS 0x00000002
#define PIXELMODE_P_16BITS 0x00000004
#define PIXELMODE_P_24BITS 0x00000006
//
// Video Attributes register.
//
#define VIDEOATTRIBS_EN 0x00000001
#define VIDEOATTRIBS_PCLKEN 0x00000002
#define VIDEOATTRIBS_SYNCEN 0x00000004
#define VIDEOATTRIBS_DATEN 0x00000008
#define VIDEOATTRIBS_CSYNC 0x00000010
#define VIDEOATTRIBS_VCPOL 0x00000020
#define VIDEOATTRIBS_HSPOL 0x00000040
#define VIDEOATTRIBS_BLKPOL 0x00000080
#define VIDEOATTRIBS_INVCLK 0x00000100
#define VIDEOATTRIBS_ACLEN 0x00000200
#define VIDEOATTRIBS_LCDEN 0x00000400
#define VIDEOATTRIBS_RBGEN 0x00000800
#define VIDEOATTRIBS_CCIREN 0x00001000
#define VIDEOATTRIBS_PIFEN 0x00002000
#define VIDEOATTRIBS_INTEN 0x00004000
#define VIDEOATTRIBS_INT 0x00008000
#define VIDEOATTRIBS_INTRLC 0x00010000
#define VIDEOATTRIBS_EQUSER 0x00020000
#define VIDEOATTRIBS_DHORZ 0x00040000
#define VIDEOATTRIBS_DVERT 0x00080000
#define VIDEOATTRIBS_BKPXD 0x00100000
#define VIDEOATTRIBS_SDSEL_CS0 0x00000000
#define VIDEOATTRIBS_SDSEL_CS1 0x00200000
#define VIDEOATTRIBS_SDSEL_CS2 0x00400000
#define VIDEOATTRIBS_SDSEL_CS3 0x00600000
//
// Video Screen page register.
//
#define VIDSCRNPAGE_MASK 0x0FFFFFF0
//
// Color Lookup table control register
//
#define LUTCONT_SSTAT 0x00000002
#define LUTCONT_SWTCH 0x00000001
//
// Color Lookup table control register
//
#define LUTCONT_SSTAT 0x00000002
#define LUTCONT_SWTCH 0x00000001
#define CURSORSIZE_CWID_16PIXELS 0x00000000
#define CURSORSIZE_CWID_32PIXELS 0x00000001
#define CURSORSIZE_CWID_48PIXELS 0x00000002
#define CURSORSIZE_CWID_64PIXELS 0x00000003
#define CURSORSIZE_CWID_SHIFT 0
#define CURSORSIZE_CLINS_MASK 0x000000fC
#define CURSORSIZE_CLINS_SHIFT 2
#define CURSORSIZE_CSTEP_16PIXELS 0x00000000
#define CURSORSIZE_CSTEP_32PIXELS 0x00000100
#define CURSORSIZE_CSTEP_48PIXELS 0x00000200
#define CURSORSIZE_CSTEP_64PIXELS 0x00000300
#define CURSORXYLOC_CEN 0x00008000
#define CURSORXYLOC_YMASK 0x07FF0000
#define CURSORXYLOC_YSHIFT 16
#define CURSORXYLOC_XMASK 0x000007FF
#define CURSORXYLOC_XSHIFT 0
//
// USB registers.
//
#define USB_BASE (VIRTUAL_SYSTEM_ASIC_REGS_BASE + 0x00020000)
//
// GRAPHICS (display acceleration hardware)
//
#define GRAPHICS_BASE (VIRTUAL_SYSTEM_ASIC_REGS_BASE + 0x00040000)
#define GRAPHICS_SRCPIXELSTRT ((volatile ULONG *)(GRAPHICS_BASE + 0x0000 ))
#define GRAPHICS_DESTPIXELSTRT ((volatile ULONG *)(GRAPHICS_BASE + 0x0004 ))
#define GRAPHICS_BLKSRCSTRT ((volatile ULONG *)(GRAPHICS_BASE + 0x0008 ))
#define GRAPHICS_BLKDESTSTRT ((volatile ULONG *)(GRAPHICS_BASE + 0x000C ))
#define GRAPHICS_BLKSRCWIDTH ((volatile ULONG *)(GRAPHICS_BASE + 0x0010 ))
#define GRAPHICS_SRCLINELENGTH ((volatile ULONG *)(GRAPHICS_BASE + 0x0014 ))
#define GRAPHICS_BLKDESTWIDTH ((volatile ULONG *)(GRAPHICS_BASE + 0x0018 ))
#define GRAPHICS_BLKDESTHEIGHT ((volatile ULONG *)(GRAPHICS_BASE + 0x001C ))
#define GRAPHICS_DESTLINELENGTH ((volatile ULONG *)(GRAPHICS_BASE + 0x0020 ))
#define GRAPHICS_BLOCKCTRL ((volatile ULONG *)(GRAPHICS_BASE + 0x0024 ))
#define GRAPHICS_TRANSPATTRN ((volatile ULONG *)(GRAPHICS_BASE + 0x0028 ))
#define GRAPHICS_BLOCKMASK ((volatile ULONG *)(GRAPHICS_BASE + 0x002C ))
#define GRAPHICS_BACKGROUND ((volatile ULONG *)(GRAPHICS_BASE + 0x0030 ))
#define GRAPHICS_LINEINC ((volatile ULONG *)(GRAPHICS_BASE + 0x0034 ))
#define GRAPHICS_LINEINIT ((volatile ULONG *)(GRAPHICS_BASE + 0x0038 ))
#define GRAPHICS_LINEPATTRN ((volatile ULONG *)(GRAPHICS_BASE + 0x003C ))
//#define GRAPHICS_SRCPXLST 0x000
#define SRCPIXELSTRT_PEL_MASK 0x0000001F
//#define GRAPHICS_DSTPXLST 0x001
#define DESTPIXELSTRT_EPEL_MASK 0x001F0000
#define DESTPIXELSTRT_EPEL_SHIFT 16
#define DESTPIXELSTRT_SPEL_MASK 0x0000001F
#define DESTPIXELSTRT_SPEL_SHIFT 0
//#define GRAPHICS_BLKSRCST
#define SRC_START_MASK 0xFFFFFFFC
#define DEST_START_MASK 0xFFFFFFFC
//#define GRAPHICS_BLKSRCWIDTH 0x004
#define SRC_WIDTH_MASK 0x00000FFF
//#define GRAPHICS_SRCLINELENGTH 0x005
#define SRC_LINE_LENGTH_MASK 0x00000FFF
//#define GRAPHICS_BLKDESTWIDTH 0x006
//#define DEST_WIDTH_MASK 0xfffff000
#define DEST_WIDTH_MASK 0x00000FFF
//#define GRAPHICS_BLKDESTHEIGHT 0x007
#define DEST_HEIGHT_MASK 0x000007FF
//#define GRAPHICS_DESTLINELENGTH 0x008
#define DEST_LINE_LENGTH_MASK 0x00000FFF
//#define GRAPHICS_BLOCKCTRL 0x009
//#define WRITE_BITS_MASK 0x001EFFFF
#define BLOCKCTRL_PACKD 0x00100000
#define BLOCKCTRL_BIT_PER_PIXEL_MASK 0x000E0000
#define BLOCKCTRL_FOUR_BITS_PIXEL 0x00020000
#define BLOCKCTRL_EIGHT_BITS_PIXEL 0x00040000
#define BLOCKCTRL_SIXTEEN_BITS_PIXEL 0x00080000
#define BLOCKCTRL_TWENTYFOUR_BITS_PIXEL 0x000c0000
#define BLOCKCTRL_PIXEL_SHIFT 17
#define BLOCKCTRL_ERRORK 0x00010000
#define BLOCKCTRL_INTEOI 0x00008000
#define BLOCKCTRL_BG 0x00004000
#define BLOCKCTRL_REMAPK 0x00002000
#define BLOCKCTRL_DMODE_MASK 0x00001800
#define BLOCKCTRL_DMODE_DISABLED 0x00000000
#define BLOCKCTRL_DMODE_AND 0x00000800
#define BLOCKCTRL_DMODE_OR 0x00001000
#define BLOCKCTRL_DMODE_XOR 0x00001800
#define BLOCKCTRL_MMODE_MASK 0x00000600
#define BLOCKCTRL_MMODE_DISABLED 0x00000000
#define BLOCKCTRL_MMODE_AND 0x00000200
#define BLOCKCTRL_MMODE_OR 0x00000400
#define BLOCKCTRL_MMODE_XOR 0x00000600
#define BLOCKCTRL_SYDIR 0x00000100
#define BLOCKCTRL_SXDIR 0x00000080
#define BLOCKCTRL_DYDIR 0x00000040
#define BLOCKCTRL_DXDIR 0x00000020
#define BLOCKCTRL_LINE 0x00000010
#define BLOCKCTRL_FILL 0x00000008
#define BLOCKCTRL_TRANS 0x00000004
#define BLOCKCTRL_INTENA 0x00000002
#define BLOCKCTRL_ENABLE 0x00000001
//#define GRAPHICS_TRANSPATTRN 0x00a
#define TRANSPATTRN_MASK 0x00ffffff
//#define GRAPHICS_BLOCKMASK 0x0000000b
#define BLOCKMASK_MASK 0x00ffffff
//#define GRAPHICS_BACKGROUND 0x00c
#define BACKGROUND_MASK 0x00ffffff
//#define GRAPHICS_LINEINC 0x00d
#define LINEINC_YINC_MASK 0x0FFF0000
#define LINEINC_YINC_SHIFT 16
#define LINEINC_XINC_MASK 0x00000FFF
#define LINEINC_XINC_SHIFT 0
//#define GRAPHICS_LINEINIT 0x00e
#define LINEINIT_YINIT_MASK 0x0FFF0000
#define LINEINIT_YINIT_SHIFT 16
#define LINEINIT_XINIT_MASK 0x00000FFF
#define LINEINIT_XINIT_SHIFT 0
//#define GRAPHICS_LINEPATTRN 0x00f
#define LINEPATTRN_CNT_SHIFT 16
#define LINEPATTRN_CNT_MASK 0x000F0000
#define LINEPATTRN_PTRN_MASK 0x0000FFFF
//
// SDRAM
//
#define SDRAM_BASE (VIRTUAL_SYSTEM_ASIC_REGS_BASE + 0x00060000)
#define SDRAM_GLOBALCFG (volatile ULONG *)(SDRAM_BASE + 0x0004)
#define SDRAM_REFRESH (volatile ULONG *)(SDRAM_BASE + 0x0008)
#define SDRAM_BOOTSTATUS (volatile ULONG *)(SDRAM_BASE + 0x000C)
#define SDRAM_DEVCFG_CS0 (volatile ULONG *)(SDRAM_BASE + 0x0010)
#define SDRAM_DEVCFG_CS1 (volatile ULONG *)(SDRAM_BASE + 0x0014)
#define SDRAM_DEVCFG_CS2 (volatile ULONG *)(SDRAM_BASE + 0x0018)
#define SDRAM_DEVCFG_CS3 (volatile ULONG *)(SDRAM_BASE + 0x001C)
#define GLOBALCFG_INIT 0x00000001
#define GLOBALCFG_MRS 0x00000002
#define GLOBALCFG_SMEMBUSY 0x00000020
#define GLOBALCFG_LCR 0x00000040
#define GLOBALCFG_REARBEN 0x00000080
#define GLOBALCFG_CLKSHUTDOWN 0x40000000
#define GLOBALCFG_CKE 0x80000000
#define REFRESH_MASK 0x0000FFFF
#define BOOTSTATUS_WIDTH_32 0x00000002
#define BOOTSTATUS_WIDTH_16 0x00000001
#define BOOTSTATUS_WIDTH_8 0x00000000
#define BOOTSTATUS_WIDTH_MASK 0x00000003
#define BOOTSTATUS_MEDIA 0x00000004
#define DEVCFG_EXTBUSWIDTH 0x00000004
#define DEVCFG_BANKCOUNT 0x00000008
#define DEVCFG_SROM512 0x00000010
#define DEVCFG_SROMLL 0x00000020
#define DEVCFG_2KPAGE 0x00000040
#define DEVCFG_SFCONFIGADDR 0x00000080
#define DEVCFG_CASLAT_MASK 0x00070000
#define DEVCFG_CASLAT_2 0x00010000
#define DEVCFG_CASLAT_3 0x00020000
#define DEVCFG_CASLAT_4 0x00030000
#define DEVCFG_CASLAT_5 0x00040000
#define DEVCFG_CASLAT_6 0x00050000
#define DEVCFG_CASLAT_7 0x00060000
#define DEVCFG_CASLAT_8 0x00070000
#define DEVCFG_WBL 0x00080000
#define DEVCFG_RASTOCAS_MASK 0x00300000
#define DEVCFG_RASTOCAS_2 0x00200000
#define DEVCFG_RASTOCAS_3 0x00300000
#define DEVCFG_AUTOPRECHARGE 0x01000000
//
// SMC and PCMCIA
// TODO bit definitions.
//
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -