sdk-world v2026.11.05
PS2 SDK - world tier (copyleft-allowed, non-essential packages)
Loading...
Searching...
No Matches
gsInit.h File Reference
#include "gsKit.h"

Go to the source code of this file.

Classes

struct  gsBGColor
 Background Color Structure. More...
struct  gsTest
 TEST Register Settings Structure. More...
struct  gsClamp
 CLAMP Register Settings Structure. More...
struct  gsQueue
struct  gsGlobal
struct  gsTexture
struct  __attribute__
struct  gsPrimPoint
struct  gsPrimUVPoint
struct  gsPrimUVPointFlat
struct  gsPrimSTQPoint
struct  gsRegisters
 Alternative Access Method to the GS CSR Register. More...

Macros

#define GS_PERSISTENT   0x00
 Persistent Draw Queue.
#define GS_ONESHOT   0x01
 Oneshot Draw Queue.
#define GS_RENDER_QUEUE_PER_POOLSIZE   1024 * 256
 Size of Persistent drawbuffer (Single Buffered).
#define GS_RENDER_QUEUE_OS_POOLSIZE   1024 * 1024
 Size of Oneshot drawbuffer (Double Buffered, so it uses this size * 2).
#define GS_PER_OS   0x00
 Draw Persistent objects first, before oneshot objects.
#define GS_OS_PER   0x01
 Draw Persistent objects last, after oneshot objects.
#define GS_NONINTERLACED   0x00
 Non-Interlaced Mode.
#define GS_INTERLACED   0x01
 Interlaced Mode.
#define GS_FIELD   0x00
 Field Mode - Reads Every Other Line.
#define GS_FRAME   0x01
 Frame Mode - Reads Every Line.
#define GS_FIELD_NORMAL   0x00
 Normal Field Mode - Draws all lines.
#define GS_FIELD_ODD   0x02
 Odd Field Mode - Draws only odd lines.
#define GS_FIELD_EVEN   0x03
 Even Field Mode - Draws only even lines.
#define GS_ASPECT_4_3   0x0
 4:3 Aspect Ratio (UNUSED)
#define GS_ASPECT_16_9   0x1
 16:9 Aspect Ratio (UNUSED)
#define GS_MODE_NTSC   0x02
 NTSC Full Buffer.
#define GS_MODE_PAL   0x03
 PAL Full Buffer.
#define GS_MODE_VGA_640_60   0x1A
 VGA 640x480 @ 60Hz.
#define GS_MODE_VGA_640_72   0x1B
 VGA 640x480 @ 72Hz.
#define GS_MODE_VGA_640_75   0x1C
 VGA 640x480 @ 65Hz.
#define GS_MODE_VGA_640_85   0x1D
 VGA 640x480 @ 85Hz.
#define GS_MODE_VGA_800_56   0x2A
 VGA 800x600 @ 56Hz.
#define GS_MODE_VGA_800_60   0x2B
 VGA 800x600 @ 60Hz.
#define GS_MODE_VGA_800_72   0x2C
 VGA 800x600 @ 72Hz.
#define GS_MODE_VGA_800_75   0x2D
 VGA 800x600 @ 75Hz.
#define GS_MODE_VGA_800_85   0x2E
 VGA 800x600 @ 85Hz.
#define GS_MODE_VGA_1024_60   0x3B
 VGA 1024x768 @ 60Hz.
#define GS_MODE_VGA_1024_70   0x3C
 VGA 1024x768 @ 70Hz.
#define GS_MODE_VGA_1024_75   0x3D
 VGA 1024x768 @ 75Hz.
#define GS_MODE_VGA_1024_85   0x3E
 VGA 1024x768 @ 85Hz.
#define GS_MODE_VGA_1280_60   0x4A
 VGA 1280x1024 @ 60Hz.
#define GS_MODE_VGA_1280_75   0x4B
 VGA 1280x1024 @ 75Hz.
#define GS_MODE_DTV_480P   0x50
 DTV 480 Progressive Scan (720x480).
#define GS_MODE_DTV_576P   0x53
 DTV 576 Progressive Scan (720x576).
#define GS_MODE_DTV_1080I   0x51
 DTV 1080 Interlaced (1920x1080).
#define GS_MODE_DTV_720P   0x52
 DTV 720 Progressive Scan (1280x720).
#define GS_MODE_DVD_NTSC   0x72
 DVD NTSC.
#define GS_MODE_DVD_PAL   0x73
 DVD PAL.
#define GS_MODE_DVD_480P   0x74
 DVD 480P.
#define GS_PSM_CT32   0x00
 R8 G8 B8 A8 (RGBA32) Texture.
#define GS_PSM_CT24   0x01
 R8 G8 B8 (RGB24) Texture.
#define GS_PSM_CT16   0x02
 RGBA16 Texture.
#define GS_PSM_CT16S   0x0A
 RGBA16 Texture ?
#define GS_PSM_T8   0x13
 8 Bit Texture with CLUT
#define GS_PSM_T8H   0x1B
 8 Bit Texture with CLUT ?
#define GS_PSM_T4   0x14
 4 Bit Texture with CLUT
#define GS_PSM_T4HL   0x24
 4 Bit Texture with CLUT ?
#define GS_PSM_T4HH   0x2C
 4 Bit Texture with CLUT ?
#define GS_PSMZ_32   0x00
 R8 G8 B8 A8 (RGBA32) ZBuffer.
#define GS_PSMZ_24   0x01
 R8 G8 B8 (RGB24) ZBuffer.
#define GS_PSMZ_16   0x02
 RGBA16 ZBuffer.
#define GS_PSMZ_16S   0x0A
 RGBA16 ZBuffer ?
#define GS_BLEND_FRONT2BACK   0x12
 Blend Alpha Primitives "Front To Back".
#define GS_BLEND_BACK2FRONT   0x01
 Blend Alpha Primitives "Back To Front".
#define GS_SETTING_OFF   0x00
 Define a setting to be OFF.
#define GS_SETTING_ON   0x01
 Define a setting to be ON.
#define GS_PRIM   0x00
 GS Primitive.
#define GS_RGBAQ   0x01
 GS Color in RGBAQ Format.
#define GS_ST   0x02
 GS Texture Coordinate Value in Texture Coordinates.
#define GS_UV   0x03
 GS Texture Coordinate Value in Texel Coordinates.
#define GS_XYZF2   0x04
 GS Vertex Coordinate Value With Fog Coefficent.
#define GS_XYZ2   0x05
 GS Vertex Coordinate Value.
#define GS_TEX0_1   0x06
 GS Texture Information Settings (Context 1).
#define GS_TEX0_2   0x07
 GS Texture Information Settings (Context 2).
#define GS_CLAMP_1   0x08
 GS Texture Wrap Mode (Context 1).
#define GS_CLAMP_2   0x09
 GS Texture Wrap Mode (Context 2).
#define GS_FOG   0x0a
 GS Vertex Fog Value.
#define GS_XYZF3   0x0c
 GS Vertex Coordinate Value With Fog Coefficent (Without Drawing Kick).
#define GS_XYZ3   0x0d
 GS Vertex Coordinate Value (Without Drawing Kick).
#define GS_TEX1_1   0x14
 GS Texture Information Settings (Context 1).
#define GS_TEX1_2   0x15
 GS Texture Information Settings (Context 2).
#define GS_TEX2_1   0x16
 GS Texture Information Settings (Context 1).
#define GS_TEX2_2   0x17
 GS Texture Information Settings (Context 2).
#define GS_XYOFFSET_1   0x18
 GS Offset Value.
#define GS_XYOFFSET_2   0x19
 GS Offset Value.
#define GS_PRMODECONT   0x1a
 GS Primitive Attribute Setting Mode.
#define GS_PRMODE   0x1b
 GS Primitive Mode.
#define GS_TEXCLUT   0x1c
 GS Texture CLUT Location.
#define GS_SCANMSK   0x22
 GS Raster Address Mask.
#define GS_MIPTBP1_1   0x34
 GS MIPMAP Information for Levels 1-3 (Context 1).
#define GS_MIPTBP1_2   0x35
 GS MIPMAP Information for Levels 1-3 (Context 2).
#define GS_MIPTBP2_1   0x36
 GS MIPMAP Information for Levels 4-6 (Context 1).
#define GS_MIPTBP2_2   0x37
 GS MIPMAP Information for Levels 4-6 (Context 2).
#define GS_TEXA   0x3b
 GS Texture Alpha Value.
#define GS_FOGCOL   0x3d
 GS Distant Fog Color.
#define GS_TEXFLUSH   0x3f
 GS Texture Page Buffer.
#define GS_SCISSOR_1   0x40
 GS Scissoring Area (Context 1).
#define GS_SCISSOR_2   0x41
 GS Scissoring Area (Context 2).
#define GS_ALPHA_1   0x42
 GS Alpha Blending (Context 1).
#define GS_ALPHA_2   0x43
 GS Alpha Blending (Context 2).
#define GS_DIMX   0x44
 GS Dither Matrix.
#define GS_DTHE   0x45
 GS Dither Control.
#define GS_COLCLAMP   0x46
 GS Color Clamp.
#define GS_TEST_1   0x47
 GS TEST (Context 1).
#define GS_TEST_2   0x48
 GS TEST (Context 2).
#define GS_PABE   0x49
 GS Alpha Blending (In Pixel Units).
#define GS_FBA_1   0x4a
 GS Alpha Correction Value (Context 1).
#define GS_FBA_2   0x4b
 GS Alpha Correction Value (Context 2).
#define GS_FRAME_1   0x4c
 GS Frame Buffer (Context 1).
#define GS_FRAME_2   0x4d
 GS Frame Buffer (Context 2).
#define GS_ZBUF_1   0x4e
 GS Z Buffer (Context 1).
#define GS_ZBUF_2   0x4f
 GS Z Buffer (Context 2).
#define GS_BITBLTBUF   0x50
 GS Setting for Transmission Between Buffers.
#define GS_TRXPOS   0x51
 GS Specificiation for Transmission Area in Buffers.
#define GS_TRXREG   0x52
 GS Specificiation for Transmission Area in Buffers.
#define GS_TRXDIR   0x53
 GS Activation for Transmission Between Buffers.
#define GS_HWREG   0x54
 Data Port for Transmission Between Buffers.
#define GS_SIGNAL   0x60
 SIGNAL Event Occourence.
#define GS_FINISH   0x61
 FINISH Event Occourence.
#define GS_LABEL   0x62
 LABEL Event Occourence.
#define GS_PRIM_PRIM_POINT   0x00
 GS Point Primitive.
#define GS_PRIM_PRIM_LINE   0x01
 GS Line Primitive.
#define GS_PRIM_PRIM_LINESTRIP   0x02
 GS Line Strip Primitive.
#define GS_PRIM_PRIM_TRIANGLE   0x03
 GS Triangle Primitive.
#define GS_PRIM_PRIM_TRISTRIP   0x04
 GS Triangle Strip Primitive.
#define GS_PRIM_PRIM_TRIFAN   0x05
 GS Triangle Fan Primitive.
#define GS_PRIM_PRIM_SPRITE   0x06
 GS Sprite Primitive.
#define GSKIT_GIF_PRIM_POINT   0x1000
 gsKit GIFTAG REGLIST mode PRIM Identifiers
