KallistiOS git master
Independent SDK for the Sega Dreamcast
|
PowerVR register offsets More...
Macros | |
#define | PVR_ID 0x0000 |
Chip ID. | |
#define | PVR_REVISION 0x0004 |
Chip revision. | |
#define | PVR_RESET 0x0008 |
Reset pins. | |
#define | PVR_ISP_START 0x0014 |
Start the ISP/TSP. | |
#define | PVR_UNK_0018 0x0018 |
?? | |
#define | PVR_ISP_VERTBUF_ADDR 0x0020 |
Vertex buffer address for scene rendering. | |
#define | PVR_ISP_TILEMAT_ADDR 0x002c |
Tile matrix address for scene rendering. | |
#define | PVR_SPANSORT_CFG 0x0030 |
?? – write 0x101 for now | |
#define | PVR_BORDER_COLOR 0x0040 |
Border Color in RGB888. | |
#define | PVR_FB_CFG_1 0x0044 |
Framebuffer config 1. | |
#define | PVR_FB_CFG_2 0x0048 |
Framebuffer config 2. | |
#define | PVR_RENDER_MODULO 0x004c |
Render modulo. | |
#define | PVR_FB_ADDR 0x0050 |
Framebuffer start address. | |
#define | PVR_FB_IL_ADDR 0x0054 |
Framebuffer odd-field start address for interlace. | |
#define | PVR_FB_SIZE 0x005c |
Framebuffer display size. | |
#define | PVR_RENDER_ADDR 0x0060 |
Render output address. | |
#define | PVR_RENDER_ADDR_2 0x0064 |
Output for strip-buffering. | |
#define | PVR_PCLIP_X 0x0068 |
Horizontal clipping area. | |
#define | PVR_PCLIP_Y 0x006c |
Vertical clipping area. | |
#define | PVR_CHEAP_SHADOW 0x0074 |
Cheap shadow control. | |
#define | PVR_OBJECT_CLIP 0x0078 |
Distance for polygon culling. | |
#define | PVR_UNK_007C 0x007c |
?? – write 0x0027df77 for now | |
#define | PVR_UNK_0080 0x0080 |
?? – write 7 for now | |
#define | PVR_TEXTURE_CLIP 0x0084 |
Distance for texture clipping. | |
#define | PVR_BGPLANE_Z 0x0088 |
Distance for background plane. | |
#define | PVR_BGPLANE_CFG 0x008c |
Background plane config. | |
#define | PVR_UNK_0098 0x0098 |
?? – write 0x00800408 for now | |
#define | PVR_UNK_00A0 0x00a0 |
?? – write 0x20 for now | |
#define | PVR_UNK_00A8 0x00a8 |
?? – write 0x15d1c951 for now | |
#define | PVR_FOG_TABLE_COLOR 0x00b0 |
Table fog color. | |
#define | PVR_FOG_VERTEX_COLOR 0x00b4 |
Vertex fog color. | |
#define | PVR_FOG_DENSITY 0x00b8 |
Fog density coefficient. | |
#define | PVR_COLOR_CLAMP_MAX 0x00bc |
RGB Color clamp max. | |
#define | PVR_COLOR_CLAMP_MIN 0x00c0 |
RGB Color clamp min. | |
#define | PVR_GUN_POS 0x00c4 |
Light gun position. | |
#define | PVR_HPOS_IRQ 0x00c8 |
Horizontal position IRQ. | |
#define | PVR_VPOS_IRQ 0x00cc |
Vertical position IRQ. | |
#define | PVR_IL_CFG 0x00d0 |
Interlacing config. | |
#define | PVR_BORDER_X 0x00d4 |
Window border X position. | |
#define | PVR_SCAN_CLK 0x00d8 |
Clock and scanline values. | |
#define | PVR_BORDER_Y 0x00dc |
Window border Y position. | |
#define | PVR_TXR_STRIDE_MULT 0x00e4 |
Multiplier for stride width in increments of 32. | |
#define | PVR_VIDEO_CFG 0x00e8 |
Misc video config. | |
#define | PVR_BITMAP_X 0x00ec |
Bitmap window X position. | |
#define | PVR_BITMAP_Y 0x00f0 |
Bitmap window Y position. | |
#define | PVR_SCALER_CFG 0x00f4 |
Smoothing scaler. | |
#define | PVR_PALETTE_CFG 0x0108 |
Palette format. | |
#define | PVR_SYNC_STATUS 0x010c |
V/H blank status. | |
#define | PVR_UNK_0110 0x0110 |
?? – write 0x93f39 for now | |
#define | PVR_UNK_0114 0x0114 |
?? – write 0x200000 for now | |
#define | PVR_UNK_0118 0x0118 |
?? – write 0x8040 for now | |
#define | PVR_TA_OPB_START 0x0124 |
Object Pointer Buffer start for TA usage. | |
#define | PVR_TA_VERTBUF_START 0x0128 |
Vertex buffer start for TA usage. | |
#define | PVR_TA_OPB_END 0x012c |
OPB end for TA usage. | |
#define | PVR_TA_VERTBUF_END 0x0130 |
Vertex buffer end for TA usage. | |
#define | PVR_TA_OPB_POS 0x0134 |
Top used memory location in OPB for TA usage. | |
#define | PVR_TA_VERTBUF_POS 0x0138 |
Top used memory location in vertbuf for TA usage. | |
#define | PVR_TILEMAT_CFG 0x013c |
Tile matrix size config. | |
#define | PVR_OPB_CFG 0x0140 |
Active lists / list size. | |
#define | PVR_TA_INIT 0x0144 |
Initialize vertex reg. | |
#define | PVR_YUV_ADDR 0x0148 |
YUV conversion destination. | |
#define | PVR_YUV_CFG 0x014c |
YUV configuration. | |
#define | PVR_YUV_STAT 0x0150 |
The number of YUV macroblocks converted. | |
#define | PVR_UNK_0160 0x0160 |
?? | |
#define | PVR_TA_OPB_INIT 0x0164 |
Object pointer buffer position init. | |
#define | PVR_FOG_TABLE_BASE 0x0200 |
Base of the fog table. | |
#define | PVR_PALETTE_TABLE_BASE 0x1000 |
Base of the palette table. | |
PowerVR register offsets
The registers themselves; these are from Maiwe's powervr-reg.txt.
#define PVR_BGPLANE_CFG 0x008c |
Background plane config.
#define PVR_BGPLANE_Z 0x0088 |
Distance for background plane.
#define PVR_BITMAP_X 0x00ec |
Bitmap window X position.
#define PVR_BITMAP_Y 0x00f0 |
Bitmap window Y position.
#define PVR_BORDER_COLOR 0x0040 |
Border Color in RGB888.
#define PVR_BORDER_X 0x00d4 |
Window border X position.
#define PVR_BORDER_Y 0x00dc |
Window border Y position.
#define PVR_CHEAP_SHADOW 0x0074 |
Cheap shadow control.
#define PVR_COLOR_CLAMP_MAX 0x00bc |
RGB Color clamp max.
#define PVR_COLOR_CLAMP_MIN 0x00c0 |
RGB Color clamp min.
#define PVR_FB_ADDR 0x0050 |
Framebuffer start address.
#define PVR_FB_CFG_1 0x0044 |
Framebuffer config 1.
#define PVR_FB_CFG_2 0x0048 |
Framebuffer config 2.
#define PVR_FB_IL_ADDR 0x0054 |
Framebuffer odd-field start address for interlace.
#define PVR_FB_SIZE 0x005c |
Framebuffer display size.
#define PVR_FOG_DENSITY 0x00b8 |
Fog density coefficient.
#define PVR_FOG_TABLE_BASE 0x0200 |
Base of the fog table.
#define PVR_FOG_TABLE_COLOR 0x00b0 |
Table fog color.
#define PVR_FOG_VERTEX_COLOR 0x00b4 |
Vertex fog color.
#define PVR_GUN_POS 0x00c4 |
Light gun position.
#define PVR_HPOS_IRQ 0x00c8 |
Horizontal position IRQ.
#define PVR_ID 0x0000 |
Chip ID.
#define PVR_IL_CFG 0x00d0 |
Interlacing config.
#define PVR_ISP_START 0x0014 |
Start the ISP/TSP.
#define PVR_ISP_TILEMAT_ADDR 0x002c |
Tile matrix address for scene rendering.
#define PVR_ISP_VERTBUF_ADDR 0x0020 |
Vertex buffer address for scene rendering.
#define PVR_OBJECT_CLIP 0x0078 |
Distance for polygon culling.
#define PVR_OPB_CFG 0x0140 |
Active lists / list size.
#define PVR_PALETTE_CFG 0x0108 |
Palette format.
#define PVR_PALETTE_TABLE_BASE 0x1000 |
Base of the palette table.
Referenced by pvr_set_pal_entry().
#define PVR_PCLIP_X 0x0068 |
Horizontal clipping area.
#define PVR_PCLIP_Y 0x006c |
Vertical clipping area.
#define PVR_RENDER_ADDR 0x0060 |
Render output address.
#define PVR_RENDER_ADDR_2 0x0064 |
Output for strip-buffering.
#define PVR_RENDER_MODULO 0x004c |
Render modulo.
#define PVR_RESET 0x0008 |
Reset pins.
#define PVR_REVISION 0x0004 |
Chip revision.
#define PVR_SCALER_CFG 0x00f4 |
Smoothing scaler.
#define PVR_SCAN_CLK 0x00d8 |
Clock and scanline values.
#define PVR_SPANSORT_CFG 0x0030 |
?? – write 0x101 for now
#define PVR_SYNC_STATUS 0x010c |
V/H blank status.
#define PVR_TA_INIT 0x0144 |
Initialize vertex reg.
params
#define PVR_TA_OPB_END 0x012c |
OPB end for TA usage.
#define PVR_TA_OPB_INIT 0x0164 |
Object pointer buffer position init.
#define PVR_TA_OPB_POS 0x0134 |
Top used memory location in OPB for TA usage.
#define PVR_TA_OPB_START 0x0124 |
Object Pointer Buffer start for TA usage.
#define PVR_TA_VERTBUF_END 0x0130 |
Vertex buffer end for TA usage.
#define PVR_TA_VERTBUF_POS 0x0138 |
Top used memory location in vertbuf for TA usage.
#define PVR_TA_VERTBUF_START 0x0128 |
Vertex buffer start for TA usage.
#define PVR_TEXTURE_CLIP 0x0084 |
Distance for texture clipping.
#define PVR_TILEMAT_CFG 0x013c |
Tile matrix size config.
#define PVR_TXR_STRIDE_MULT 0x00e4 |
Multiplier for stride width in increments of 32.
#define PVR_UNK_0018 0x0018 |
??
#define PVR_UNK_007C 0x007c |
?? – write 0x0027df77 for now
#define PVR_UNK_0080 0x0080 |
?? – write 7 for now
#define PVR_UNK_0098 0x0098 |
?? – write 0x00800408 for now
#define PVR_UNK_00A0 0x00a0 |
?? – write 0x20 for now
#define PVR_UNK_00A8 0x00a8 |
?? – write 0x15d1c951 for now
#define PVR_UNK_0110 0x0110 |
?? – write 0x93f39 for now
#define PVR_UNK_0114 0x0114 |
?? – write 0x200000 for now
#define PVR_UNK_0118 0x0118 |
?? – write 0x8040 for now
#define PVR_UNK_0160 0x0160 |
??
#define PVR_VIDEO_CFG 0x00e8 |
Misc video config.
#define PVR_VPOS_IRQ 0x00cc |
Vertical position IRQ.
#define PVR_YUV_ADDR 0x0148 |
YUV conversion destination.
#define PVR_YUV_CFG 0x014c |
YUV configuration.
#define PVR_YUV_STAT 0x0150 |
The number of YUV macroblocks converted.