Search
lxdream.org :: lxdream/src/pvr2/pvr2mmio.h
lxdream 0.9.1
released Jun 29
Download Now
filename src/pvr2/pvr2mmio.h
changeset 189:615b70cfd729
prev128:f98ce97cacdd
next191:df4441cf3128
author nkeynes
date Wed Aug 02 04:06:45 2006 +0000 (17 years ago)
permissions -rw-r--r--
last change Issue 0003: TA Vertex compiler
Initial implementation of the TA.
Renderer hooked up to the TA "properly" now as well
view annotate diff log raw
     1 /**
     2  * $Id: pvr2mmio.h,v 1.4 2006-08-02 04:06:45 nkeynes Exp $
     3  *
     4  * PVR2 (video chip) MMIO register definitions.
     5  *
     6  * Copyright (c) 2005 Nathan Keynes.
     7  *
     8  * This program is free software; you can redistribute it and/or modify
     9  * it under the terms of the GNU General Public License as published by
    10  * the Free Software Foundation; either version 2 of the License, or
    11  * (at your option) any later version.
    12  *
    13  * This program is distributed in the hope that it will be useful,
    14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    16  * GNU General Public License for more details.
    17  */
    19 #include "mmio.h"
    21 MMIO_REGION_BEGIN( 0x005F8000, PVR2, "Power VR/2" )
    22     LONG_PORT( 0x000, PVRID, PORT_R, 0x17FD11DB, "PVR2 Core ID" )
    23     LONG_PORT( 0x004, PVRVER, PORT_R, 0x00000011, "PVR2 Core Version" )
    24     LONG_PORT( 0x008, PVRRST, PORT_MRW, 0, "PVR2 Reset" )
    25     LONG_PORT( 0x014, RENDSTART, PORT_W, 0, "Start render" )
    26     LONG_PORT( 0x020, OBJBASE, PORT_MRW, 0, "Object buffer base offset" )
    27     LONG_PORT( 0x02C, TILEBASE, PORT_MRW, 0, "Tile buffer base offset" )
    28     LONG_PORT( 0x040, DISPBORDER, PORT_MRW, 0, "Border Colour (RGB)" )
    29     LONG_PORT( 0x044, DISPMODE, PORT_MRW, 0, "Display Mode" )
    30     LONG_PORT( 0x048, RENDMODE, PORT_MRW, 0, "Rendering Mode" )
    31     LONG_PORT( 0x04C, RENDSIZE, PORT_MRW, 0, "Rendering width (bytes/2)" )
    32     LONG_PORT( 0x050, DISPADDR1, PORT_MRW, 0, "Video memory base 1" )
    33     LONG_PORT( 0x054, DISPADDR2, PORT_MRW, 0, "Video memory base 2" )
    34     LONG_PORT( 0x05C, DISPSIZE, PORT_MRW, 0, "Display size" )
    35     LONG_PORT( 0x060, RENDADDR1, PORT_MRW, 0, "Rendering memory base 1" )
    36     LONG_PORT( 0x064, RENDADDR2, PORT_MRW, 0, "Rendering memory base 2" )
    37     LONG_PORT( 0x068, HCLIP, PORT_MRW, 0, "Horizontal clipping area" )
    38     LONG_PORT( 0x06C, VCLIP, PORT_MRW, 0, "Vertical clipping area" )
    39     LONG_PORT( 0x074, SHADOW, PORT_MRW, 0, "Shadowing" )
    40     LONG_PORT( 0x078, OBJCLIP, PORT_MRW, 0, "Object clip distance (float32)" )
    41     LONG_PORT( 0x07C, OBJCFG, PORT_MRW, 0, "Object config" )
    42     LONG_PORT( 0x084, TSPCLIP, PORT_MRW, 0, "Texture clip distance (float32)" )
    43     LONG_PORT( 0x088, BGPLANEZ, PORT_MRW, 0, "Background plane depth (float32)" )
    44     LONG_PORT( 0x08C, BGPLANE, PORT_MRW, 0, "Background plane config" )
    45     LONG_PORT( 0x098, ISPCFG, PORT_MRW, 0, "ISP config" )
    46     LONG_PORT( 0x0B0, FOGTBLCOL, PORT_MRW, 0, "Fog table colour" )
    47     LONG_PORT( 0x0B4, FOGVRTCOL, PORT_MRW, 0, "Fog vertex colour" )
    48     LONG_PORT( 0x0B8, FOGCOEFF, PORT_MRW, 0, "Fog density coefficient (float16)" )
    49     LONG_PORT( 0x0BC, CLAMPHI, PORT_MRW, 0, "Clamp high colour" )
    50     LONG_PORT( 0x0C0, CLAMPLO, PORT_MRW, 0, "Clamp low colour" )
    51     LONG_PORT( 0x0C4, GUNPOS, PORT_MRW, 0, "Lightgun position" )
    52     LONG_PORT( 0x0C8, HPOS_IRQ, PORT_MRW, 0, "Raster horizontal event position" )    
    53     LONG_PORT( 0x0CC, VPOS_IRQ, PORT_MRW, 0, "Raster event position" )
    54     LONG_PORT( 0x0D0, DISPCFG, PORT_MRW, 0, "Sync configuration & enable" )
    55     LONG_PORT( 0x0D4, HBORDER, PORT_MRW, 0, "Horizontal border area" )
    56     LONG_PORT( 0x0D8, REFRESH, PORT_MRW, 0, "Refresh rates?" )
    57     LONG_PORT( 0x0DC, VBORDER, PORT_MRW, 0, "Vertical border area" )
    58     LONG_PORT( 0x0E0, SYNCPOS, PORT_MRW, 0, "Sync pulse timing" )
    59     LONG_PORT( 0x0E4, TSPCFG, PORT_MRW, 0, "Texture modulo width" )
    60     LONG_PORT( 0x0E8, DISPCFG2, PORT_MRW, 0, "Video configuration 2" )
    61     LONG_PORT( 0x0F0, VPOS, PORT_MRW, 0, "Vertical display position" )
    62     LONG_PORT( 0x0F4, SCALERCFG, PORT_MRW, 0, "Scaler configuration (?)" )
    63     LONG_PORT( 0x108, PALETTECFG, PORT_MRW, 0, "Palette configuration" )
    64     LONG_PORT( 0x10C, BEAMPOS, PORT_R, 0, "Raster beam position" )
    65     LONG_PORT( 0x124, TA_TILEBASE, PORT_MRW, 0, "TA Tile matrix start" )
    66     LONG_PORT( 0x128, TA_POLYBASE, PORT_MRW, 0, "TA Polygon buffer start" )
    67     LONG_PORT( 0x12C, TA_TILEEND, PORT_MRW, 0, "TA Tile matrix end" )
    68     LONG_PORT( 0x130, TA_POLYEND, PORT_MRW, 0, "TA Polygon buffer end" )
    69     LONG_PORT( 0x134, TA_LISTPOS, PORT_R, 0, "TA Tile list position" )
    70     LONG_PORT( 0x138, TA_POLYPOS, PORT_R, 0, "TA Polygon buffer position" )
    71     LONG_PORT( 0x13C, TA_TILESIZE, PORT_MRW, 0, "TA Tile matrix size" )
    72     LONG_PORT( 0x140, TA_TILECFG, PORT_MRW, 0, "TA Tile matrix config" )
    73     LONG_PORT( 0x144, TA_INIT, PORT_W, 0, "TA Initialize" )
    74     LONG_PORT( 0x164, TA_LISTBASE, PORT_MRW, 0, "TA Tile list start" )
    75 MMIO_REGION_END
    77 MMIO_REGION_BEGIN( 0x005F9000, PVR2PAL, "Power VR/2 CLUT Palettes" )
    78     LONG_PORT( 0x000, PAL0_0, PORT_MRW, 0, "Pal0 colour 0" )
    79 MMIO_REGION_END
    81 MMIO_REGION_BEGIN( 0x10000000, PVR2TA, "Power VR/2 TA Command port" )
    82     LONG_PORT( 0x000, TACMD, PORT_MRW, 0, "TA Command port" )
    83 MMIO_REGION_END
.