#define GSKIT_GIF_PRIM_LINE   0x1100
#define GSKIT_GIF_PRIM_LINESTRIP   0x1200
#define GSKIT_GIF_PRIM_TRIANGLE   0x1300
#define GSKIT_GIF_PRIM_TRISTRIP   0x1400
#define GSKIT_GIF_PRIM_TRIFAN   0x1500
#define GSKIT_GIF_PRIM_SPRITE   0x1600
#define GSKIT_GIF_PRIM_QUAD   0x1700
#define GSKIT_GIF_PRIM_TRIANGLE_GOURAUD   0x1800
#define GSKIT_GIF_PRIM_QUAD_GOURAUD   0x1900
#define GSKIT_GIF_PRIM_SPRITE_TEXTURED   0x1A00
#define GSKIT_GIF_PRIM_TRIANGLE_TEXTURED   0x1B00
#define GSKIT_GIF_PRIM_TRISTRIP_TEXTURED   0x1C00
#define GSKIT_GIF_PRIM_TRIFAN_TEXTURED   0x1D00
#define GSKIT_GIF_PRIM_QUAD_TEXTURED   0x1E00
#define GSKIT_GIF_FLG_PACKED   0
 gsKit GIFTAG data format "FLG"
#define GSKIT_GIF_FLG_REGLIST   1
#define GSKIT_GIF_FLG_IMAGE   2
#define GIF_TAG_AD(NLOOP)
 A+D GIFTAG.
#define GIF_TAG_POINT(NLOOP)
 Point Primitive GIFTAG.
#define GIF_TAG_POINT_REGS
 Point Primitive REGLIST.
#define GIF_TAG_LINE(NLOOP)
 Line Primitive GIFTAG.
#define GIF_TAG_LINE_REGS
 Line Primitive REGLIST.
#define GIF_TAG_LINE_GORAUD(NLOOP)
 Line Goraud Primitive GIFTAG.
#define GIF_TAG_LINE_GORAUD_REGS
 Line Goraud Primitive REGLIST.
#define GIF_TAG_TRIANGLE(NLOOP)
 Triangle Primitive GIFTAG.
#define GIF_TAG_TRIANGLE_REGS
 Triangle Primitive REGLIST.
#define GIF_TAG_SPRITE(NLOOP)
 Sprite Primitive GIFTAG.
#define GIF_TAG_SPRITE_REGS
 Sprite Primitive REGLIST.
#define GIF_TAG_QUAD(NLOOP)
 Quad Primitive GIFTAG.
#define GIF_TAG_QUAD_REGS
 Quad Primitive REGLIST.
#define GIF_TAG_TRIANGLE_GOURAUD(NLOOP)
 Gouraud Shaded Triangle Primitive GIFTAG.
#define GIF_TAG_TRIANGLE_GOURAUD_REGS
 Gouraud Shaded Triangle Primitive REGLIST.
#define GIF_TAG_QUAD_GOURAUD(NLOOP)
 Gouraud Shaded Quad Primitive GIFTAG.
#define GIF_TAG_QUAD_GOURAUD_REGS
 Gouraud Shaded Quad Primitive REGLIST.
#define GIF_TAG_SPRITE_TEXTURED(NLOOP)
 Textured Sprite Primitive GIFTAG.
#define GIF_TAG_SPRITE_TEXTURED_REGS(ctx)
 Textured Sprite Primitive REGLIST.
#define GIF_TAG_TRIANGLE_TEXTURED(NLOOP)
 Textured Triangle Primitive GIFTAG.
#define GIF_TAG_TRIANGLE_TEXTURED_REGS(ctx)
 Textured Triangle Primitive REGLIST.
#define GIF_TAG_QUAD_TEXTURED(NLOOP)
 Textured Quad Primitive GIFTAG.
#define GIF_TAG_QUAD_TEXTURED_REGS(ctx)
 Textured Quad Primitive REGLIST.
#define GIF_TAG_TRIANGLE_GORAUD_TEXTURED(NLOOP)
 Textured Triangle Goraud Primitive GIFTAG.
#define GIF_TAG_TRIANGLE_GORAUD_TEXTURED_REGS(ctx)
 Textured Triangle Goraud Primitive REGLIST.
#define GIF_TAG_QUAD_GORAUD_TEXTURED(NLOOP)
 Textured Quad Goraud Primitive GIFTAG.
#define GIF_TAG_QUAD_GORAUD_TEXTURED_REGS(ctx)
 Textured Quad Goraud Primitive REGLIST.
#define GIF_RESERVED   0x0B
 Reserved GIF Tag. This is never sent, only used for sanity checks.
#define GIF_AD   0x0E
 GIF_TAG Address+Data Setting. (Used after GIF_TAG).
#define GIF_NOP   0x0F
 GIF No Operation (Used in GIF DMA Packets).
#define GSKIT_PREFETCH(address)
 Data cache prefetch (thx emoon!).
#define GS_RESET()
 GS Reset Macro.
#define GIF_CTRL   (volatile u32*)0x10003000
 GIF Control Register.
#define GIF_MODE   (volatile u32*)0x10003010
 GIF Mode Settings Register.
#define GIF_STAT   (volatile u32*)0x10003020
 GIF Status Register.
#define GIF_SETREG_CTRL(RST, PSE)
 GIF Control Register Writing Routine.
#define GIF_SETREG_MODE(M3R, IMT)
 GIF Mode Settings Register Writing Routine.
#define GIF_STAT_M3R   *GIF_STAT >> 0
 GIF Status Register Reading Macros.
#define GIF_STAT_M3P   *GIF_STAT >> 1
#define GIF_STAT_IMT   *GIF_STAT >> 2
#define GIF_STAT_PSE   *GIF_STAT >> 3
#define GIF_STAT_IP3   *GIF_STAT >> 5
#define GIF_STAT_P3Q   *GIF_STAT >> 6
#define GIF_STAT_P2Q   *GIF_STAT >> 7
#define GIF_STAT_P1Q   *GIF_STAT >> 8
#define GIF_STAT_OPH   *GIF_STAT >> 9
#define GIF_STAT_APATH   *GIF_STAT >> 10
#define GIF_STAT_DIR   *GIF_STAT >> 12
#define GIF_STAT_FQC   *GIF_STAT >> 24
#define GS_CSR   (volatile u64 *)0x12001000
 GS CSR (GS System Status) Register.
#define GS_CSR_FINISH   ((*GS_CSR) >> 1)&1
 CSR FINISH Register Access Routine.
#define GS_SETREG_CSR_FINISH(A)
 CSR FINISH Register Writing Routine.
#define GS_BUSDIR   ((volatile u64 *)(0x12001040))
 GS BUSDIR (GS Bus Direction) Register.
#define GS_SETREG_BUSDIR(A)
 GS BUSDIR Register Writing Routine.
#define GS_IMR   ((volatile u64 *)(0x12001010))
 GS IMR (GS Interrupt Mask) Register.
#define GS_SIGNALID   ((volatile u64 *)(0x12001080))
 GS SIGNALID (GS SIGNALID/LABELID) Register.
#define GS_SETREG_CSR(A, B, C, D, E, F, G, H, I, J, K, L)
 GS CSR (GS System Status) Register Access Macro.
#define GIF_TAG(NLOOP, EOP, PRE, PRIM, FLG, NREG)
 DMA Packet Header "GIF Tag" For Packets Sent To GIF.
#define GS_SETREG_RGBAQ(r, g, b, a, q)
 Object Creation Macro for RGBAQ Color Values.
#define GS_SETREG_RGBA(r, g, b, a)
 Object Creation Macro for RGBA Color Values.
#define GS_SETREG_XYZ3   GS_SETREG_XYZ
 GS Vertex Value (Without Drawing Kick) Object Creation Macro.
#define GS_SETREG_XYZ2   GS_SETREG_XYZ
 GS Vertex Value Object Creation Macro.
#define GS_SETREG_XYZ(x, y, z)
 GS Vertex Value (Root Macro, XYZ2 and XYZ3 Call This) Object Creation Macro.
#define GS_SETREG_XYZF3   GS_SETREG_XYZF
 GS Vertex Value With Fog Coefficent (Without Drawing Kick) Object Creation Macro.
#define GS_SETREG_XYZF2   GS_SETREG_XYZF
 GS Vertex Value With Fog Coefficent Object Creation Macro.
#define GS_SETREG_XYZF(x, y, z, f)
 GS Vertex Value With Fog Coefficent (Root Macro, XYZF2 and XYZF3 Call This) Object Creation Macro.
#define GS_PMODE   ((volatile u64 *)(0x12000000))
 GS PCRTC (Merge Circuit) Registers.
#define GS_SMODE1   ((volatile u64 *)(0x12000010))
#define GS_SMODE2   ((volatile u64 *)(0x12000020))
#define GS_SRFSH   ((volatile u64 *)(0x12000030))
#define GS_SYNCH1   ((volatile u64 *)(0x12000040))
#define GS_SYNCH2   ((volatile u64 *)(0x12000050))
#define GS_SYNCV   ((volatile u64 *)(0x12000060))
#define GS_EXTBUF   ((volatile u64 *)(0x120000B0))
#define GS_EXTDATA   ((volatile u64 *)(0x120000C0))
#define GS_EXTWRITE   ((volatile u64 *)(0x120000D0))
#define GS_DISPFB1   ((volatile u64 *)(0x12000070))
 GS Framebuffer Register (Output Circuit 1).
#define GS_DISPFB2   ((volatile u64 *)(0x12000090))
 GS Framebuffer Register (Output Circuit 2).
#define GS_SET_PMODE(EN1, EN2, MMOD, AMOD, SLBG, ALP)
 GS PCRTC (Merge Circuit) Register Access Macro.
#define GS_SET_SMODE2(INT, FFMD, DPMS)
 Setting For Modes Related to Video Synchronization.
#define GS_SET_PMODE_EXT(EN1, EN2, CRTMD, MMOD, AMOD, SLBG, ALP, NFLD, EXVWINS, EXVWINE, EVSYNCMD)
 GS PCRTC (Merge Circuit) Register Access Macro (Extended for EXTBUF External Digital In).
#define GS_SET_EXTBUF(EXBP, EXBW, FBIN, WFFMD, EMODA, EMODC, WDX, WDY)
 GS PCRTC (Merge Circuit) EXTBUF Register Access Macro.
#define GS_SET_EXTDATA(SX, SY, SMPH, SMPV, WW, WH)
 GS PCRTC (Merge Circuit) EXTDATA Register Access Macro.
#define GS_SET_EXTWRITE(WRITE)
 GS PCRTC (Merge Circuit) EXTWRITE Register Access Macro.
#define GS_SET_DISPFB1(FBP, FBW, PSM, DBX, DBY)
 GS Framebuffer Register Access Macro (Output Circuit 1).
#define GS_SET_DISPFB2(FBP, FBW, PSM, DBX, DBY)
 GS Framebuffer Register Access Macro (Output Circuit 2).
#define GS_DISPLAY1   ((volatile u64 *)(0x12000080))
 GS Display Settings Register (Output Circuit 1).
#define GS_SET_DISPLAY1(DX, DY, MAGH, MAGV, DW, DH)
 GS Display Settings Register Access Macro (Output Circuit 1).
#define GS_DISPLAY2   ((volatile u64 *)(0x120000a0))
 GS Display Settings Register (Output Circuit 2).
#define GS_SET_DISPLAY2(DX, DY, MAGH, MAGV, DW, DH)
 GS Display Settings Register Access Macro (Output Circuit 2).
#define GS_BGCOLOR   ((volatile u64 *)(0x120000e0))
 GS Background Color Register.
#define GS_SET_BGCOLOR(R, G, B)
 GS Background Color Register Access Macro.
#define GS_SETREG_XYOFFSET_1   GS_SETREG_XYOFFSET
 See GS_SETREG_XYOFFSET.
