constantGAMMA_EN($00008)// VI Status/Control: Gamma Enable (Gamma Boost For YUV Images) (Bit 3)
constantDIVOT_EN($00010)// VI Status/Control: Divot Enable (Used With Anti-alias) (Bit 4)
constantVBUS_CLK_EN($00020)// VI Status/Control: Video Bus Clock Enable (Bit 5)
constantINTERLACE($00040)// VI Status/Control: Interlace/Serrate (Used With Interlaced Display) (Bit 6)
constantTST_MODE($00080)// VI Status/Control: Test Mode (Bit 7)
constantAA_MODE_0($00000)// VI Status/Control: AA Mode 0 = Anti-alias&Resample (Always FetchExtra Lines) (Bit 8..9)
constantAA_MODE_1($00100)// VI Status/Control: AA Mode 1 = Anti-alias&Resample (FetchExtra Lines WhenNeeded) (Bit 8..9)
constantAA_MODE_2($00200)// VI Status/Control: AA Mode 2 = Resample Only (Bit 8..9)
constantAA_MODE_3($00300)// VI Status/Control: AA Mode 3 = ReplicatePixels &NoInterpolation (Bit 8..9)
constantDIAG_0($00400)// VI Status/Control: Diagnotic 0 (Bit 10..11)
constantDIAG_1($00800)// VI Status/Control: Diagnotic 1 (Bit 10..11)
constantPIXEL_ADV_0($00000)// VI Status/Control: Pixel Advance 0 (Bit 12..15)
constantPIXEL_ADV_1($01000)// VI Status/Control: Pixel Advance 1 (Bit 12..15)
constantPIXEL_ADV_2($02000)// VI Status/Control: Pixel Advance 2 (Bit 12..15)
constantPIXEL_ADV_3($03000)// VI Status/Control: Pixel Advance 3 (Bit 12..15)
constantPIXEL_ADV_4($04000)// VI Status/Control: Pixel Advance 4 (Bit 12..15)
constantPIXEL_ADV_5($05000)// VI Status/Control: Pixel Advance 5 (Bit 12..15)
constantPIXEL_ADV_6($06000)// VI Status/Control: Pixel Advance 6 (Bit 12..15)
constantPIXEL_ADV_7($07000)// VI Status/Control: Pixel Advance 7 (Bit 12..15)
constantPIXEL_ADV_8($08000)// VI Status/Control: Pixel Advance 8 (Bit 12..15)
constantPIXEL_ADV_9($09000)// VI Status/Control: Pixel Advance 9 (Bit 12..15)
constantPIXEL_ADV_A($0A000)// VI Status/Control: Pixel Advance A (Bit 12..15)
constantPIXEL_ADV_B($0B000)// VI Status/Control: Pixel Advance B (Bit 12..15)
constantPIXEL_ADV_C($0C000)// VI Status/Control: Pixel Advance C (Bit 12..15)
constantPIXEL_ADV_D($0D000)// VI Status/Control: Pixel Advance D (Bit 12..15)
constantPIXEL_ADV_E($0E000)// VI Status/Control: Pixel Advance E (Bit 12..15)
constantPIXEL_ADV_F($0F000)// VI Status/Control: Pixel Advance F (Bit 12..15)
constantDITHER_FILTER_EN($10000)// VI Status/Control: Dither Filter Enable (Used With 16BPP Display) (Bit 16)
macroScreenNTSC(width,height,status,origin){
luia0,VI_BASE// A0 = VI Base Register ($A4400000)
lit0,{status}// T0 = Status/Control
swt0,VI_STATUS(a0)// Store Status/Control To VI Status Register ($A4400000)
lat0,{origin}// T0 = Origin (Frame Buffer Origin In Bytes)
swt0,VI_ORIGIN(a0)// Store Origin To VI Origin Register ($A4400004)
llit0,{width}// T0 = Width (Frame Buffer Line Width In Pixels)
swt0,VI_WIDTH(a0)// Store Width To VI Width Register ($A4400008)
llit0,$200// T0 = Vertical Interrupt (Interrupt When Current Half-Line $200)
swt0,VI_V_INTR(a0)// Store Vertical Interrupt To VI Interrupt Register ($A440000C)
llit0,0// T0 = Current Vertical Line (Current Half-Line, Sampled Once Per Line = 0)
swt0,VI_V_CURRENT_LINE(a0)// Store Current Vertical Line To VI Current Register ($A4400010)
lit0,$3E52239// T0 = Video Timing (Start Of Color Burst In Pixels from H-Sync = 3, Vertical Sync Width In Half Lines = 229, Color Burst Width In Pixels = 34, Horizontal Sync Width In Pixels = 57)
swt0,VI_TIMING(a0)// Store Video Timing To VI Burst Register ($A4400014)
llit0,$20D// T0 = Vertical Sync (Number Of Half-Lines Per Field = 525)
swt0,VI_V_SYNC(a0)// Store Vertical Sync To VI V Sync Register ($A4400018)
llit0,$C15// T0 = Horizontal Sync (5-bit Leap Pattern Used For PAL only = 0, Total Duration Of A Line In 1/4 Pixel = 3093)
swt0,VI_H_SYNC(a0)// Store Horizontal Sync To VI H Sync Register ($A440001C)
lit0,$C150C15// T0 = Horizontal Sync Leap (Identical To H Sync = 3093, Identical To H Sync = 3093)
swt0,VI_H_SYNC_LEAP(a0)// Store Horizontal Sync Leap To VI Leap Register ($A4400020)
lit0,$6C02EC// T0 = Horizontal Video (Start Of Active Video In Screen Pixels = 108, End Of Active Video In Screen Pixels = 748)
swt0,VI_H_VIDEO(a0)// Store Horizontal Video To VI H Start Register ($A4400024)
lit0,$2501FF// T0 = Vertical Video (Start Of Active Video In Screen Half-Lines = 37, End Of Active Video In Screen Half-Lines = 511)
swt0,VI_V_VIDEO(a0)// Store Vertical Video To VI V Start Register ($A4400028)
lit0,$E0204// T0 = Vertical Burst (Start Of Color Burst Enable In Half-Lines = 14, End Of Color Burst Enable In Half-Lines = 516)
swt0,VI_V_BURST(a0)// Store Vertical Burst To VI V Burst Register ($A440002C)
llit0,($100*({width}/160))// T0 = X-Scale (Horizontal Subpixel Offset In 2.10 Format = 0, 1/Horizontal Scale Up Factor In 2.10 Format)
swt0,VI_X_SCALE(a0)// Store X-Scale To VI X Scale Register ($A4400030)
llit0,($100*({height}/60))// T0 = Y-Scale (Vertical Subpixel Offset In 2.10 Format = 0, 1/Vertical Scale Up Factor In 2.10 Format)
swt0,VI_Y_SCALE(a0)// Store Y-Scale To VI Y Scale Register ($A4400034)
}
macroScreenPAL(width,height,status,origin){
luia0,VI_BASE// A0 = VI Base Register ($A4400000)
lat0,{origin}// T0 = Origin (Frame Buffer Origin In Bytes)
swt0,VI_ORIGIN(a0)// Store Origin To VI Origin Register ($A4400004)
llit0,{width}// T0 = Width (Frame Buffer Line Width In Pixels)
swt0,VI_WIDTH(a0)// Store Width To VI Width Register ($A4400008)
llit0,$200// T0 = Vertical Interrupt (Interrupt When Current Half-Line $200)
swt0,VI_V_INTR(a0)// Store Vertical Interrupt To VI Interrupt Register ($A440000C)
llit0,0// T0 = Current Vertical Line (Current Half-Line, Sampled Once Per Line = 0)
swt0,VI_V_CURRENT_LINE(a0)// Store Current Vertical Line To VI Current Register ($A4400010)
lit0,$404233A// T0 = Video Timing (Start Of Color Burst In Pixels from H-Sync = 4, Vertical Sync Width In Half Lines = 04, Color Burst Width In Pixels = 35, Horizontal Sync Width In Pixels = 58)
swt0,VI_TIMING(a0)// Store Video Timing To VI Burst Register ($A4400014)
llit0,$271// T0 = Vertical Sync (Number Of Half-Lines Per Field = 625)
swt0,VI_V_SYNC(a0)// Store Vertical Sync To VI V Sync Register ($A4400018)
lit0,$150C69// T0 = Horizontal Sync (5-bit Leap Pattern Used For PAL only = 21: %10101, Total Duration Of A Line In 1/4 Pixel = 3177)
swt0,VI_H_SYNC(a0)// Store Horizontal Sync To VI H Sync Register ($A440001C)
lit0,$C6F0C6E// T0 = Horizontal Sync Leap (Identical To H Sync = 3183, Identical To H Sync = 3182)
swt0,VI_H_SYNC_LEAP(a0)// Store Horizontal Sync Leap To VI Leap Register ($A4400020)
lit0,$800300// T0 = Horizontal Video (Start Of Active Video In Screen Pixels = 128, End Of Active Video In Screen Pixels = 768)
swt0,VI_H_VIDEO(a0)// Store Horizontal Video To VI H Start Register ($A4400024)
lit0,$5F0239// T0 = Vertical Video (Start Of Active Video In Screen Half-Lines = 95, End Of Active Video In Screen Half-Lines = 569)
swt0,VI_V_VIDEO(a0)// Store Vertical Video To VI V Start Register ($A4400028)
lit0,$9026B// T0 = Vertical Burst (Start Of Color Burst Enable In Half-Lines = 9, End Of Color Burst Enable In Half-Lines = 619)
swt0,VI_V_BURST(a0)// Store Vertical Burst To VI V Burst Register ($A440002C)
llit0,($100*({width}/160))// T0 = X-Scale (Horizontal Subpixel Offset In 2.10 Format = 0, 1/Horizontal Scale Up Factor In 2.10 Format)
swt0,VI_X_SCALE(a0)// Store X-Scale To VI X Scale Register ($A4400030)
llit0,($100*({height}/60))// T0 = Y-Scale (Vertical Subpixel Offset In 2.10 Format = 0, 1/Vertical Scale Up Factor In 2.10 Format)
swt0,VI_Y_SCALE(a0)// Store Y-Scale To VI Y Scale Register ($A4400034)
// Word 0: Left Major Flag (0=Left Major, 1=Right Major), Number Of Mip-Maps Minus One, Tile ID, Y Coordinate Of Low, Mid Minor, Major Edge (Fixed Point S.11.2)
// Word 1: X Coordinate Of Low Edge Integer, Fraction, DxLDy Inverse Slope Of Low Edge Integer, Fraction
// Word 2: X Coordinate Of Major Edge Integer, Fraction, DxHDy Inverse Slope Of Major Edge Integer, Fraction
// Word 3: X Coordinate Of Middle Edge Integer, Fraction, DxMDy Inverse Slope Of Middle Edge Integer, Fraction
// Word 0: Left Major Flag (0=Left Major, 1=Right Major), Number Of Mip-Maps Minus One, Tile ID, Y Coordinate Of Low, Mid Minor, Major Edge (Fixed Point S.11.2)
// Word 1: X Coordinate Of Low Edge Integer, Fraction, DxLDy Inverse Slope Of Low Edge Integer, Fraction
// Word 2: X Coordinate Of Major Edge Integer, Fraction, DxHDy Inverse Slope Of Major Edge Integer, Fraction
// Word 3: X Coordinate Of Middle Edge Integer, Fraction, DxMDy Inverse Slope Of Middle Edge Integer, Fraction
// Word 4: Z Inverse Depth Integer, Fraction, DzDx Change In Z Per Change In X Coordinate Integer, Fraction (ZBuffer Coefficients)
// Word 5: DzDe Change In Z Along Major Edge Integer, Fraction, DzDy Change In Z Per Change In Y Coordinate Integer, Fraction
// Word 0: Left Major Flag (0=Left Major, 1=Right Major), Number Of Mip-Maps Minus One, Tile ID, Y Coordinate Of Low, Mid Minor, Major Edge (Fixed Point S.11.2)
// Word 1: X Coordinate Of Low Edge Integer, Fraction, DxLDy Inverse Slope Of Low Edge Integer, Fraction
// Word 2: X Coordinate Of Major Edge Integer, Fraction, DxHDy Inverse Slope Of Major Edge Integer, Fraction
// Word 3: X Coordinate Of Middle Edge Integer, Fraction, DxMDy Inverse Slope Of Middle Edge Integer, Fraction
// Word 4: S Texture Coordinate Integer, T Texture Coordinate Integer, W Normalized Inverse Depth Integer (Texture Coefficients)
// Word 5: DsDx Change In S, DtDx Change In T, DwDx Change In W Per Change In X Coordinate Integer
// Word 6: S Texture Coordinate Fraction, T Texture Coordinate Fraction, W Normalized Inverse Depth Fraction
// Word 7: DsDx Change In S, DtDx Change In T, DwDx Change In W Per Change In X Coordinate Fraction
// Word 8: DsDe Change In S, DtDe Change In T, DwDe Change In W Along The Edge Integer
// Word 9: DsDy Change In S, DtDy Change In T, DwDy Change In W Per Change In Y Coordinate Integer
// Word 10: DsDe Change In S, DtDe Change In T, DwDe Change In W Along The Edge Fraction
// Word 11: DsDy Change In S, DtDy Change In T, DwDy Change In W Per Change In Y Coordinate Fraction
// Word 0: Left Major Flag (0=Left Major, 1=Right Major), Number Of Mip-Maps Minus One, Tile ID, Y Coordinate Of Low, Mid Minor, Major Edge (Fixed Point S.11.2)
// Word 1: X Coordinate Of Low Edge Integer, Fraction, DxLDy Inverse Slope Of Low Edge Integer, Fraction
// Word 2: X Coordinate Of Major Edge Integer, Fraction, DxHDy Inverse Slope Of Major Edge Integer, Fraction
// Word 3: X Coordinate Of Middle Edge Integer, Fraction, DxMDy Inverse Slope Of Middle Edge Integer, Fraction
// Word 4: S Texture Coordinate Integer, T Texture Coordinate Integer, W Normalized Inverse Depth Integer (Texture Coefficients)
// Word 5: DsDx Change In S, DtDx Change In T, DwDx Change In W Per Change In X Coordinate Integer
// Word 6: S Texture Coordinate Fraction, T Texture Coordinate Fraction, W Normalized Inverse Depth Fraction
// Word 7: DsDx Change In S, DtDx Change In T, DwDx Change In W Per Change In X Coordinate Fraction
// Word 8: DsDe Change In S, DtDe Change In T, DwDe Change In W Along The Edge Integer
// Word 9: DsDy Change In S, DtDy Change In T, DwDy Change In W Per Change In Y Coordinate Integer
// Word 10: DsDe Change In S, DtDe Change In T, DwDe Change In W Along The Edge Fraction
// Word 11: DsDy Change In S, DtDy Change In T, DwDy Change In W Per Change In Y Coordinate Fraction
// Word 12: Z Inverse Depth Integer, Fraction, DzDx Change In Z Per Change In X Coordinate Integer, Fraction (ZBuffer Coefficients)
// Word 13: DzDe Change In Z Along Major Edge Integer, Fraction, DzDy Change In Z Per Change In Y Coordinate Integer, Fraction
// Word 0: Left Major Flag (0=Left Major, 1=Right Major), Number Of Mip-Maps Minus One, Tile ID, Y Coordinate Of Low, Mid Minor, Major Edge (Fixed Point S.11.2)
// Word 1: X Coordinate Of Low Edge Integer, Fraction, DxLDy Inverse Slope Of Low Edge Integer, Fraction
// Word 2: X Coordinate Of Major Edge Integer, Fraction, DxHDy Inverse Slope Of Major Edge Integer, Fraction
// Word 3: X Coordinate Of Middle Edge Integer, Fraction, DxMDy Inverse Slope Of Middle Edge Integer, Fraction
// Word 4: Red Color Component Integer, Green Color Component Integer, Blue Color Component Integer, Alpha Color Component Integer (Shade Coefficients)
// Word 5: DrDx Change In Red, DgDx Change In Green, DbDx Change In Blue, DaDx Change In Alpha Per Change In X Coordinate Integer
// Word 6: Red Color Component Fraction, Green Color Component Fraction, Blue Color Component Fraction, Alpha Color Component Fraction
// Word 7: DrDx Change In Red, DgDx Change In Green, DbDx Change In Blue, DaDx Change In Alpha Per Change In X Coordinate Fraction
// Word 8: DrDe Change In Red, DgDe Change In Green, DbDe Change In Blue, DaDe Change In Alpha Along The Edge Integer
// Word 9: DrDy Change In Red, DgDy Change In Green, DbDy Change In Blue, DaDy Change In Alpha Per Change In Y Coordinate Integer
// Word 10: DrDe Change In Red, DgDe Change In Green, DbDe Change In Blue, DaDe Change In Alpha Along The Edge Fraction
// Word 11: DrDy Change In Red, DgDy Change In Green, DbDy Change In Blue, DaDy Change In Alpha Per Change In Y Coordinate Fraction
// Word 0: Left Major Flag (0=Left Major, 1=Right Major), Number Of Mip-Maps Minus One, Tile ID, Y Coordinate Of Low, Mid Minor, Major Edge (Fixed Point S.11.2)
// Word 1: X Coordinate Of Low Edge Integer, Fraction, DxLDy Inverse Slope Of Low Edge Integer, Fraction
// Word 2: X Coordinate Of Major Edge Integer, Fraction, DxHDy Inverse Slope Of Major Edge Integer, Fraction
// Word 3: X Coordinate Of Middle Edge Integer, Fraction, DxMDy Inverse Slope Of Middle Edge Integer, Fraction
// Word 4: Red Color Component Integer, Green Color Component Integer, Blue Color Component Integer, Alpha Color Component Integer (Shade Coefficients)
// Word 5: DrDx Change In Red, DgDx Change In Green, DbDx Change In Blue, DaDx Change In Alpha Per Change In X Coordinate Integer
// Word 6: Red Color Component Fraction, Green Color Component Fraction, Blue Color Component Fraction, Alpha Color Component Fraction
// Word 7: DrDx Change In Red, DgDx Change In Green, DbDx Change In Blue, DaDx Change In Alpha Per Change In X Coordinate Fraction
// Word 8: DrDe Change In Red, DgDe Change In Green, DbDe Change In Blue, DaDe Change In Alpha Along The Edge Integer
// Word 9: DrDy Change In Red, DgDy Change In Green, DbDy Change In Blue, DaDy Change In Alpha Per Change In Y Coordinate Integer
// Word 10: DrDe Change In Red, DgDe Change In Green, DbDe Change In Blue, DaDe Change In Alpha Along The Edge Fraction
// Word 11: DrDy Change In Red, DgDy Change In Green, DbDy Change In Blue, DaDy Change In Alpha Per Change In Y Coordinate Fraction
// Word 12: Z Inverse Depth Integer, Fraction, DzDx Change In Z Per Change In X Coordinate Integer, Fraction (ZBuffer Coefficients)
// Word 13: DzDe Change In Z Along Major Edge Integer, Fraction, DzDy Change In Z Per Change In Y Coordinate Integer, Fraction
// Word 0: Left Major Flag (0=Left Major, 1=Right Major), Number Of Mip-Maps Minus One, Tile ID, Y Coordinate Of Low, Mid Minor, Major Edge (Fixed Point S.11.2)
// Word 1: X Coordinate Of Low Edge Integer, Fraction, DxLDy Inverse Slope Of Low Edge Integer, Fraction
// Word 2: X Coordinate Of Major Edge Integer, Fraction, DxHDy Inverse Slope Of Major Edge Integer, Fraction
// Word 3: X Coordinate Of Middle Edge Integer, Fraction, DxMDy Inverse Slope Of Middle Edge Integer, Fraction
// Word 4: Red Color Component Integer, Green Color Component Integer, Blue Color Component Integer, Alpha Color Component Integer (Shade Coefficients)
// Word 5: DrDx Change In Red, DgDx Change In Green, DbDx Change In Blue, DaDx Change In Alpha Per Change In X Coordinate Integer
// Word 6: Red Color Component Fraction, Green Color Component Fraction, Blue Color Component Fraction, Alpha Color Component Fraction
// Word 7: DrDx Change In Red, DgDx Change In Green, DbDx Change In Blue, DaDx Change In Alpha Per Change In X Coordinate Fraction
// Word 8: DrDe Change In Red, DgDe Change In Green, DbDe Change In Blue, DaDe Change In Alpha Along The Edge Integer
// Word 9: DrDy Change In Red, DgDy Change In Green, DbDy Change In Blue, DaDy Change In Alpha Per Change In Y Coordinate Integer
// Word 10: DrDe Change In Red, DgDe Change In Green, DbDe Change In Blue, DaDe Change In Alpha Along The Edge Fraction
// Word 11: DrDy Change In Red, DgDy Change In Green, DbDy Change In Blue, DaDy Change In Alpha Per Change In Y Coordinate Fraction
// Word 12: S Texture Coordinate Integer, T Texture Coordinate Integer, W Normalized Inverse Depth Integer (Texture Coefficients)
// Word 13: DsDx Change In S, DtDx Change In T, DwDx Change In W Per Change In X Coordinate Integer
// Word 14: S Texture Coordinate Fraction, T Texture Coordinate Fraction, W Normalized Inverse Depth Fraction
// Word 15: DsDx Change In S, DtDx Change In T, DwDx Change In W Per Change In X Coordinate Fraction
// Word 16: DsDe Change In S, DtDe Change In T, DwDe Change In W Along The Edge Integer
// Word 17: DsDy Change In S, DtDy Change In T, DwDy Change In W Per Change In Y Coordinate Integer
// Word 18: DsDe Change In S, DtDe Change In T, DwDe Change In W Along The Edge Fraction
// Word 19: DsDy Change In S, DtDy Change In T, DwDy Change In W Per Change In Y Coordinate Fraction
// Word 0: Left Major Flag (0=Left Major, 1=Right Major), Number Of Mip-Maps Minus One, Tile ID, Y Coordinate Of Low, Mid Minor, Major Edge (Fixed Point S.11.2)
// Word 1: X Coordinate Of Low Edge Integer, Fraction, DxLDy Inverse Slope Of Low Edge Integer, Fraction
// Word 2: X Coordinate Of Major Edge Integer, Fraction, DxHDy Inverse Slope Of Major Edge Integer, Fraction
// Word 3: X Coordinate Of Middle Edge Integer, Fraction, DxMDy Inverse Slope Of Middle Edge Integer, Fraction
// Word 4: Red Color Component Integer, Green Color Component Integer, Blue Color Component Integer, Alpha Color Component Integer (Shade Coefficients)
// Word 5: DrDx Change In Red, DgDx Change In Green, DbDx Change In Blue, DaDx Change In Alpha Per Change In X Coordinate Integer
// Word 6: Red Color Component Fraction, Green Color Component Fraction, Blue Color Component Fraction, Alpha Color Component Fraction
// Word 7: DrDx Change In Red, DgDx Change In Green, DbDx Change In Blue, DaDx Change In Alpha Per Change In X Coordinate Fraction
// Word 8: DrDe Change In Red, DgDe Change In Green, DbDe Change In Blue, DaDe Change In Alpha Along The Edge Integer
// Word 9: DrDy Change In Red, DgDy Change In Green, DbDy Change In Blue, DaDy Change In Alpha Per Change In Y Coordinate Integer
// Word 10: DrDe Change In Red, DgDe Change In Green, DbDe Change In Blue, DaDe Change In Alpha Along The Edge Fraction
// Word 11: DrDy Change In Red, DgDy Change In Green, DbDy Change In Blue, DaDy Change In Alpha Per Change In Y Coordinate Fraction
// Word 12: S Texture Coordinate Integer, T Texture Coordinate Integer, W Normalized Inverse Depth Integer (Texture Coefficients)
// Word 13: DsDx Change In S, DtDx Change In T, DwDx Change In W Per Change In X Coordinate Integer
// Word 14: S Texture Coordinate Fraction, T Texture Coordinate Fraction, W Normalized Inverse Depth Fraction
// Word 15: DsDx Change In S, DtDx Change In T, DwDx Change In W Per Change In X Coordinate Fraction
// Word 16: DsDe Change In S, DtDe Change In T, DwDe Change In W Along The Edge Integer
// Word 17: DsDy Change In S, DtDy Change In T, DwDy Change In W Per Change In Y Coordinate Integer
// Word 18: DsDe Change In S, DtDe Change In T, DwDe Change In W Along The Edge Fraction
// Word 19: DsDy Change In S, DtDy Change In T, DwDy Change In W Per Change In Y Coordinate Fraction
// Word 20: Z Inverse Depth Integer, Fraction, DzDx Change In Z Per Change In X Coordinate Integer, Fraction (ZBuffer Coefficients)
// Word 21: DzDe Change In Z Along Major Edge Integer, Fraction, DzDy Change In Z Per Change In Y Coordinate Integer, Fraction
// Word 0: Red Color Component Integer, Green Color Component Integer, Blue Color Component Integer, Alpha Color Component Integer (Shade Coefficients)
// Word 1: DrDx Change In Red, DgDx Change In Green, DbDx Change In Blue, DaDx Change In Alpha Per Change In X Coordinate Integer
// Word 2: Red Color Component Fraction, Green Color Component Fraction, Blue Color Component Fraction, Alpha Color Component Fraction
// Word 3: DrDx Change In Red, DgDx Change In Green, DbDx Change In Blue, DaDx Change In Alpha Per Change In X Coordinate Fraction
// Word 4: DrDe Change In Red, DgDe Change In Green, DbDe Change In Blue, DaDe Change In Alpha Along The Edge Integer
// Word 5: DrDy Change In Red, DgDy Change In Green, DbDy Change In Blue, DaDy Change In Alpha Per Change In Y Coordinate Integer
// Word 6: DrDe Change In Red, DgDe Change In Green, DbDe Change In Blue, DaDe Change In Alpha Along The Edge Fraction
// Word 7: DrDy Change In Red, DgDy Change In Green, DbDy Change In Blue, DaDy Change In Alpha Per Change In Y Coordinate Fraction
// Word 0: Bottom Right X/Y, Tile ID, Top Left X/Y (Fixed Point 10.2)
// Word 1: S/T Texture Coordinate Top Left (Fixed Point S.10.5), DsDx ChangeInSPerChangeInX, DtDy ChangeInTPerChangeInY (Fixed Point S.5.10)
// Texture_Rectangle_Flip: xl,yl, tile, xh,yh, s,t, dsdx,dtdy ; Same As Texture Rectangle Except Hardware Swaps S/T & DsDx/DtDy
// Word 0: Bottom Right X/Y, Tile ID, Top Left X/Y (Fixed Point 10.2)
// Word 1: S/T Texture Coordinate Top Left (Fixed Point S.10.5), DsDx ChangeInSPerChangeInX, DtDy ChangeInTPerChangeInY (Fixed Point S.5.10)
// Sync_Load: Stall Execution Of Load Commands, Until Preceeding Primitives Completely Finish (Usually Preceed Load Commands)
// Sync_Pipe: Stall Pipeline, Until Preceeding Primitives Completely Finish (Software Can Optimize Usage)
// Sync_Tile: Allows Synchronization Between Commands That Write To The Same Tile Descriptor That An Immediately Previous Command Is Reading
// Sync_Full: Stall RDP Until Last DRAM Buffer Is Read Or Written From Any Preceeding Primitive (Needed If Memory Is To Be Reused)
// Set_Key_GB: wg,wb,cg,sg,cb,sb ; Set The Coefficients Used For Green/Blue Keying, KEY G/B = CLAMP(0.0, -ABS((G/B - CENTER)* SCALE) + WIDTH, 1.0) KEY ALPHA = MINIMUM OF KEY R/G/B
// Word: WIDTH G/B (Size Of Half Key Window Including Soft Edge)*SCALE, CENTER G/B Defines Color Or Intensity At Which Key Is Active (0..255), SCALE GB 1.0/(SIZE OF SOFT EDGE) (0..255)
// Set_Key_R: wr,cr,sr ; Set The Coefficients Used For Red Keying, KEY R = CLAMP(0.0, -ABS((R - CENTER)* SCALE) + WIDTH, 1.0) KEY ALPHA = MINIMUM OF KEY R/G/B
// Word: WIDTH R (Size Of Half Key Window Including Soft Edge)*SCALE, CENTER R Defines Color Or Intensity At Which Key Is Active (0..255), SCALE R 1.0/(SIZE OF SOFT EDGE) (0..255)
// Set_Convert: k0,k1,k2,k3,k4,k5 ; Updates The Coefficients For Converting YUV Pixels To RGB, R = C0*(Y-16)+C1*V, G = C0*(Y-16)+C2*U-C3*V, B = C0*(Y-16)+C4*U
// Word: K0, K1, K2, K3, K4, K5 Term Of YUV-RGB Conversion Matrix
// Set_Scissor: xh,yh,xl,yl,lo ; Set The Scissoring Of Primitives
// Word: Top Left X/Y, Bottom Right X/Y (Fixed Point 10.2), Scissor Field Enable & Scissor Field Even/Odd
constantSCISSOR_EVEN(0)// Set_Scissor O: Field Even (Bit 24)
constantSCISSOR_ODD(1)// Set_Scissor O: Field Odd (Bit 24)
constantSCISSOR_FIELD(1)// Set_Scissor F: Scissor Field Enable (Bit 25)
// Set_Prim_Depth: pz,pdz ; Set The Depth Of Primitives
// Word: Primitive Z Depth, Primitive Delta Z Depth
// Set_Other_Modes: Settings ; Set The Other Modes
// Set_Other_Modes LO Word
constantALPHA_COMPARE_EN($00000000000001)// Set_Other_Modes A: Conditional Color Write On Alpha Compare (Bit 0)
constantDITHER_ALPHA_EN($00000000000002)// Set_Other_Modes B: Use Random Noise In Alpha Compare, Otherwise Use Blend Alpha In Alpha Compare (Bit 1)
constantZ_SOURCE_SEL($00000000000004)// Set_Other_Modes C: Choose Between Primitive Z And Pixel Z (Bit 2)
constantANTIALIAS_EN($00000000000008)// Set_Other_Modes D: If Not Force Blend, Allow Blend Enable - Use CVG Bits (Bit 3)
constantZ_COMPARE_EN($00000000000010)// Set_Other_Modes E: Conditional Color Write Enable On Depth Comparison (Bit 4)
constantZ_UPDATE_EN($00000000000020)// Set_Other_Modes F: Enable Writing Of Z If Color Write Enabled (Bit 5)
constantRGB_DITHER_SEL_STANDARD_BAYER_MATRIX($00004000000000)// Set_Other_Modes V2: RGB Dither Selection Standard Bayer Matrix (Preferred If Not Filtered) (Bit 38..39)
constantCONVERT_ONE($00020000000000)// Set_Other_Modes X: Color Convert Texel That Was The Ouput Of The Texture Filter On Cycle0, Used To Qualify BI_LERP_1 (Bit 41)
constantBI_LERP_1($00040000000000)// Set_Other_Modes Y: 1=BI_LERP, 0=Color Convert Operation In Texture Filter. Used In Cycle 1 (Bit 42)
constantBI_LERP_0($00080000000000)// Set_Other_Modes Z: 1=BI_LERP, 0=Color Convert Operation In Texture Filter. Used In Cycle 0 (Bit 43)
constantMID_TEXEL($00100000000000)// Set_Other_Modes a: Indicates Texture Filter Should Do A 2x2 Half Texel Interpolation, Primarily Used For MPEG Motion Compensation Processing (Bit 44)
constantSAMPLE_TYPE($00200000000000)// Set_Other_Modes b: Determines How Textures Are Sampled: 0=1x1 (Point Sample), 1=2x2. Note That Copy (Point Sample 4 Horizontally Adjacent Texels) Mode Is Indicated By CYCLE_TYPE (Bit 45)
constantTLUT_TYPE($00400000000000)// Set_Other_Modes c: Type Of Texels In Table, 0=16b RGBA(5/5/5/1), 1=IA(8/8) (Bit 46)
constantEN_TLUT($00800000000000)// Set_Other_Modes d: Enable Lookup Of Texel Values From TLUT. Meaningful If Texture Type Is Index, Tile Is In Low TMEM, TLUT Is In High TMEM, And Color Image Is RGB (Bit 47)
constantCYCLE_TYPE_FILL($30000000000000)// Set_Other_Modes i: Display Pipeline Cycle Control Mode Fill (Bit 52..53)
//*RESERVED*($40000000000000) // Set_Other_Modes j: This Mode Bit Is Not Currently Used, But May Be In The Future (Bit 54)
constantATOMIC_PRIM($80000000000000)// Set_Other_Modes k: Force Primitive To Be Written To Frame Buffer Before Read Of Following Primitive
// Load_Tlut: sl,tl,tile,sh,th ; Used To Initiate A Load From DRAM Of An Indexed Texture Lookup Table (TLUT) (This Table Dereferences Color Indexed Texels Before Texture Filtering)
// Word: Low S Index Into Table (0..255), Low T Normally Zero, Tile ID, High S Index Into Table, High T Normally Zero (Fixed Point 10.2, Fractional Bits Should Be Zero)
// Set_Tile_Size: sl,tl,tile,sh,th ; Set The Tile Size
// Word: Low S/T Coordinate Of Tile In Image, Tile ID, High S/T Coordinate Of Tile In Image (Fixed Point 10.2)
// Load_Block: sl,tl,tile,sh,dxt ; Loads A TMEM Tile With A Single Memory "Span" From SL,TL To SH,TL (During Tile Load, T Coordinate Is Incremented By DxT Every 8 TMEM Bytes)
// Word: Low S/T Coordinate Of Tile In Image, Tile ID, High S Coordinate Of Tile In Image (Fixed Point 10.2), Unsigned Increment Value
// Load_Tile: sl,tl,tile,sh,th ; Loads A TMEM Tile
// Word: Low S/T Coordinate Of Tile In Image, Tile ID, High S/T Coordinate Of Tile In Image (Fixed Point 10.2)
// Set_Tile: hi,lo ; Set The Tile
// Word: Set Tile Settings
// Set_Tile LO Word
constantSHIFT_S_0($0)// Set_Tile: Shift 0 Level Of Detail Shift For S Addresses (Bit 0..3)
constantSHIFT_S_1($1)// Set_Tile: Shift 1 Level Of Detail Shift For S Addresses (Bit 0..3)
constantSHIFT_S_2($2)// Set_Tile: Shift 2 Level Of Detail Shift For S Addresses (Bit 0..3)
constantSHIFT_S_3($3)// Set_Tile: Shift 3 Level Of Detail Shift For S Addresses (Bit 0..3)
constantSHIFT_S_4($4)// Set_Tile: Shift 4 Level Of Detail Shift For S Addresses (Bit 0..3)
constantSHIFT_S_5($5)// Set_Tile: Shift 5 Level Of Detail Shift For S Addresses (Bit 0..3)
constantSHIFT_S_6($6)// Set_Tile: Shift 6 Level Of Detail Shift For S Addresses (Bit 0..3)
constantSHIFT_S_7($7)// Set_Tile: Shift 7 Level Of Detail Shift For S Addresses (Bit 0..3)
constantSHIFT_S_8($8)// Set_Tile: Shift 8 Level Of Detail Shift For S Addresses (Bit 0..3)
constantSHIFT_S_9($9)// Set_Tile: Shift 9 Level Of Detail Shift For S Addresses (Bit 0..3)
constantSHIFT_S_A($A)// Set_Tile: Shift A Level Of Detail Shift For S Addresses (Bit 0..3)
constantSHIFT_S_B($B)// Set_Tile: Shift B Level Of Detail Shift For S Addresses (Bit 0..3)
constantSHIFT_S_C($C)// Set_Tile: Shift C Level Of Detail Shift For S Addresses (Bit 0..3)
constantSHIFT_S_D($D)// Set_Tile: Shift D Level Of Detail Shift For S Addresses (Bit 0..3)
constantSHIFT_S_E($E)// Set_Tile: Shift E Level Of Detail Shift For S Addresses (Bit 0..3)
constantSHIFT_S_F($F)// Set_Tile: Shift F Level Of Detail Shift For S Addresses (Bit 0..3)
constantMASK_S_0($0)// Set_Tile: Mask 0 For Wrapping/Mirroring In S Direction, Zero = Clamp (Bit 14..17)
constantMASK_S_1($1)// Set_Tile: Mask 1 For Wrapping/Mirroring In S Direction, Pass (Mask) LSBs Of S Address (Bit 4..7)
constantMASK_S_2($2)// Set_Tile: Mask 2 For Wrapping/Mirroring In S Direction, Pass (Mask) LSBs Of S Address (Bit 4..7)
constantMASK_S_3($3)// Set_Tile: Mask 3 For Wrapping/Mirroring In S Direction, Pass (Mask) LSBs Of S Address (Bit 4..7)
constantMASK_S_4($4)// Set_Tile: Mask 4 For Wrapping/Mirroring In S Direction, Pass (Mask) LSBs Of S Address (Bit 4..7)
constantMASK_S_5($5)// Set_Tile: Mask 5 For Wrapping/Mirroring In S Direction, Pass (Mask) LSBs Of S Address (Bit 4..7)
constantMASK_S_6($6)// Set_Tile: Mask 6 For Wrapping/Mirroring In S Direction, Pass (Mask) LSBs Of S Address (Bit 4..7)
constantMASK_S_7($7)// Set_Tile: Mask 7 For Wrapping/Mirroring In S Direction, Pass (Mask) LSBs Of S Address (Bit 4..7)
constantMASK_S_8($8)// Set_Tile: Mask 8 For Wrapping/Mirroring In S Direction, Pass (Mask) LSBs Of S Address (Bit 4..7)
constantMASK_S_9($9)// Set_Tile: Mask 9 For Wrapping/Mirroring In S Direction, Pass (Mask) LSBs Of S Address (Bit 4..7)
constantMASK_S_A($A)// Set_Tile: Mask A For Wrapping/Mirroring In S Direction, Pass (Mask) LSBs Of S Address (Bit 4..7)
constantMASK_S_B($B)// Set_Tile: Mask B For Wrapping/Mirroring In S Direction, Pass (Mask) LSBs Of S Address (Bit 4..7)
constantMASK_S_C($C)// Set_Tile: Mask C For Wrapping/Mirroring In S Direction, Pass (Mask) LSBs Of S Address (Bit 4..7)
constantMASK_S_D($D)// Set_Tile: Mask D For Wrapping/Mirroring In S Direction, Pass (Mask) LSBs Of S Address (Bit 4..7)
constantMASK_S_E($E)// Set_Tile: Mask E For Wrapping/Mirroring In S Direction, Pass (Mask) LSBs Of S Address (Bit 4..7)
constantMASK_S_F($F)// Set_Tile: Mask F For Wrapping/Mirroring In S Direction, Pass (Mask) LSBs Of S Address (Bit 4..7)
constantMIRROR_S(1)// Set_Tile: Mirror Enable For S Direction (Bit 8)
constantCLAMP_S(1)// Set_Tile: Clamp Enable For S Direction (Bit 9)
constantSHIFT_T_0($0)// Set_Tile: Shift 0 Level Of Detail Shift For T Addresses (Bit 10..13)
constantSHIFT_T_1($1)// Set_Tile: Shift 1 Level Of Detail Shift For T Addresses (Bit 10..13)
constantSHIFT_T_2($2)// Set_Tile: Shift 2 Level Of Detail Shift For T Addresses (Bit 10..13)
constantSHIFT_T_3($3)// Set_Tile: Shift 3 Level Of Detail Shift For T Addresses (Bit 10..13)
constantSHIFT_T_4($4)// Set_Tile: Shift 4 Level Of Detail Shift For T Addresses (Bit 10..13)
constantSHIFT_T_5($5)// Set_Tile: Shift 5 Level Of Detail Shift For T Addresses (Bit 10..13)
constantSHIFT_T_6($6)// Set_Tile: Shift 6 Level Of Detail Shift For T Addresses (Bit 10..13)
constantSHIFT_T_7($7)// Set_Tile: Shift 7 Level Of Detail Shift For T Addresses (Bit 10..13)
constantSHIFT_T_8($8)// Set_Tile: Shift 8 Level Of Detail Shift For T Addresses (Bit 10..13)
constantSHIFT_T_9($9)// Set_Tile: Shift 9 Level Of Detail Shift For T Addresses (Bit 10..13)
constantSHIFT_T_A($A)// Set_Tile: Shift A Level Of Detail Shift For T Addresses (Bit 10..13)
constantSHIFT_T_B($B)// Set_Tile: Shift B Level Of Detail Shift For T Addresses (Bit 10..13)
constantSHIFT_T_C($C)// Set_Tile: Shift C Level Of Detail Shift For T Addresses (Bit 10..13)
constantSHIFT_T_D($D)// Set_Tile: Shift D Level Of Detail Shift For T Addresses (Bit 10..13)
constantSHIFT_T_E($E)// Set_Tile: Shift E Level Of Detail Shift For T Addresses (Bit 10..13)
constantSHIFT_T_F($F)// Set_Tile: Shift F Level Of Detail Shift For T Addresses (Bit 10..13)
constantMASK_T_0($0)// Set_Tile: Mask 0 For Wrapping/Mirroring In T Direction, Zero = Clamp (Bit 14..17)
constantMASK_T_1($1)// Set_Tile: Mask 1 For Wrapping/Mirroring In T Direction, Pass (Mask) LSBs Of T Address (Bit 14..17)
constantMASK_T_2($2)// Set_Tile: Mask 2 For Wrapping/Mirroring In T Direction, Pass (Mask) LSBs Of T Address (Bit 14..17)
constantMASK_T_3($3)// Set_Tile: Mask 3 For Wrapping/Mirroring In T Direction, Pass (Mask) LSBs Of T Address (Bit 14..17)
constantMASK_T_4($4)// Set_Tile: Mask 4 For Wrapping/Mirroring In T Direction, Pass (Mask) LSBs Of T Address (Bit 14..17)
constantMASK_T_5($5)// Set_Tile: Mask 5 For Wrapping/Mirroring In T Direction, Pass (Mask) LSBs Of T Address (Bit 14..17)
constantMASK_T_6($6)// Set_Tile: Mask 6 For Wrapping/Mirroring In T Direction, Pass (Mask) LSBs Of T Address (Bit 14..17)
constantMASK_T_7($7)// Set_Tile: Mask 7 For Wrapping/Mirroring In T Direction, Pass (Mask) LSBs Of T Address (Bit 14..17)
constantMASK_T_8($8)// Set_Tile: Mask 8 For Wrapping/Mirroring In T Direction, Pass (Mask) LSBs Of T Address (Bit 14..17)
constantMASK_T_9($9)// Set_Tile: Mask 9 For Wrapping/Mirroring In T Direction, Pass (Mask) LSBs Of T Address (Bit 14..17)
constantMASK_T_A($A)// Set_Tile: Mask A For Wrapping/Mirroring In T Direction, Pass (Mask) LSBs Of T Address (Bit 14..17)
constantMASK_T_B($B)// Set_Tile: Mask B For Wrapping/Mirroring In T Direction, Pass (Mask) LSBs Of T Address (Bit 14..17)
constantMASK_T_C($C)// Set_Tile: Mask C For Wrapping/Mirroring In T Direction, Pass (Mask) LSBs Of T Address (Bit 14..17)
constantMASK_T_D($D)// Set_Tile: Mask D For Wrapping/Mirroring In T Direction, Pass (Mask) LSBs Of T Address (Bit 14..17)
constantMASK_T_E($E)// Set_Tile: Mask E For Wrapping/Mirroring In T Direction, Pass (Mask) LSBs Of T Address (Bit 14..17)
constantMASK_T_F($F)// Set_Tile: Mask F For Wrapping/Mirroring In T Direction, Pass (Mask) LSBs Of T Address (Bit 14..17)
constantMIRROR_T(1)// Set_Tile: Mirror Enable For T Direction (Bit 18)
constantCLAMP_T(1)// Set_Tile: Clamp Enable For T Direction (Bit 19)
constantPALETTE_0($0)// Set_Tile: Palette Number 0 For 4Bit Color Indexed Texels, This Number Is The MS 4Bits Of An 8Bit Index (Bit 20..23)
constantPALETTE_1($1)// Set_Tile: Palette Number 1 For 4Bit Color Indexed Texels, This Number Is The MS 4Bits Of An 8Bit Index (Bit 20..23)
constantPALETTE_2($2)// Set_Tile: Palette Number 2 For 4Bit Color Indexed Texels, This Number Is The MS 4Bits Of An 8Bit Index (Bit 20..23)
constantPALETTE_3($3)// Set_Tile: Palette Number 3 For 4Bit Color Indexed Texels, This Number Is The MS 4Bits Of An 8Bit Index (Bit 20..23)
constantPALETTE_4($4)// Set_Tile: Palette Number 4 For 4Bit Color Indexed Texels, This Number Is The MS 4Bits Of An 8Bit Index (Bit 20..23)
constantPALETTE_5($5)// Set_Tile: Palette Number 5 For 4Bit Color Indexed Texels, This Number Is The MS 4Bits Of An 8Bit Index (Bit 20..23)
constantPALETTE_6($6)// Set_Tile: Palette Number 6 For 4Bit Color Indexed Texels, This Number Is The MS 4Bits Of An 8Bit Index (Bit 20..23)
constantPALETTE_7($7)// Set_Tile: Palette Number 7 For 4Bit Color Indexed Texels, This Number Is The MS 4Bits Of An 8Bit Index (Bit 20..23)
constantPALETTE_8($8)// Set_Tile: Palette Number 8 For 4Bit Color Indexed Texels, This Number Is The MS 4Bits Of An 8Bit Index (Bit 20..23)
constantPALETTE_9($9)// Set_Tile: Palette Number 9 For 4Bit Color Indexed Texels, This Number Is The MS 4Bits Of An 8Bit Index (Bit 20..23)
constantPALETTE_A($A)// Set_Tile: Palette Number A For 4Bit Color Indexed Texels, This Number Is The MS 4Bits Of An 8Bit Index (Bit 20..23)
constantPALETTE_B($B)// Set_Tile: Palette Number B For 4Bit Color Indexed Texels, This Number Is The MS 4Bits Of An 8Bit Index (Bit 20..23)
constantPALETTE_C($C)// Set_Tile: Palette Number C For 4Bit Color Indexed Texels, This Number Is The MS 4Bits Of An 8Bit Index (Bit 20..23)
constantPALETTE_D($D)// Set_Tile: Palette Number D For 4Bit Color Indexed Texels, This Number Is The MS 4Bits Of An 8Bit Index (Bit 20..23)
constantPALETTE_E($E)// Set_Tile: Palette Number E For 4Bit Color Indexed Texels, This Number Is The MS 4Bits Of An 8Bit Index (Bit 20..23)
constantPALETTE_F($F)// Set_Tile: Palette Number F For 4Bit Color Indexed Texels, This Number Is The MS 4Bits Of An 8Bit Index (Bit 20..23)
// Set_Tile/Set_Texture_Image/Set_Color_Image HI Word
constantSIZE_OF_PIXEL_4B(0)// Set_Tile/Set_Texture_Image/Set_Color_Image: Size Of Pixel/Texel Color Element 4B (Bit 51..52)
constantSIZE_OF_PIXEL_8B(1)// Set_Tile/Set_Texture_Image/Set_Color_Image: Size Of Pixel/Texel Color Element 8B (Bit 51..52)
constantSIZE_OF_PIXEL_16B(2)// Set_Tile/Set_Texture_Image/Set_Color_Image: Size Of Pixel/Texel Color Element 16B (Bit 51..52)
constantSIZE_OF_PIXEL_32B(3)// Set_Tile/Set_Texture_Image/Set_Color_Image: Size Of Pixel/Texel Color Element 32B (Bit 51..52)
constantIMAGE_DATA_FORMAT_RGBA(0)// Set_Tile/Set_Texture_Image/Set_Color_Image: Image Data Format RGBA (Bit 53..55)
constantIMAGE_DATA_FORMAT_YUV(1)// Set_Tile/Set_Texture_Image/Set_Color_Image: Image Data Format YUV (Bit 53..55)
constantIMAGE_DATA_FORMAT_COLOR_INDX(2)// Set_Tile/Set_Texture_Image/Set_Color_Image: Image Data Format COLOR_INDX (Bit 53..55)
constantIMAGE_DATA_FORMAT_IA(3)// Set_Tile/Set_Texture_Image/Set_Color_Image: Image Data Format IA (Bit 53..55)
constantIMAGE_DATA_FORMAT_I(4)// Set_Tile/Set_Texture_Image/Set_Color_Image: Image Data Format I (Bit 53..55)
// Fill_Rectangle: xl,yl,xh,yh
// Word: Bottom Right X/Y, Top Left X/Y (Fixed Point 10.2)
// Set_Fill_Color: Set The Filling Color
// Word: Packed Color: If The Color Image Was Set BE 16B RGBA, Then The Fill Color Would Be Two Horizontally Adjacent 16B RGBA Pixels
// Set_Fog_Color: Set The Fog Color
// Word: RGBA Color Components
// Set_Blend_Color: Set The Blending Color
// Word: RGBA Color Components
// Set_Prim_Color: minlev,levfrac,lo ; Set The Primitive Color
// Word: Prim Min Level: Minimum Clamp For LOD Fraction When In Detail Or Sharpen Texture Modes (Fixed Point 0.5), Prim Level Frac: Level Of Detail Fraction For Primitive, Used Primarily In Multi-Tile Operations For Rectangle Primitives (Fixed Point 0.8), RGBA Color Components
// Word: Image Data Format, Size Of Pixel/Texel Color Element, Width Of Image In Pixels - 1, Base Address (Top Left Corner) Of Image In DRAM
// Set_Z_Image: Set The Z Buffer Image
// Word: Base Address (Top Left Corner) Of Image In DRAM, In Bytes
// Set_Color_Image: Set The Color Image
// Word: Image Data Format, Size Of Pixel/Texel Color Element, Width Of Image In Pixels: Image Width=Width+1, Base Address (Top Left Corner) Of Image In DRAM