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) |
Retrieve a PVR register value. | |
#define | PVR_SET(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_TEXTURE_MODULO 0x00e4 |
Output texture width modulo. | |
#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.