#define GS_SETREG_XYOFFSET_2   GS_SETREG_XYOFFSET
 See GS_SETREG_XYOFFSET.
#define GS_SETREG_XYOFFSET(ofx, ofy)
 GS XYOffset Packing Macro.
#define GS_SETREG_ZBUF_1   GS_SETREG_ZBUF
 See GS_SETREG_ZBUF.
#define GS_SETREG_ZBUF_2   GS_SETREG_ZBUF
 See GS_SETREG_ZBUF.
#define GS_SETREG_ZBUF(zbp, psm, zmsk)
 GS ZBUF Packing Macro.
#define GS_SETREG_TEST_1   GS_SETREG_TEST
 See GS_SETREG_TEST.
#define GS_SETREG_TEST_2   GS_SETREG_TEST
 See GS_SETREG_TEST.
#define GS_SETREG_TEST(ate, atst, aref, afail, date, datm, zte, ztst)
 GS TEST Packing Macro.
#define GS_SETREG_COLCLAMP(clamp)
 GS COLCLAMP Packing Macro.
#define GS_SETREG_FRAME_1   GS_SETREG_FRAME
 See GS_SETREG_FRAME.
#define GS_SETREG_FRAME_2   GS_SETREG_FRAME
 See GS_SETREG_FRAME.
#define GS_SETREG_FRAME(fbp, fbw, psm, fbmask)
 GS FRAME Packing Macro.
#define GS_SETREG_SCISSOR_1   GS_SETREG_SCISSOR
 See GS_SETREG_SCISSOR.
#define GS_SETREG_SCISSOR_2   GS_SETREG_SCISSOR
 See GS_SETREG_SCISSOR.
#define GS_SETREG_SCISSOR(scax0, scax1, scay0, scay1)
 GS SCISSOR Packing Macro.
#define GS_SETREG_CLAMP_1   GS_SET_CLAMP
 See GS_SETREG_CLAMP.
#define GS_SETREG_CLAMP_2   GS_SET_CLAMP
 See GS_SETREG_CLAMP.
#define GS_SETREG_CLAMP(wms, wmt, minu, maxu, minv, maxv)
 GS CLAMP Packing Macro.
#define GS_SETREG_ALPHA(A, B, C, D, FIX)
 GS ALPHA Packing Macro.
#define GS_SETREG_DIMX(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P)
 GS DIMX Packing Macro from dma.h in ps2sdk.
#define gsKit_detect_signal()
 Detect signal (returns GS_MODE_NTSC or GS_MODE_PAL).
#define gsKit_reset_screen(gsGlobal)
#define gsKit_init_global()

Typedefs

typedef struct gsBGColor GSBGCOLOR
typedef struct gsTest GSTEST
typedef struct gsClamp GSCLAMP
typedef struct gsQueue GSQUEUE
typedef struct gsGlobal GSGLOBAL
typedef struct gsTexture GSTEXTURE
typedef struct gsPrimPoint GSPRIMPOINT
typedef struct gsPrimUVPoint GSPRIMUVPOINT
typedef struct gsPrimUVPointFlat GSPRIMUVPOINTFLAT
typedef struct gsPrimSTQPoint GSPRIMSTQPOINT
typedef struct gsRegisters GSREG

Functions

short int gsKit_check_rom (void)
 Checks the console's capabilities based on the ROM version (returns default video format: GS_MODE_NTSC or GS_MODE_PAL).
void gsKit_init_screen (GSGLOBAL *gsGlobal)
 Initialize Screen and GS Registers.
void gsKit_set_display_offset (GSGLOBAL *gsGlobal, int x, int y)
 Position the framebuffer onto the display.
GSGLOBAL * gsKit_init_global_custom (int Os_AllocSize, int Per_AllocSize)
 Initialize gsGlobal (With Specified Sizes (In Bytes) for the Persistent and Oneshot drawbuffers).
void gsKit_deinit_global (GSGLOBAL *gsGlobal)

Variables

u32 cbw
u32 cou
u32 cov
u32 unused_bits
u32 unused

Macro Definition Documentation

◆ GIF_AD

#define GIF_AD   0x0E

GIF_TAG Address+Data Setting. (Used after GIF_TAG).

Definition at line 494 of file gsInit.h.

◆ GIF_CTRL

#define GIF_CTRL   (volatile u32*)0x10003000

GIF Control Register.

Definition at line 505 of file gsInit.h.

◆ GIF_MODE

#define GIF_MODE   (volatile u32*)0x10003010

GIF Mode Settings Register.

Definition at line 508 of file gsInit.h.

◆ GIF_NOP

#define GIF_NOP   0x0F

GIF No Operation (Used in GIF DMA Packets).

Definition at line 496 of file gsInit.h.

◆ GIF_RESERVED

#define GIF_RESERVED   0x0B

Reserved GIF Tag. This is never sent, only used for sanity checks.

Definition at line 492 of file gsInit.h.

◆ GIF_SETREG_CTRL

#define GIF_SETREG_CTRL ( RST,
PSE )
Value:
((u32)(RST) << 0) | \
((u32)(PSE) << 3);
#define GIF_CTRL
GIF Control Register.
Definition gsInit.h:505

GIF Control Register Writing Routine.

Definition at line 514 of file gsInit.h.

◆ GIF_SETREG_MODE

#define GIF_SETREG_MODE ( M3R,
IMT )
Value:
((u32)(M3R) << 0) | \
((u32)(IMT) << 2);
#define GIF_MODE
GIF Mode Settings Register.
Definition gsInit.h:508

GIF Mode Settings Register Writing Routine.

Definition at line 520 of file gsInit.h.

◆ GIF_STAT

#define GIF_STAT   (volatile u32*)0x10003020

GIF Status Register.

Definition at line 511 of file gsInit.h.

◆ GIF_STAT_APATH

#define GIF_STAT_APATH   *GIF_STAT >> 10

Definition at line 535 of file gsInit.h.

◆ GIF_STAT_DIR

#define GIF_STAT_DIR   *GIF_STAT >> 12

Definition at line 536 of file gsInit.h.

◆ GIF_STAT_FQC

#define GIF_STAT_FQC   *GIF_STAT >> 24

Definition at line 537 of file gsInit.h.

◆ GIF_STAT_IMT

#define GIF_STAT_IMT   *GIF_STAT >> 2

Definition at line 528 of file gsInit.h.

◆ GIF_STAT_IP3

#define GIF_STAT_IP3   *GIF_STAT >> 5

Definition at line 530 of file gsInit.h.

◆ GIF_STAT_M3P

#define GIF_STAT_M3P   *GIF_STAT >> 1

Definition at line 527 of file gsInit.h.

◆ GIF_STAT_M3R

#define GIF_STAT_M3R   *GIF_STAT >> 0

GIF Status Register Reading Macros.

Definition at line 526 of file gsInit.h.

◆ GIF_STAT_OPH

#define GIF_STAT_OPH   *GIF_STAT >> 9

Definition at line 534 of file gsInit.h.

◆ GIF_STAT_P1Q

#define GIF_STAT_P1Q   *GIF_STAT >> 8

Definition at line 533 of file gsInit.h.

◆ GIF_STAT_P2Q

#define GIF_STAT_P2Q   *GIF_STAT >> 7

Definition at line 532 of file gsInit.h.

◆ GIF_STAT_P3Q

#define GIF_STAT_P3Q   *GIF_STAT >> 6

Definition at line 531 of file gsInit.h.

◆ GIF_STAT_PSE

#define GIF_STAT_PSE   *GIF_STAT >> 3

Definition at line 529 of file gsInit.h.

◆ GIF_TAG

#define GIF_TAG ( NLOOP,
EOP,
PRE,
PRIM,
FLG,
NREG )
Value:
((u64)(NLOOP) << 0) | \
((u64)(EOP) << 15) | \
((u64)(PRE) << 46) | \
((u64)(PRIM) << 47) | \
((u64)(FLG) << 58) | \
((u64)(NREG) << 60);

DMA Packet Header "GIF Tag" For Packets Sent To GIF.

Definition at line 570 of file gsInit.h.

◆ GIF_TAG_AD

#define GIF_TAG_AD ( NLOOP)
Value:
#define GIF_TAG(NLOOP, EOP, PRE, PRIM, FLG, NREG)
DMA Packet Header "GIF Tag" For Packets Sent To GIF.
Definition gsInit.h:570
#define GSKIT_GIF_FLG_PACKED
gsKit GIFTAG data format "FLG"
Definition gsInit.h:299

A+D GIFTAG.

Definition at line 308 of file gsInit.h.

◆ GIF_TAG_LINE

#define GIF_TAG_LINE ( NLOOP)
Value:
GIF_TAG(NLOOP,1,0,0,GSKIT_GIF_FLG_REGLIST,4)

Line Primitive GIFTAG.

Definition at line 321 of file gsInit.h.

◆ GIF_TAG_LINE_GORAUD

#define GIF_TAG_LINE_GORAUD ( NLOOP)
Value:
GIF_TAG(NLOOP,1,0,0,GSKIT_GIF_FLG_REGLIST,6)

Line Goraud Primitive GIFTAG.

Definition at line 331 of file gsInit.h.

◆ GIF_TAG_LINE_GORAUD_REGS

#define GIF_TAG_LINE_GORAUD_REGS
Value:
((u64)(GS_PRIM) << 0) | \
((u64)(GS_RGBAQ) << 4) | \
((u64)(GS_XYZ2) << 8) | \
((u64)(GS_RGBAQ) << 12) | \
((u64)(GS_XYZ2) << 16) | \
((u64)(GIF_NOP) << 20);
#define GS_PRIM
GS Primitive.
Definition gsInit.h:156
#define GIF_NOP
GIF No Operation (Used in GIF DMA Packets).
Definition gsInit.h:496
#define GS_XYZ2
GS Vertex Coordinate Value.
Definition gsInit.h:166
#define GS_RGBAQ
GS Color in RGBAQ Format.
Definition gsInit.h:158

Line Goraud Primitive REGLIST.

Definition at line 333 of file gsInit.h.

◆ GIF_TAG_LINE_REGS

#define GIF_TAG_LINE_REGS
Value:
((u64)(GS_PRIM) << 0) | \
((u64)(GS_RGBAQ) << 4) | \
((u64)(GS_XYZ2) << 8) | \
((u64)(GS_XYZ2) << 12);

Line Primitive REGLIST.

Definition at line 323 of file gsInit.h.

◆ GIF_TAG_POINT

#define GIF_TAG_POINT ( NLOOP)
Value:
GIF_TAG(NLOOP,1,0,0,GSKIT_GIF_FLG_REGLIST,4)

Point Primitive GIFTAG.

Definition at line 311 of file gsInit.h.

◆ GIF_TAG_POINT_REGS

#define GIF_TAG_POINT_REGS
Value:
((u64)(GS_PRIM) << 0) | \
((u64)(GS_RGBAQ) << 4) | \
((u64)(GS_XYZ2) << 8) | \
((u64)(GIF_NOP) << 12);

Point Primitive REGLIST.

Definition at line 313 of file gsInit.h.

◆ GIF_TAG_QUAD

#define GIF_TAG_QUAD ( NLOOP)
Value:
GIF_TAG(NLOOP,1,0,0,GSKIT_GIF_FLG_REGLIST,6)

Quad Primitive GIFTAG.

Definition at line 365 of file gsInit.h.

◆ GIF_TAG_QUAD_GORAUD_TEXTURED

#define GIF_TAG_QUAD_GORAUD_TEXTURED ( NLOOP)
Value:
GIF_TAG(NLOOP,1,0,0,GSKIT_GIF_FLG_REGLIST,14)

