|
KallistiOS git master
Independent SDK for the Sega Dreamcast
|
PVR Driver Registers. More...
#include <sys/cdefs.h>Go to the source code of this file.
Macros | |
| #define | PVR_GET(REG) (* ( (vuint32*)( 0xa05f8000 + (REG) ) ) ) |
| Retrieve a PVR register value. | |
| #define | PVR_SET(REG, VALUE) PVR_GET(REG) = (VALUE) |
| Set a PVR register value. | |
| #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. | |
| #define | PVR_TA_INPUT 0x10000000 |
| TA command input (64-bit, TA) | |
| #define | PVR_TA_YUV_CONV 0x10800000 |
| YUV converter (64-bit, TA) | |
| #define | PVR_TA_TEX_MEM 0x11000000 |
| VRAM 64-bit, TA=>VRAM. | |
| #define | PVR_TA_TEX_MEM_32 0x13000000 |
| VRAM 32-bit, TA->VRAM. | |
| #define | PVR_RAM_BASE_32_P0 0x05000000 |
| VRAM 32-bit, P0 area, PVR->VRAM. | |
| #define | PVR_RAM_BASE_64_P0 0x04000000 |
| VRAM 64-bit, P0 area, PVR->VRAM. | |
| #define | PVR_RAM_BASE 0xa5000000 |
| VRAM 32-bit, P2 area, PVR->VRAM. | |
| #define | PVR_RAM_INT_BASE 0xa4000000 |
| VRAM 64-bit, P2 area, PVR->VRAM. | |
| #define | PVR_RAM_SIZE (8*1024*1024) |
| RAM size in bytes. | |
| #define | PVR_RAM_TOP (PVR_RAM_BASE + PVR_RAM_SIZE) |
| Top of raw PVR RAM. | |
| #define | PVR_RAM_INT_TOP (PVR_RAM_INT_BASE + PVR_RAM_SIZE) |
| Top of int PVR RAM. | |
| #define | PVR_RESET_ALL 0xffffffff |
| Reset the whole PVR. | |
| #define | PVR_RESET_NONE 0x00000000 |
| Cancel reset state. | |
| #define | PVR_RESET_TA 0x00000001 |
| Reset only the TA. | |
| #define | PVR_RESET_ISPTSP 0x00000002 |
| Reset only the ISP/TSP. | |
| #define | PVR_ISP_START_GO 0xffffffff |
| Write to the PVR_ISP_START register to start rendering. | |
| #define | PVR_TA_INIT_GO 0x80000000 |
| Write to the PVR_TA_INIT register to confirm settings. | |
PVR Driver Registers.
This file provides the low-level driver implementation details for the PowerVR API, including its memory map and register accessors.