|
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_TEXTURE_MODULO PVR_TXR_STRIDE_MULT /* Backward compatibility */ |
| #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_TEXTURE_MODULO PVR_TXR_STRIDE_MULT /* Backward compatibility */ |
| #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.