Textured Quad Goraud Primitive GIFTAG.

Definition at line 473 of file gsInit.h.

◆ GIF_TAG_QUAD_GORAUD_TEXTURED_REGS

#define GIF_TAG_QUAD_GORAUD_TEXTURED_REGS ( ctx)
Value:
((u64)(GS_TEX0_1 + ctx) << 0) | \
((u64)(GS_PRIM) << 4) | \
((u64)(GS_RGBAQ) << 8) | \
((u64)(GS_UV) << 12) | \
((u64)(GS_XYZ2) << 16) | \
((u64)(GS_RGBAQ) << 20) | \
((u64)(GS_UV) << 24) | \
((u64)(GS_XYZ2) << 28) | \
((u64)(GS_RGBAQ) << 32) | \
((u64)(GS_UV) << 36) | \
((u64)(GS_XYZ2) << 40) | \
((u64)(GS_RGBAQ) << 44) | \
((u64)(GS_UV) << 48) | \
((u64)(GS_XYZ2) << 52);
#define GS_UV
GS Texture Coordinate Value in Texel Coordinates.
Definition gsInit.h:162
#define GS_TEX0_1
GS Texture Information Settings (Context 1).
Definition gsInit.h:168

Textured Quad Goraud Primitive REGLIST.

Definition at line 475 of file gsInit.h.

◆ GIF_TAG_QUAD_GOURAUD

#define GIF_TAG_QUAD_GOURAUD ( NLOOP)
Value:
GIF_TAG(NLOOP,1,0,0,GSKIT_GIF_FLG_REGLIST,10)

Gouraud Shaded Quad Primitive GIFTAG.

Definition at line 391 of file gsInit.h.

◆ GIF_TAG_QUAD_GOURAUD_REGS

#define GIF_TAG_QUAD_GOURAUD_REGS
Value:
((u64)(GS_PRIM) << 0) | \
((u64)(GS_RGBAQ) << 4) | \
((u64)(GS_XYZ2) << 8) | \
((u64)(GS_RGBAQ) << 12) | \
((u64)(GS_XYZ2) << 16) | \
((u64)(GS_RGBAQ) << 20) | \
((u64)(GS_XYZ2) << 24) | \
((u64)(GS_RGBAQ) << 28) | \
((u64)(GS_XYZ2) << 32) | \
((u64)(GS_RGBAQ) << 36);

Gouraud Shaded Quad Primitive REGLIST.

Definition at line 393 of file gsInit.h.

◆ GIF_TAG_QUAD_REGS

#define GIF_TAG_QUAD_REGS
Value:
((u64)(GS_PRIM) << 0) | \
((u64)(GS_RGBAQ) << 4) | \
((u64)(GS_XYZ2) << 8) | \
((u64)(GS_XYZ2) << 12) | \
((u64)(GS_XYZ2) << 16) | \
((u64)(GS_XYZ2) << 20);

Quad Primitive REGLIST.

Definition at line 367 of file gsInit.h.

◆ GIF_TAG_QUAD_TEXTURED

#define GIF_TAG_QUAD_TEXTURED ( NLOOP)
Value:
GIF_TAG(NLOOP,1,0,0,GSKIT_GIF_FLG_REGLIST,12)

Textured Quad Primitive GIFTAG.

Definition at line 437 of file gsInit.h.

◆ GIF_TAG_QUAD_TEXTURED_REGS

#define GIF_TAG_QUAD_TEXTURED_REGS ( ctx)
Value:
((u64)(GS_TEX0_1 + ctx) << 0) | \
((u64)(GS_PRIM) << 4) | \
((u64)(GS_RGBAQ) << 8) | \
((u64)(GS_UV) << 12) | \
((u64)(GS_XYZ2) << 16) | \
((u64)(GS_UV) << 20) | \
((u64)(GS_XYZ2) << 24) | \
((u64)(GS_UV) << 28) | \
((u64)(GS_XYZ2) << 32) | \
((u64)(GS_UV) << 36) | \
((u64)(GS_XYZ2) << 40) | \
((u64)(GIF_NOP) << 44);

Textured Quad Primitive REGLIST.

Definition at line 439 of file gsInit.h.

◆ GIF_TAG_SPRITE

#define GIF_TAG_SPRITE ( NLOOP)
Value:
GIF_TAG(NLOOP,1,0,0,GSKIT_GIF_FLG_REGLIST,4)

Sprite Primitive GIFTAG.

Definition at line 355 of file gsInit.h.

◆ GIF_TAG_SPRITE_REGS

#define GIF_TAG_SPRITE_REGS
Value:
((u64)(GS_PRIM) << 0) | \
((u64)(GS_RGBAQ) << 4) | \
((u64)(GS_XYZ2) << 8) | \
((u64)(GS_XYZ2) << 12);

Sprite Primitive REGLIST.

Definition at line 357 of file gsInit.h.

◆ GIF_TAG_SPRITE_TEXTURED

#define GIF_TAG_SPRITE_TEXTURED ( NLOOP)
Value:
GIF_TAG(NLOOP,1,0,0,GSKIT_GIF_FLG_REGLIST,8)

Textured Sprite Primitive GIFTAG.

Definition at line 407 of file gsInit.h.

◆ GIF_TAG_SPRITE_TEXTURED_REGS

#define GIF_TAG_SPRITE_TEXTURED_REGS ( ctx)
Value:
((u64)(GS_TEX0_1 + ctx) << 0) | \
((u64)(GS_PRIM) << 4) | \
((u64)(GS_RGBAQ) << 8) | \
((u64)(GS_UV) << 12) | \
((u64)(GS_XYZ2) << 16) | \
((u64)(GS_UV) << 20) | \
((u64)(GS_XYZ2) << 24) | \
((u64)(GIF_NOP) << 28);

Textured Sprite Primitive REGLIST.

Definition at line 409 of file gsInit.h.

◆ GIF_TAG_TRIANGLE

#define GIF_TAG_TRIANGLE ( NLOOP)
Value:
GIF_TAG(NLOOP,1,0,0,GSKIT_GIF_FLG_REGLIST,6)

Triangle Primitive GIFTAG.

Definition at line 343 of file gsInit.h.

◆ GIF_TAG_TRIANGLE_GORAUD_TEXTURED

#define GIF_TAG_TRIANGLE_GORAUD_TEXTURED ( NLOOP)
Value:
GIF_TAG(NLOOP,1,0,0,GSKIT_GIF_FLG_REGLIST,12)

Textured Triangle Goraud Primitive GIFTAG.

Definition at line 455 of file gsInit.h.

◆ GIF_TAG_TRIANGLE_GORAUD_TEXTURED_REGS

#define GIF_TAG_TRIANGLE_GORAUD_TEXTURED_REGS ( ctx)
Value:
((u64)(GS_TEX0_1 + ctx) << 0) | \
((u64)(GS_PRIM) << 4) | \
((u64)(GS_RGBAQ) << 8) | \
((u64)(GS_UV) << 12) | \
((u64)(GS_XYZ2) << 16) | \
((u64)(GS_RGBAQ) << 20) | \
((u64)(GS_UV) << 24) | \
((u64)(GS_XYZ2) << 28) | \
((u64)(GS_RGBAQ) << 32) | \
((u64)(GS_UV) << 36) | \
((u64)(GS_XYZ2) << 40) | \
((u64)(GIF_NOP) << 44);

Textured Triangle Goraud Primitive REGLIST.

Definition at line 457 of file gsInit.h.

◆ GIF_TAG_TRIANGLE_GOURAUD

#define GIF_TAG_TRIANGLE_GOURAUD ( NLOOP)
Value:
GIF_TAG(NLOOP,1,0,0,GSKIT_GIF_FLG_REGLIST,8)

Gouraud Shaded Triangle Primitive GIFTAG.

Definition at line 377 of file gsInit.h.

◆ GIF_TAG_TRIANGLE_GOURAUD_REGS

#define GIF_TAG_TRIANGLE_GOURAUD_REGS
Value:
((u64)(GS_PRIM) << 0) | \
((u64)(GS_RGBAQ) << 4) | \
((u64)(GS_XYZ2) << 8) | \
((u64)(GS_RGBAQ) << 12) | \
((u64)(GS_XYZ2) << 16) | \
((u64)(GS_RGBAQ) << 20) | \
((u64)(GS_XYZ2) << 24) | \
((u64)(GIF_NOP) << 28);

Gouraud Shaded Triangle Primitive REGLIST.

Definition at line 379 of file gsInit.h.

◆ GIF_TAG_TRIANGLE_REGS

#define GIF_TAG_TRIANGLE_REGS
Value:
((u64)(GS_PRIM) << 0) | \
((u64)(GS_RGBAQ) << 4) | \
((u64)(GS_XYZ2) << 8) | \
((u64)(GS_XYZ2) << 12) | \
((u64)(GS_XYZ2) << 16) | \
((u64)(GIF_NOP) << 20);

Triangle Primitive REGLIST.

Definition at line 345 of file gsInit.h.

◆ GIF_TAG_TRIANGLE_TEXTURED

#define GIF_TAG_TRIANGLE_TEXTURED ( NLOOP)
Value:
GIF_TAG(NLOOP,1,0,0,GSKIT_GIF_FLG_REGLIST,10)

Textured Triangle Primitive GIFTAG.

Definition at line 421 of file gsInit.h.

◆ GIF_TAG_TRIANGLE_TEXTURED_REGS

#define GIF_TAG_TRIANGLE_TEXTURED_REGS ( ctx)
Value:
((u64)(GS_TEX0_1 + ctx) << 0) | \
((u64)(GS_PRIM) << 4) | \
((u64)(GS_RGBAQ) << 8) | \
((u64)(GS_UV) << 12) | \
((u64)(GS_XYZ2) << 16) | \
((u64)(GS_UV) << 20) | \
((u64)(GS_XYZ2) << 24) | \
((u64)(GS_UV) << 28) | \
((u64)(GS_XYZ2) << 32) | \
((u64)(GIF_NOP) << 36);

Textured Triangle Primitive REGLIST.

Definition at line 423 of file gsInit.h.

◆ GS_ALPHA_1

#define GS_ALPHA_1   0x42

GS Alpha Blending (Context 1).

Definition at line 220 of file gsInit.h.

◆ GS_ALPHA_2

#define GS_ALPHA_2   0x43

GS Alpha Blending (Context 2).

Definition at line 222 of file gsInit.h.

◆ GS_ASPECT_16_9

#define GS_ASPECT_16_9   0x1

16:9 Aspect Ratio (UNUSED)

Definition at line 58 of file gsInit.h.

◆ GS_ASPECT_4_3

#define GS_ASPECT_4_3   0x0

4:3 Aspect Ratio (UNUSED)

Definition at line 56 of file gsInit.h.

◆ GS_BGCOLOR

#define GS_BGCOLOR   ((volatile u64 *)(0x120000e0))

GS Background Color Register.

Definition at line 728 of file gsInit.h.

◆ GS_BITBLTBUF

#define GS_BITBLTBUF   0x50

GS Setting for Transmission Between Buffers.

Definition at line 248 of file gsInit.h.

◆ GS_BLEND_BACK2FRONT

#define GS_BLEND_BACK2FRONT   0x01

Blend Alpha Primitives "Back To Front".

Definition at line 145 of file gsInit.h.

◆ GS_BLEND_FRONT2BACK

#define GS_BLEND_FRONT2BACK   0x12

Blend Alpha Primitives "Front To Back".

Definition at line 143 of file gsInit.h.

◆ GS_BUSDIR

#define GS_BUSDIR   ((volatile u64 *)(0x12001040))

GS BUSDIR (GS Bus Direction) Register.

Definition at line 549 of file gsInit.h.

◆ GS_CLAMP_1

#define GS_CLAMP_1   0x08

GS Texture Wrap Mode (Context 1).

Definition at line 172 of file gsInit.h.

◆ GS_CLAMP_2

#define GS_CLAMP_2   0x09

GS Texture Wrap Mode (Context 2).

Definition at line 174 of file gsInit.h.

◆ GS_COLCLAMP

#define GS_COLCLAMP   0x46

GS Color Clamp.

Definition at line 228 of file gsInit.h.

◆ GS_CSR

#define GS_CSR   (volatile u64 *)0x12001000

GS CSR (GS System Status) Register.

Definition at line 540 of file gsInit.h.

◆ GS_CSR_FINISH

#define GS_CSR_FINISH   ((*GS_CSR) >> 1)&1

CSR FINISH Register Access Routine.

Definition at line 543 of file gsInit.h.

◆ GS_DIMX

#define GS_DIMX   0x44

GS Dither Matrix.

Definition at line 224 of file gsInit.h.

◆ GS_DISPFB1

#define GS_DISPFB1   ((volatile u64 *)(0x12000070))

GS Framebuffer Register (Output Circuit 1).

Definition at line 617 of file gsInit.h.

◆ GS_DISPFB2

#define GS_DISPFB2   ((volatile u64 *)(0x12000090))

GS Framebuffer Register (Output Circuit 2).

Definition at line 620 of file gsInit.h.

◆ GS_DISPLAY1

#define GS_DISPLAY1   ((volatile u64 *)(0x12000080))

GS Display Settings Register (Output Circuit 1).

Definition at line 702 of file gsInit.h.

◆ GS_DISPLAY2

#define GS_DISPLAY2   ((volatile u64 *)(0x120000a0))

GS Display Settings Register (Output Circuit 2).

Definition at line 715 of file gsInit.h.

◆ GS_DTHE

#define GS_DTHE   0x45

GS Dither Control.

Definition at line 226 of file gsInit.h.

◆ GS_EXTBUF

#define GS_EXTBUF   ((volatile u64 *)(0x120000B0))

Definition at line 612 of file gsInit.h.

◆ GS_EXTDATA

#define GS_EXTDATA   ((volatile u64 *)(0x120000C0))

Definition at line 613 of file gsInit.h.

◆ GS_EXTWRITE

#define GS_EXTWRITE   ((volatile u64 *)(0x120000D0))

Definition at line 614 of file gsInit.h.

◆ GS_FBA_1

#define GS_FBA_1   0x4a

GS Alpha Correction Value (Context 1).

Definition at line 236 of file gsInit.h.

◆ GS_FBA_2

#define GS_FBA_2   0x4b

GS Alpha Correction Value (Context 2).

Definition at line 238 of file gsInit.h.

◆ GS_FIELD

#define GS_FIELD   0x00

Field Mode - Reads Every Other Line.

Definition at line 44 of file gsInit.h.

◆ GS_FIELD_EVEN

#define GS_FIELD_EVEN   0x03

Even Field Mode - Draws only even lines.

Definition at line 53 of file gsInit.h.

◆ GS_FIELD_NORMAL

#define GS_FIELD_NORMAL   0x00

Normal Field Mode - Draws all lines.

Definition at line 49 of file gsInit.h.

◆ GS_FIELD_ODD

#define GS_FIELD_ODD   0x02

Odd Field Mode - Draws only odd lines.

Definition at line 51 of file gsInit.h.

◆ GS_FINISH

#define GS_FINISH   0x61

FINISH Event Occourence.

Definition at line 260 of file gsInit.h.

◆ GS_FOG

#define GS_FOG   0x0a

GS Vertex Fog Value.

Definition at line 176 of file gsInit.h.

◆ GS_FOGCOL

#define GS_FOGCOL   0x3d

GS Distant Fog Color.

Definition at line 212 of file gsInit.h.

◆ GS_FRAME

#define GS_FRAME   0x01

Frame Mode - Reads Every Line.

Definition at line 46 of file gsInit.h.

◆ GS_FRAME_1

#define GS_FRAME_1   0x4c

GS Frame Buffer (Context 1).

Definition at line 240 of file gsInit.h.

◆ GS_FRAME_2

#define GS_FRAME_2   0x4d

GS Frame Buffer (Context 2).

Definition at line 242 of file gsInit.h.

◆ GS_HWREG

#define GS_HWREG   0x54

Data Port for Transmission Between Buffers.

Definition at line 256 of file gsInit.h.

◆ GS_IMR

#define GS_IMR   ((volatile u64 *)(0x12001010))

GS IMR (GS Interrupt Mask) Register.

Definition at line 555 of file gsInit.h.

◆ GS_INTERLACED

#define GS_INTERLACED   0x01

Interlaced Mode.

Definition at line 41 of file gsInit.h.

◆ GS_LABEL

#define GS_LABEL   0x62

LABEL Event Occourence.

Definition at line 262 of file gsInit.h.

◆ GS_MIPTBP1_1

#define GS_MIPTBP1_1   0x34

GS MIPMAP Information for Levels 1-3 (Context 1).

Definition at line 202 of file gsInit.h.

◆ GS_MIPTBP1_2

#define GS_MIPTBP1_2   0x35

GS MIPMAP Information for Levels 1-3 (Context 2).

Definition at line 204 of file gsInit.h.

◆ GS_MIPTBP2_1

#define GS_MIPTBP2_1   0x36

GS MIPMAP Information for Levels 4-6 (Context 1).

Definition at line 206 of file gsInit.h.

◆ GS_MIPTBP2_2

#define GS_MIPTBP2_2   0x37

GS MIPMAP Information for Levels 4-6 (Context 2).

Definition at line 208 of file gsInit.h.

◆ GS_MODE_DTV_1080I

#define GS_MODE_DTV_1080I   0x51

DTV 1080 Interlaced (1920x1080).

Definition at line 103 of file gsInit.h.

◆ GS_MODE_DTV_480P

#define GS_MODE_DTV_480P   0x50

DTV 480 Progressive Scan (720x480).

Definition at line 99 of file gsInit.h.

◆ GS_MODE_DTV_576P

#define GS_MODE_DTV_576P   0x53

DTV 576 Progressive Scan (720x576).

Definition at line 101 of file gsInit.h.

◆ GS_MODE_DTV_720P

#define GS_MODE_DTV_720P   0x52

DTV 720 Progressive Scan (1280x720).

Definition at line 105 of file gsInit.h.

◆ GS_MODE_DVD_480P

#define GS_MODE_DVD_480P   0x74

DVD 480P.

Definition at line 112 of file gsInit.h.

◆ GS_MODE_DVD_NTSC

#define GS_MODE_DVD_NTSC   0x72

DVD NTSC.

Definition at line 108 of file gsInit.h.

◆ GS_MODE_DVD_PAL

#define GS_MODE_DVD_PAL   0x73

DVD PAL.

Definition at line 110 of file gsInit.h.

◆ GS_MODE_NTSC

#define GS_MODE_NTSC   0x02

NTSC Full Buffer.

Definition at line 61 of file gsInit.h.

◆ GS_MODE_PAL

#define GS_MODE_PAL   0x03

PAL Full Buffer.

Definition at line 63 of file gsInit.h.

◆ GS_MODE_VGA_1024_60

#define GS_MODE_VGA_1024_60   0x3B

VGA 1024x768 @ 60Hz.

Definition at line 85 of file gsInit.h.

◆ GS_MODE_VGA_1024_70

#define GS_MODE_VGA_1024_70   0x3C

VGA 1024x768 @ 70Hz.

Definition at line 87 of file gsInit.h.

◆ GS_MODE_VGA_1024_75

#define GS_MODE_VGA_1024_75   0x3D

VGA 1024x768 @ 75Hz.

Definition at line 89 of file gsInit.h.

◆ GS_MODE_VGA_1024_85

#define GS_MODE_VGA_1024_85   0x3E

VGA 1024x768 @ 85Hz.

Definition at line 91 of file gsInit.h.

◆ GS_MODE_VGA_1280_60

#define GS_MODE_VGA_1280_60   0x4A

VGA 1280x1024 @ 60Hz.

Definition at line 94 of file gsInit.h.

◆ GS_MODE_VGA_1280_75

#define GS_MODE_VGA_1280_75   0x4B

VGA 1280x1024 @ 75Hz.

Definition at line 96 of file gsInit.h.

◆ GS_MODE_VGA_640_60

#define GS_MODE_VGA_640_60   0x1A

VGA 640x480 @ 60Hz.

Definition at line 65 of file gsInit.h.

◆ GS_MODE_VGA_640_72

#define GS_MODE_VGA_640_72   0x1B

VGA 640x480 @ 72Hz.

Definition at line 67 of file gsInit.h.

◆ GS_MODE_VGA_640_75

#define GS_MODE_VGA_640_75   0x1C

VGA 640x480 @ 65Hz.

Definition at line 69 of file gsInit.h.

◆ GS_MODE_VGA_640_85

#define GS_MODE_VGA_640_85   0x1D

VGA 640x480 @ 85Hz.

Definition at line 71 of file gsInit.h.

◆ GS_MODE_VGA_800_56

#define GS_MODE_VGA_800_56   0x2A

VGA 800x600 @ 56Hz.

Definition at line 74 of file gsInit.h.

◆ GS_MODE_VGA_800_60

#define GS_MODE_VGA_800_60   0x2B

VGA 800x600 @ 60Hz.

Definition at line 76 of file gsInit.h.

◆ GS_MODE_VGA_800_72

#define GS_MODE_VGA_800_72   0x2C

VGA 800x600 @ 72Hz.

Definition at line 78 of file gsInit.h.

◆ GS_MODE_VGA_800_75

#define GS_MODE_VGA_800_75   0x2D

VGA 800x600 @ 75Hz.

Definition at line 80 of file gsInit.h.

◆ GS_MODE_VGA_800_85

#define GS_MODE_VGA_800_85   0x2E

VGA 800x600 @ 85Hz.

Definition at line 82 of file gsInit.h.

◆ GS_NONINTERLACED

#define GS_NONINTERLACED   0x00

Non-Interlaced Mode.

Definition at line 39 of file gsInit.h.

◆ GS_ONESHOT

#define GS_ONESHOT   0x01

Oneshot Draw Queue.

Definition at line 26 of file gsInit.h.

◆ GS_OS_PER

#define GS_OS_PER   0x01

Draw Persistent objects last, after oneshot objects.

Definition at line 36 of file gsInit.h.

◆ GS_PABE

#define GS_PABE   0x49

GS Alpha Blending (In Pixel Units).

Definition at line 234 of file gsInit.h.

◆ GS_PER_OS

#define GS_PER_OS   0x00

Draw Persistent objects first, before oneshot objects.

Definition at line 34 of file gsInit.h.

◆ GS_PERSISTENT

#define GS_PERSISTENT   0x00

Persistent Draw Queue.

Definition at line 24 of file gsInit.h.

◆ GS_PMODE

#define GS_PMODE   ((volatile u64 *)(0x12000000))

GS PCRTC (Merge Circuit) Registers.

Definition at line 605 of file gsInit.h.

◆ GS_PRIM

#define GS_PRIM   0x00

GS Primitive.

Definition at line 156 of file gsInit.h.

◆ GS_PRIM_PRIM_LINE

#define GS_PRIM_PRIM_LINE   0x01

GS Line Primitive.

Definition at line 269 of file gsInit.h.

◆ GS_PRIM_PRIM_LINESTRIP

#define GS_PRIM_PRIM_LINESTRIP   0x02

GS Line Strip Primitive.

Definition at line 271 of file gsInit.h.

◆ GS_PRIM_PRIM_POINT

#define GS_PRIM_PRIM_POINT   0x00

GS Point Primitive.

Definition at line 267 of file gsInit.h.

◆ GS_PRIM_PRIM_SPRITE

#define GS_PRIM_PRIM_SPRITE   0x06

GS Sprite Primitive.

Definition at line 279 of file gsInit.h.

◆ GS_PRIM_PRIM_TRIANGLE

#define GS_PRIM_PRIM_TRIANGLE   0x03

GS Triangle Primitive.

Definition at line 273 of file gsInit.h.

◆ GS_PRIM_PRIM_TRIFAN

#define GS_PRIM_PRIM_TRIFAN   0x05

GS Triangle Fan Primitive.

Definition at line 277 of file gsInit.h.

◆ GS_PRIM_PRIM_TRISTRIP

#define GS_PRIM_PRIM_TRISTRIP   0x04

GS Triangle Strip Primitive.

Definition at line 275 of file gsInit.h.

◆ GS_PRMODE

#define GS_PRMODE   0x1b

GS Primitive Mode.

Definition at line 196 of file gsInit.h.

◆ GS_PRMODECONT

#define GS_PRMODECONT   0x1a

GS Primitive Attribute Setting Mode.

Definition at line 194 of file gsInit.h.

◆ GS_PSM_CT16

#define GS_PSM_CT16   0x02

RGBA16 Texture.

Definition at line 119 of file gsInit.h.

◆ GS_PSM_CT16S

#define GS_PSM_CT16S   0x0A

RGBA16 Texture ?

Definition at line 121 of file gsInit.h.

◆ GS_PSM_CT24

#define GS_PSM_CT24   0x01

R8 G8 B8 (RGB24) Texture.

Definition at line 117 of file gsInit.h.

◆ GS_PSM_CT32

#define GS_PSM_CT32   0x00

R8 G8 B8 A8 (RGBA32) Texture.

Definition at line 115 of file gsInit.h.

◆ GS_PSM_T4

#define GS_PSM_T4   0x14

4 Bit Texture with CLUT

Definition at line 127 of file gsInit.h.

◆ GS_PSM_T4HH

#define GS_PSM_T4HH   0x2C

4 Bit Texture with CLUT ?

Definition at line 131 of file gsInit.h.

◆ GS_PSM_T4HL

#define GS_PSM_T4HL   0x24

4 Bit Texture with CLUT ?

Definition at line 129 of file gsInit.h.

◆ GS_PSM_T8

#define GS_PSM_T8   0x13

8 Bit Texture with CLUT

Definition at line 123 of file gsInit.h.

◆ GS_PSM_T8H

#define GS_PSM_T8H   0x1B

8 Bit Texture with CLUT ?

Definition at line 125 of file gsInit.h.

◆ GS_PSMZ_16

#define GS_PSMZ_16   0x02

RGBA16 ZBuffer.

Definition at line 138 of file gsInit.h.

◆ GS_PSMZ_16S

#define GS_PSMZ_16S   0x0A

RGBA16 ZBuffer ?

Definition at line 140 of file gsInit.h.

◆ GS_PSMZ_24

#define GS_PSMZ_24   0x01

R8 G8 B8 (RGB24) ZBuffer.

Definition at line 136 of file gsInit.h.

◆ GS_PSMZ_32

#define GS_PSMZ_32   0x00

R8 G8 B8 A8 (RGBA32) ZBuffer.

Definition at line 134 of file gsInit.h.

◆ GS_RENDER_QUEUE_OS_POOLSIZE

#define GS_RENDER_QUEUE_OS_POOLSIZE   1024 * 1024

Size of Oneshot drawbuffer (Double Buffered, so it uses this size * 2).

Definition at line 31 of file gsInit.h.

◆ GS_RENDER_QUEUE_PER_POOLSIZE

#define GS_RENDER_QUEUE_PER_POOLSIZE   1024 * 256

Size of Persistent drawbuffer (Single Buffered).

Definition at line 29 of file gsInit.h.

◆ GS_RESET

#define GS_RESET ( )
Value:
*GS_CSR = ((u64)(1) << 9)
#define GS_CSR
GS CSR (GS System Status) Register.
Definition gsInit.h:540

GS Reset Macro.

Definition at line 502 of file gsInit.h.

◆ GS_RGBAQ

#define GS_RGBAQ   0x01

GS Color in RGBAQ Format.

Definition at line 158 of file gsInit.h.

◆ GS_SCANMSK

#define GS_SCANMSK   0x22

GS Raster Address Mask.

Definition at line 200 of file gsInit.h.

◆ GS_SCISSOR_1

#define GS_SCISSOR_1   0x40

GS Scissoring Area (Context 1).

Definition at line 216 of file gsInit.h.

◆ GS_SCISSOR_2

#define GS_SCISSOR_2   0x41

GS Scissoring Area (Context 2).

Definition at line 218 of file gsInit.h.

◆ GS_SET_BGCOLOR

#define GS_SET_BGCOLOR ( R,
G,
B )
Value:
((u64)(R) << 0) | \
((u64)(G) << 8) | \
((u64)(B) << 16)
#define GS_BGCOLOR
GS Background Color Register.
Definition gsInit.h:728

GS Background Color Register Access Macro.

Definition at line 731 of file gsInit.h.

◆ GS_SET_DISPFB1

#define GS_SET_DISPFB1 ( FBP,
FBW,
PSM,
DBX,
DBY )
Value:
((u64)(FBP) << 0) | \
((u64)(FBW) << 9) | \
((u64)(PSM) << 15) | \
((u64)(DBX) << 32) | \
((u64)(DBY) << 43)
#define GS_DISPFB1
GS Framebuffer Register (Output Circuit 1).
Definition gsInit.h:617

GS Framebuffer Register Access Macro (Output Circuit 1).

Definition at line 684 of file gsInit.h.

◆ GS_SET_DISPFB2

#define GS_SET_DISPFB2 ( FBP,
FBW,
PSM,
DBX,
DBY )
Value:
((u64)(FBP) << 0) | \
((u64)(FBW) << 9) | \
((u64)(PSM) << 15) | \
((u64)(DBX) << 32) | \
((u64)(DBY) << 43)
#define GS_DISPFB2
GS Framebuffer Register (Output Circuit 2).
Definition gsInit.h:620

GS Framebuffer Register Access Macro (Output Circuit 2).

Definition at line 693 of file gsInit.h.

◆ GS_SET_DISPLAY1

#define GS_SET_DISPLAY1 ( DX,
DY,
MAGH,
MAGV,
DW,
DH )
Value:
((u64)(DX) << 0) | \
((u64)(DY) << 12) | \
((u64)(MAGH) << 23) | \
((u64)(MAGV) << 27) | \
((u64)(DW) << 32) | \
((u64)(DH) << 44)
#define GS_DISPLAY1
GS Display Settings Register (Output Circuit 1).
Definition gsInit.h:702

GS Display Settings Register Access Macro (Output Circuit 1).

Definition at line 705 of file gsInit.h.

◆ GS_SET_DISPLAY2

#define GS_SET_DISPLAY2 ( DX,
DY,
MAGH,
MAGV,
DW,
DH )
Value:
((u64)(DX) << 0) | \
((u64)(DY) << 12) | \
((u64)(MAGH) << 23) | \
((u64)(MAGV) << 27) | \
((u64)(DW) << 32) | \
((u64)(DH) << 44)
#define GS_DISPLAY2
GS Display Settings Register (Output Circuit 2).
Definition gsInit.h:715

GS Display Settings Register Access Macro (Output Circuit 2).

Definition at line 718 of file gsInit.h.

◆ GS_SET_EXTBUF

#define GS_SET_EXTBUF ( EXBP,
EXBW,
FBIN,
WFFMD,
EMODA,
EMODC,
WDX,
WDY )
Value:
*GS_EXTBUF = \
((u64)(EXBP) << 0) | \
((u64)(EXBW) << 14) | \
((u64)(FBIN) << 20) | \
((u64)(WFFMD) << 22) | \
((u64)(EMODA) << 23) | \
((u64)(EMODC) << 25) | \
((u64)(WDX) << 32) | \
((u64)(WDY) << 43)

GS PCRTC (Merge Circuit) EXTBUF Register Access Macro.

Definition at line 656 of file gsInit.h.

◆ GS_SET_EXTDATA

#define GS_SET_EXTDATA ( SX,
SY,
SMPH,
SMPV,
WW,
WH )
Value:
*GS_EXTDATA = \
((u64)(SX) << 0) | \
((u64)(SY) << 12) | \
((u64)(SMPH) << 23) | \
((u64)(SMPV) << 27) | \
((u64)(WW) << 32) | \
((u64)(WH) << 44)

GS PCRTC (Merge Circuit) EXTDATA Register Access Macro.

Definition at line 668 of file gsInit.h.

◆ GS_SET_EXTWRITE

#define GS_SET_EXTWRITE ( WRITE)
Value:
*GS_EXTWRITE = \
((u64)(WRITE) << 0)

GS PCRTC (Merge Circuit) EXTWRITE Register Access Macro.

Definition at line 678 of file gsInit.h.

◆ GS_SET_PMODE

#define GS_SET_PMODE ( EN1,
EN2,
MMOD,
AMOD,
SLBG,
ALP )
Value:
((u64)(EN1) << 0) | \
((u64)(EN2) << 1) | \
((u64)(001) << 2) | \
((u64)(MMOD) << 5) | \
((u64)(AMOD) << 6) | \
((u64)(SLBG) << 7) | \
((u64)(ALP) << 8)
#define GS_PMODE
GS PCRTC (Merge Circuit) Registers.
Definition gsInit.h:605

GS PCRTC (Merge Circuit) Register Access Macro.

Definition at line 623 of file gsInit.h.

◆ GS_SET_PMODE_EXT

#define GS_SET_PMODE_EXT ( EN1,
EN2,
CRTMD,
MMOD,
AMOD,
SLBG,
ALP,
NFLD,
EXVWINS,
EXVWINE,
EVSYNCMD )
Value:
((u64)(EN1) << 0) | \
((u64)(EN2) << 1) | \
((u64)(CRTMD) << 2) | \
((u64)(MMOD) << 5) | \
((u64)(AMOD) << 6) | \
((u64)(SLBG) << 7) | \
((u64)(ALP) << 8) | \
((u64)(NFLD) << 16) | \
((u64)(EXVWINS) << 32) | \
((u64)(EXVWINE) << 42) | \
((u64)(EVSYNCMD) << 52)

GS PCRTC (Merge Circuit) Register Access Macro (Extended for EXTBUF External Digital In).

Definition at line 641 of file gsInit.h.

◆ GS_SET_SMODE2

#define GS_SET_SMODE2 ( INT,
FFMD,
DPMS )
Value:
*GS_SMODE2 = \
((u64)(INT) << 0) | \
((u64)(FFMD) << 1) | \
((u64)(DPMS) << 2)

Setting For Modes Related to Video Synchronization.

Definition at line 634 of file gsInit.h.

◆ GS_SETREG_ALPHA

#define GS_SETREG_ALPHA ( A,
B,
C,
D,
FIX )
Value:
((u64)(A) << 0) | \
((u64)(B) << 2) | \
((u64)(C) << 4) | \
((u64)(D) << 6) | \
((u64)(FIX) << 32)

GS ALPHA Packing Macro.

Definition at line 796 of file gsInit.h.

◆ GS_SETREG_BUSDIR

#define GS_SETREG_BUSDIR ( A)
Value:
*GS_BUSDIR = ((u64)(A))
#define GS_BUSDIR
GS BUSDIR (GS Bus Direction) Register.
Definition gsInit.h:549

GS BUSDIR Register Writing Routine.

Definition at line 552 of file gsInit.h.

◆ GS_SETREG_CLAMP

#define GS_SETREG_CLAMP ( wms,
wmt,
minu,
maxu,
minv,
maxv )
Value:
((u64)(wms) | ((u64)(wmt) << 2) | \
((u64)(minu) << 4) | ((u64)(maxu) << 14) | \
((u64)(minv) << 24) | ((u64)(maxv) << 34))

GS CLAMP Packing Macro.

Definition at line 790 of file gsInit.h.

◆ GS_SETREG_CLAMP_1

#define GS_SETREG_CLAMP_1   GS_SET_CLAMP

See GS_SETREG_CLAMP.

Definition at line 786 of file gsInit.h.

◆ GS_SETREG_CLAMP_2

#define GS_SETREG_CLAMP_2   GS_SET_CLAMP

See GS_SETREG_CLAMP.

Definition at line 788 of file gsInit.h.

◆ GS_SETREG_COLCLAMP

#define GS_SETREG_COLCLAMP ( clamp)
Value:
((u64)(clamp))

GS COLCLAMP Packing Macro.

Definition at line 765 of file gsInit.h.

◆ GS_SETREG_CSR

#define GS_SETREG_CSR ( A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L )
Value:
(u64)(A & 0x00000001) << 0 | (u64)(B & 0x00000001) << 1 | \
(u64)(C & 0x00000001) << 2 | (u64)(D & 0x00000001) << 3 | \
(u64)(E & 0x00000001) << 4 | (u64)(F & 0x00000001) << 8 | \
(u64)(G & 0x00000001) << 9 | (u64)(H & 0x00000001) << 12 | \
(u64)(I & 0x00000001) << 13 | (u64)(J & 0x00000003) << 14 | \
(u64)(K & 0x000000FF) << 16 | (u64)(L & 0x000000FF) << 24

GS CSR (GS System Status) Register Access Macro.

Definition at line 561 of file gsInit.h.

◆ GS_SETREG_CSR_FINISH

#define GS_SETREG_CSR_FINISH ( A)
Value:
*GS_CSR = ((u64)(A) << 1)

CSR FINISH Register Writing Routine.

Definition at line 546 of file gsInit.h.

◆ GS_SETREG_DIMX

#define GS_SETREG_DIMX ( A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P )
Value:
((u64)(A) << 0) | ((u64)(B) << 4) | ((u64)(C) << 8) | ((u64)(D) << 12) | \
((u64)(E) << 16) | ((u64)(F) << 20) | ((u64)(G) << 24) | ((u64)(H) << 28) | \
((u64)(I) << 32) | ((u64)(J) << 36) | ((u64)(K) << 40) | ((u64)(L) << 44) | \
((u64)(M) << 48) | ((u64)(N) << 52) | ((u64)(0) << 56) | ((u64)(P) << 60)

GS DIMX Packing Macro from dma.h in ps2sdk.

Definition at line 808 of file gsInit.h.

◆ GS_SETREG_FRAME

#define GS_SETREG_FRAME ( fbp,
fbw,
psm,
fbmask )
Value:
((u64)(fbp) | ((u64)(fbw) << 16) | \
((u64)(psm) << 24) | ((u64)(fbmask) << 32))

GS FRAME Packing Macro.

Definition at line 772 of file gsInit.h.

◆ GS_SETREG_FRAME_1

#define GS_SETREG_FRAME_1   GS_SETREG_FRAME

See GS_SETREG_FRAME.

Definition at line 768 of file gsInit.h.

◆ GS_SETREG_FRAME_2

#define GS_SETREG_FRAME_2   GS_SETREG_FRAME

See GS_SETREG_FRAME.

Definition at line 770 of file gsInit.h.

◆ GS_SETREG_RGBA

#define GS_SETREG_RGBA ( r,
g,
b,
a )
Value:
((u64)(r) | ((u64)(g) << 8) | ((u64)(b) << 16) | ((u64)(a) << 24))

Object Creation Macro for RGBA Color Values.

Definition at line 584 of file gsInit.h.

◆ GS_SETREG_RGBAQ

#define GS_SETREG_RGBAQ ( r,
g,
b,
a,
q )
Value:
((u64)(r) | ((u64)(g) << 8) | ((u64)(b) << 16) | \
((u64)(a) << 24) | ((u64)(q) << 32))

Object Creation Macro for RGBAQ Color Values.

Definition at line 579 of file gsInit.h.

◆ GS_SETREG_SCISSOR

#define GS_SETREG_SCISSOR ( scax0,
scax1,
scay0,
scay1 )
Value:
((u64)(scax0) | ((u64)(scax1) << 16) | \
((u64)(scay0) << 32) | ((u64)(scay1) << 48))

GS SCISSOR Packing Macro.

Definition at line 781 of file gsInit.h.

◆ GS_SETREG_SCISSOR_1

#define GS_SETREG_SCISSOR_1   GS_SETREG_SCISSOR

See GS_SETREG_SCISSOR.

Definition at line 777 of file gsInit.h.

◆ GS_SETREG_SCISSOR_2

#define GS_SETREG_SCISSOR_2   GS_SETREG_SCISSOR

See GS_SETREG_SCISSOR.

Definition at line 779 of file gsInit.h.

◆ GS_SETREG_TEST

#define GS_SETREG_TEST ( ate,
atst,
aref,
afail,
date,
datm,
zte,
ztst )
Value:
((u64)(ate) | ((u64)(atst) << 1) | \
((u64)(aref) << 4) | ((u64)(afail) << 12) | \
((u64)(date) << 14) | ((u64)(datm) << 15) | \
((u64)(zte) << 16) | ((u64)(ztst) << 17))

GS TEST Packing Macro.

Definition at line 758 of file gsInit.h.

◆ GS_SETREG_TEST_1

#define GS_SETREG_TEST_1   GS_SETREG_TEST

See GS_SETREG_TEST.

Definition at line 754 of file gsInit.h.

◆ GS_SETREG_TEST_2

#define GS_SETREG_TEST_2   GS_SETREG_TEST

See GS_SETREG_TEST.

Definition at line 756 of file gsInit.h.

◆ GS_SETREG_XYOFFSET

#define GS_SETREG_XYOFFSET ( ofx,
ofy )
Value:
((u64)(ofx) | ((u64)(ofy) << 32))

GS XYOffset Packing Macro.

Definition at line 742 of file gsInit.h.

◆ GS_SETREG_XYOFFSET_1

#define GS_SETREG_XYOFFSET_1   GS_SETREG_XYOFFSET

See GS_SETREG_XYOFFSET.

Definition at line 738 of file gsInit.h.

◆ GS_SETREG_XYOFFSET_2

#define GS_SETREG_XYOFFSET_2   GS_SETREG_XYOFFSET

See GS_SETREG_XYOFFSET.

Definition at line 740 of file gsInit.h.

◆ GS_SETREG_XYZ

#define GS_SETREG_XYZ ( x,
y,
z )
Value:
((u64)(x) | ((u64)(y) << 16) | ((u64)(z) << 32))

GS Vertex Value (Root Macro, XYZ2 and XYZ3 Call This) Object Creation Macro.

Definition at line 592 of file gsInit.h.

◆ GS_SETREG_XYZ2

#define GS_SETREG_XYZ2   GS_SETREG_XYZ

GS Vertex Value Object Creation Macro.

Definition at line 590 of file gsInit.h.

◆ GS_SETREG_XYZ3

#define GS_SETREG_XYZ3   GS_SETREG_XYZ

GS Vertex Value (Without Drawing Kick) Object Creation Macro.

Definition at line 588 of file gsInit.h.

◆ GS_SETREG_XYZF

#define GS_SETREG_XYZF ( x,
y,
z,
f )
Value:
((u64)(x) | ((u64)(y) << 16) | ((u64)(z) << 32) | \
((u64)(f) << 56))

GS Vertex Value With Fog Coefficent (Root Macro, XYZF2 and XYZF3 Call This) Object Creation Macro.

Definition at line 600 of file gsInit.h.

◆ GS_SETREG_XYZF2

#define GS_SETREG_XYZF2   GS_SETREG_XYZF

GS Vertex Value With Fog Coefficent Object Creation Macro.

Definition at line 598 of file gsInit.h.

◆ GS_SETREG_XYZF3

#define GS_SETREG_XYZF3   GS_SETREG_XYZF

GS Vertex Value With Fog Coefficent (Without Drawing Kick) Object Creation Macro.

Definition at line 596 of file gsInit.h.

◆ GS_SETREG_ZBUF

#define GS_SETREG_ZBUF ( zbp,
psm,
zmsk )
Value:
((u64)(zbp) | ((u64)(psm) << 24) | \
((u64)(zmsk) << 32))

GS ZBUF Packing Macro.

Definition at line 749 of file gsInit.h.

◆ GS_SETREG_ZBUF_1

#define GS_SETREG_ZBUF_1   GS_SETREG_ZBUF

See GS_SETREG_ZBUF.

Definition at line 745 of file gsInit.h.

◆ GS_SETREG_ZBUF_2

#define GS_SETREG_ZBUF_2   GS_SETREG_ZBUF

See GS_SETREG_ZBUF.

Definition at line 747 of file gsInit.h.

◆ GS_SETTING_OFF

#define GS_SETTING_OFF   0x00

Define a setting to be OFF.

Definition at line 148 of file gsInit.h.

◆ GS_SETTING_ON

#define GS_SETTING_ON   0x01

Define a setting to be ON.

Definition at line 151 of file gsInit.h.

◆ GS_SIGNAL

#define GS_SIGNAL   0x60

SIGNAL Event Occourence.

Definition at line 258 of file gsInit.h.

◆ GS_SIGNALID

#define GS_SIGNALID   ((volatile u64 *)(0x12001080))

GS SIGNALID (GS SIGNALID/LABELID) Register.

Definition at line 558 of file gsInit.h.

◆ GS_SMODE1

#define GS_SMODE1   ((volatile u64 *)(0x12000010))

Definition at line 606 of file gsInit.h.

◆ GS_SMODE2

#define GS_SMODE2   ((volatile u64 *)(0x12000020))

Definition at line 607 of file gsInit.h.

◆ GS_SRFSH

#define GS_SRFSH   ((volatile u64 *)(0x12000030))

Definition at line 608 of file gsInit.h.

◆ GS_ST

#define GS_ST   0x02

GS Texture Coordinate Value in Texture Coordinates.

Definition at line 160 of file gsInit.h.

◆ GS_SYNCH1

#define GS_SYNCH1   ((volatile u64 *)(0x12000040))

Definition at line 609 of file gsInit.h.

◆ GS_SYNCH2

#define GS_SYNCH2   ((volatile u64 *)(0x12000050))

Definition at line 610 of file gsInit.h.

◆ GS_SYNCV

#define GS_SYNCV   ((volatile u64 *)(0x12000060))

Definition at line 611 of file gsInit.h.

◆ GS_TEST_1

#define GS_TEST_1   0x47

GS TEST (Context 1).

Definition at line 230 of file gsInit.h.

◆ GS_TEST_2

#define GS_TEST_2   0x48

GS TEST (Context 2).

Definition at line 232 of file gsInit.h.

◆ GS_TEX0_1

#define GS_TEX0_1   0x06

GS Texture Information Settings (Context 1).

Definition at line 168 of file gsInit.h.

◆ GS_TEX0_2

#define GS_TEX0_2   0x07

GS Texture Information Settings (Context 2).

Definition at line 170 of file gsInit.h.

◆ GS_TEX1_1

#define GS_TEX1_1   0x14

GS Texture Information Settings (Context 1).

Definition at line 182 of file gsInit.h.

◆ GS_TEX1_2

#define GS_TEX1_2   0x15

GS Texture Information Settings (Context 2).

Definition at line 184 of file gsInit.h.

◆ GS_TEX2_1

#define GS_TEX2_1   0x16

GS Texture Information Settings (Context 1).

Definition at line 186 of file gsInit.h.

◆ GS_TEX2_2

#define GS_TEX2_2   0x17

GS Texture Information Settings (Context 2).

Definition at line 188 of file gsInit.h.

◆ GS_TEXA

#define GS_TEXA   0x3b

GS Texture Alpha Value.

Definition at line 210 of file gsInit.h.

◆ GS_TEXCLUT

#define GS_TEXCLUT   0x1c

GS Texture CLUT Location.

Definition at line 198 of file gsInit.h.

◆ GS_TEXFLUSH

#define GS_TEXFLUSH   0x3f

GS Texture Page Buffer.

Definition at line 214 of file gsInit.h.

◆ GS_TRXDIR

#define GS_TRXDIR   0x53

GS Activation for Transmission Between Buffers.

Definition at line 254 of file gsInit.h.

◆ GS_TRXPOS

#define GS_TRXPOS   0x51

GS Specificiation for Transmission Area in Buffers.

Definition at line 250 of file gsInit.h.

◆ GS_TRXREG

#define GS_TRXREG   0x52

GS Specificiation for Transmission Area in Buffers.

Definition at line 252 of file gsInit.h.

◆ GS_UV

#define GS_UV   0x03

GS Texture Coordinate Value in Texel Coordinates.

Definition at line 162 of file gsInit.h.

◆ GS_XYOFFSET_1

#define GS_XYOFFSET_1   0x18

GS Offset Value.

Definition at line 190 of file gsInit.h.

◆ GS_XYOFFSET_2

#define GS_XYOFFSET_2   0x19

GS Offset Value.

Definition at line 192 of file gsInit.h.

◆ GS_XYZ2

#define GS_XYZ2   0x05

GS Vertex Coordinate Value.

Definition at line 166 of file gsInit.h.

◆ GS_XYZ3

#define GS_XYZ3   0x0d

GS Vertex Coordinate Value (Without Drawing Kick).

Definition at line 180 of file gsInit.h.

◆ GS_XYZF2

#define GS_XYZF2   0x04

GS Vertex Coordinate Value With Fog Coefficent.

Definition at line 164 of file gsInit.h.

◆ GS_XYZF3

#define GS_XYZF3   0x0c

GS Vertex Coordinate Value With Fog Coefficent (Without Drawing Kick).

Definition at line 178 of file gsInit.h.

◆ GS_ZBUF_1

#define GS_ZBUF_1   0x4e

GS Z Buffer (Context 1).

Definition at line 244 of file gsInit.h.

◆ GS_ZBUF_2

#define GS_ZBUF_2   0x4f

GS Z Buffer (Context 2).

Definition at line 246 of file gsInit.h.

◆ gsKit_detect_signal

#define gsKit_detect_signal ( )
Value:
short int gsKit_check_rom(void)
Checks the console's capabilities based on the ROM version (returns default video format: GS_MODE_NTS...
Definition gsInit.c:28

Detect signal (returns GS_MODE_NTSC or GS_MODE_PAL).

Definition at line 1126 of file gsInit.h.

◆ GSKIT_GIF_FLG_IMAGE

#define GSKIT_GIF_FLG_IMAGE   2

Definition at line 301 of file gsInit.h.

◆ GSKIT_GIF_FLG_PACKED

#define GSKIT_GIF_FLG_PACKED   0

gsKit GIFTAG data format "FLG"

Definition at line 299 of file gsInit.h.

◆ GSKIT_GIF_FLG_REGLIST

#define GSKIT_GIF_FLG_REGLIST   1

Definition at line 300 of file gsInit.h.

◆ GSKIT_GIF_PRIM_LINE

#define GSKIT_GIF_PRIM_LINE   0x1100

Definition at line 283 of file gsInit.h.

◆ GSKIT_GIF_PRIM_LINESTRIP

#define GSKIT_GIF_PRIM_LINESTRIP   0x1200

Definition at line 284 of file gsInit.h.

◆ GSKIT_GIF_PRIM_POINT

#define GSKIT_GIF_PRIM_POINT   0x1000

gsKit GIFTAG REGLIST mode PRIM Identifiers

Definition at line 282 of file gsInit.h.

◆ GSKIT_GIF_PRIM_QUAD

#define GSKIT_GIF_PRIM_QUAD   0x1700

Definition at line 289 of file gsInit.h.

◆ GSKIT_GIF_PRIM_QUAD_GOURAUD

#define GSKIT_GIF_PRIM_QUAD_GOURAUD   0x1900

Definition at line 291 of file gsInit.h.

◆ GSKIT_GIF_PRIM_QUAD_TEXTURED

#define GSKIT_GIF_PRIM_QUAD_TEXTURED   0x1E00

Definition at line 296 of file gsInit.h.

◆ GSKIT_GIF_PRIM_SPRITE

#define GSKIT_GIF_PRIM_SPRITE   0x1600

Definition at line 288 of file gsInit.h.

◆ GSKIT_GIF_PRIM_SPRITE_TEXTURED

#define GSKIT_GIF_PRIM_SPRITE_TEXTURED   0x1A00

Definition at line 292 of file gsInit.h.

◆ GSKIT_GIF_PRIM_TRIANGLE

#define GSKIT_GIF_PRIM_TRIANGLE   0x1300

Definition at line 285 of file gsInit.h.

◆ GSKIT_GIF_PRIM_TRIANGLE_GOURAUD

#define GSKIT_GIF_PRIM_TRIANGLE_GOURAUD   0x1800

Definition at line 290 of file gsInit.h.

◆ GSKIT_GIF_PRIM_TRIANGLE_TEXTURED

#define GSKIT_GIF_PRIM_TRIANGLE_TEXTURED   0x1B00

Definition at line 293 of file gsInit.h.

◆ GSKIT_GIF_PRIM_TRIFAN

#define GSKIT_GIF_PRIM_TRIFAN   0x1500

Definition at line 287 of file gsInit.h.

◆ GSKIT_GIF_PRIM_TRIFAN_TEXTURED

#define GSKIT_GIF_PRIM_TRIFAN_TEXTURED   0x1D00

Definition at line 295 of file gsInit.h.

◆ GSKIT_GIF_PRIM_TRISTRIP

#define GSKIT_GIF_PRIM_TRISTRIP   0x1400

Definition at line 286 of file gsInit.h.

◆ GSKIT_GIF_PRIM_TRISTRIP_TEXTURED

#define GSKIT_GIF_PRIM_TRISTRIP_TEXTURED   0x1C00

Definition at line 294 of file gsInit.h.

◆ gsKit_init_global

#define gsKit_init_global ( )
Value:
GSGLOBAL * gsKit_init_global_custom(int Os_AllocSize, int Per_AllocSize)
Initialize gsGlobal (With Specified Sizes (In Bytes) for the Persistent and Oneshot drawbuffers).
Definition gsInit.c:468
#define GS_RENDER_QUEUE_PER_POOLSIZE
Size of Persistent drawbuffer (Single Buffered).
Definition gsInit.h:29
#define GS_RENDER_QUEUE_OS_POOLSIZE
Size of Oneshot drawbuffer (Double Buffered, so it uses this size * 2).
Definition gsInit.h:31

Definition at line 1138 of file gsInit.h.

◆ GSKIT_PREFETCH

#define GSKIT_PREFETCH ( address)
Value:
asm __volatile__("pref 0, 0(%0)" : : "r" (address));

Data cache prefetch (thx emoon!).

Definition at line 499 of file gsInit.h.

◆ gsKit_reset_screen

#define gsKit_reset_screen ( gsGlobal)
Value:
void gsKit_init_screen(GSGLOBAL *gsGlobal)
Initialize Screen and GS Registers.
Definition gsInit.c:238

Definition at line 1135 of file gsInit.h.

Typedef Documentation

◆ GSBGCOLOR

typedef struct gsBGColor GSBGCOLOR

Definition at line 821 of file gsInit.h.

◆ GSCLAMP

typedef struct gsClamp GSCLAMP

Definition at line 847 of file gsInit.h.

◆ GSGLOBAL

typedef struct gsGlobal GSGLOBAL

Definition at line 949 of file gsInit.h.

◆ GSPRIMPOINT

typedef struct gsPrimPoint GSPRIMPOINT

Definition at line 1074 of file gsInit.h.

◆ GSPRIMSTQPOINT

typedef struct gsPrimSTQPoint GSPRIMSTQPOINT

Definition at line 1097 of file gsInit.h.

◆ GSPRIMUVPOINT

typedef struct gsPrimUVPoint GSPRIMUVPOINT

Definition at line 1082 of file gsInit.h.

◆ GSPRIMUVPOINTFLAT

typedef struct gsPrimUVPointFlat GSPRIMUVPOINTFLAT

Definition at line 1089 of file gsInit.h.

◆ GSQUEUE

typedef struct gsQueue GSQUEUE

Definition at line 873 of file gsInit.h.

◆ GSREG

typedef struct gsRegisters GSREG

Definition at line 1117 of file gsInit.h.

◆ GSTEST

typedef struct gsTest GSTEST

Definition at line 835 of file gsInit.h.

◆ GSTEXTURE

typedef struct gsTexture GSTEXTURE

Definition at line 969 of file gsInit.h.

Function Documentation

◆ gsKit_check_rom()

short int gsKit_check_rom ( void )

Checks the console's capabilities based on the ROM version (returns default video format: GS_MODE_NTSC or GS_MODE_PAL).

Definition at line 28 of file gsInit.c.

◆ gsKit_deinit_global()

void gsKit_deinit_global ( GSGLOBAL * gsGlobal)

Definition at line 558 of file gsInit.c.

◆ gsKit_init_global_custom()

GSGLOBAL * gsKit_init_global_custom ( int Os_AllocSize,
int Per_AllocSize )

Initialize gsGlobal (With Specified Sizes (In Bytes) for the Persistent and Oneshot drawbuffers).

Definition at line 468 of file gsInit.c.

◆ gsKit_init_screen()

void gsKit_init_screen ( GSGLOBAL * gsGlobal)

Initialize Screen and GS Registers.

Definition at line 238 of file gsInit.c.

◆ gsKit_set_display_offset()

void gsKit_set_display_offset ( GSGLOBAL * gsGlobal,
int x,
int y )

Position the framebuffer onto the display.

Definition at line 46 of file gsInit.c.

Variable Documentation

◆ cbw

u32 cbw

Definition at line 0 of file gsInit.h.

◆ cou

u32 cou

Definition at line 1 of file gsInit.h.

◆ cov

u32 cov

Definition at line 2 of file gsInit.h.

◆ unused

u32 unused

Definition at line 4 of file gsInit.h.

◆ unused_bits

u32 unused_bits

Definition at line 3 of file gsInit.h.