Line 4: |
Line 4: |
| == Description == | | == Description == |
| | | |
− | The PICA200 is an opengl ES 1.1 compliant GPU manufactured by DMP. It comes loaded with a number of extensions that make it similar to an openGL ES 2.0 compliant GPU (ability to run programmable vertex/geometry shaders, for instance). Because of this, Nintendo wrapped GPU access into an openGL ES 2.0 implementation with some limitations. As the fragment stage of the pipeline is non-programmable, Nintendo instead gives developers the ability to configure a number of fragment-related values through glGetUniformLocation and glUniformXX. See below for the full list. | + | The PICA200 is an OpenGL ES 1.1 compliant GPU manufactured by DMP. It comes loaded with a number of extensions that make it similar to an OpenGL ES 2.0 compliant GPU (ability to run programmable vertex/geometry shaders, for instance). Because of this, Nintendo wrapped GPU access into an OpenGL ES 2.0 implementation with some limitations. As the fragment stage of the pipeline is non-programmable, Nintendo instead gives developers the ability to configure a number of fragment-related values through glGetUniformLocation and glUniformXX. See below for the full list. |
| | | |
| == Shader program structure == | | == Shader program structure == |
Line 108: |
Line 108: |
| |} | | |} |
| | | |
− | vertex shader object: | + | vertex/geometry shader struct: |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
| ! Offset | | ! Offset |
Line 121: |
Line 121: |
| | 0x4 | | | 0x4 |
| | Size of shader code (in words) | | | Size of shader code (in words) |
| + | |- |
| + | | 0x8 |
| + | | 0x4 |
| + | | Pointer to shader opdesc data |
| + | |- |
| + | | 0xC |
| + | | 0x4 |
| + | | Size of shader opdescs (in words) |
| |} | | |} |
| | | |
Line 152: |
Line 160: |
| | 0x0012A504 | | | 0x0012A504 |
| | ? | | | ? |
− | | ? | + | | 0x008B bit0 (0 = enable??) |
| |- | | |- |
| | 0x1 | | | 0x1 |
Line 194: |
Line 202: |
| | 0x0012A7F0 | | | 0x0012A7F0 |
| | ? | | | ? |
− | | ? | + | | 0x0080 bit10 (?) |
| |- | | |- |
| | 0x7 | | | 0x7 |
Line 201: |
Line 209: |
| | 0x0012A8B4 | | | 0x0012A8B4 |
| | ? | | | ? |
− | | ? | + | | 0x0080 bit13 (1 = use texcoords from texture unit 1) |
| |- | | |- |
| | 0x8 | | | 0x8 |
Line 208: |
Line 216: |
| | 0x0012A97C | | | 0x0012A97C |
| | ? | | | ? |
− | | ? | + | | 0x0080 bit8-9 (0-2 = use texcoords from texture unit 0-2 resp., 3 = forbidden?) |
| |- | | |- |
| | 0x9 | | | 0x9 |
Line 215: |
Line 223: |
| | 0x0012AA54 | | | 0x0012AA54 |
| | ? | | | ? |
− | | ? | + | | 0x00A8 bit6-9 |
| |- | | |- |
| | 0xA | | | 0xA |
Line 222: |
Line 230: |
| | 0x0012AB94 | | | 0x0012AB94 |
| | ? | | | ? |
− | | ? | + | | 0x00A8 bit10-13 |
| |- | | |- |
| | 0xB | | | 0xB |
Line 229: |
Line 237: |
| | 0x0012ACD4 | | | 0x0012ACD4 |
| | ? | | | ? |
− | | ? | + | | 0x00A8 bit14 |
| |- | | |- |
| | 0xC | | | 0xC |
Line 236: |
Line 244: |
| | 0x0012ADB8 | | | 0x0012ADB8 |
| | ? | | | ? |
− | | ? | + | | 0x00A8 bit0-2 |
| |- | | |- |
| | 0xD | | | 0xD |
Line 243: |
Line 251: |
| | 0x0012AEC0 | | | 0x0012AEC0 |
| | ? | | | ? |
− | | ? | + | | 0x00A8 bit3-5 |
| |- | | |- |
| | 0xE | | | 0xE |
Line 250: |
Line 258: |
| | 0x0012AFD0 | | | 0x0012AFD0 |
| | ? | | | ? |
− | | ? | + | | 0x00A8 bit16-17 |
| |- | | |- |
| | 0xF | | | 0xF |
Line 257: |
Line 265: |
| | 0x0012B0A0 | | | 0x0012B0A0 |
| | ? | | | ? |
− | | ? | + | | 0x00A8 bit18-19 |
| |- | | |- |
| | 0x10 | | | 0x10 |
Line 264: |
Line 272: |
| | 0x0012B168 | | | 0x0012B168 |
| | ? | | | ? |
− | | ? | + | | 0x00AC bit0-2 |
| |- | | |- |
| | 0x11 | | | 0x11 |
Line 271: |
Line 279: |
| | 0x0012B270 | | | 0x0012B270 |
| | ? | | | ? |
− | | ? | + | | 0x00AC bit11-18 |
| |- | | |- |
| | 0x12 | | | 0x12 |
Line 278: |
Line 286: |
| | 0x0012B334 | | | 0x0012B334 |
| | ? | | | ? |
− | | ? | + | | 0x00AD bit0-7 |
| |- | | |- |
| | 0x13 | | | 0x13 |
Line 285: |
Line 293: |
| | 0x001556B4 | | | 0x001556B4 |
| | 0xE10 | | | 0xE10 |
− | | ? | + | | 0x00A8 bit20-27 |
| |- | | |- |
| | 0x14 | | | 0x14 |
Line 292: |
Line 300: |
| | 0x0012B3E0 | | | 0x0012B3E0 |
| | ? | | | ? |
− | | ? | + | | 0x00A8 bit15 |
| |- | | |- |
| | 0x15 | | | 0x15 |
Line 299: |
Line 307: |
| | 0x00155878 | | | 0x00155878 |
| | 0xE14 | | | 0xE14 |
− | | ? | + | | 0x00A9, 0x00AB |
| |- | | |- |
| | 0x16 | | | 0x16 |
Line 306: |
Line 314: |
| | 0x00155A7C | | | 0x00155A7C |
| | 0xE20 | | | 0xE20 |
− | | ? | + | | 0x00AA, 0x00AB |
| |- | | |- |
| | 0x17 | | | 0x17 |
Line 390: |
Line 398: |
| | 0x0012EAEC | | | 0x0012EAEC |
| | 0x568 | | | 0x568 |
− | | ? | + | | 0x0047 bit0 |
| |- | | |- |
| | 0x23 | | | 0x23 |
Line 425: |
Line 433: |
| | 0x001560EC | | | 0x001560EC |
| | 0xE84 | | | 0xE84 |
− | | ? | + | | 0x0120 (vec[0] -> bit0-7, vec[1] -> bit8-15, vec[2] -> bit16-23) |
| |- | | |- |
| | 0x28 | | | 0x28 |
Line 432: |
Line 440: |
| | 0x00156268 | | | 0x00156268 |
| | 0xE90 | | | 0xE90 |
− | | ? | + | | 0x0121 (vec[0] -> bit0-7, vec[1] -> bit8-15, vec[2] -> bit16-23), 0x0122 (vec[3] -> bit 0-7) |
| |- | | |- |
| | 0x29 | | | 0x29 |
Line 439: |
Line 447: |
| | 0x001564D4 | | | 0x001564D4 |
| | 0xEA0 | | | 0xEA0 |
− | | ? | + | | 0x0126 bit0-23 |
| |- | | |- |
| | 0x2A | | | 0x2A |
Line 446: |
Line 454: |
| | 0x001565C0 | | | 0x001565C0 |
| | 0xEA4 | | | 0xEA4 |
− | | ? | + | | 0x00E5 |
| |- | | |- |
| | 0x2B | | | 0x2B |
Line 460: |
Line 468: |
| | 0x00156684 | | | 0x00156684 |
| | 0xEA8 | | | 0xEA8 |
− | | ? | + | | 0x00E4 |
| |- | | |- |
| | 0x2D | | | 0x2D |
Line 467: |
Line 475: |
| | 0x0012B7A4 | | | 0x0012B7A4 |
| | 0x640 | | | 0x640 |
− | | ? | + | | 0x0122 bit8 (0x6060/0x6061 -> 0/1) |
| |- | | |- |
| | 0x2E | | | 0x2E |
Line 474: |
Line 482: |
| | 0x0012B854 | | | 0x0012B854 |
| | 0x624 | | | 0x624 |
− | | ? | + | | 0x00E0 bit3 (0x605E/0x605F -> 0/1) |
| |- | | |- |
| | 0x2F | | | 0x2F |
Line 502: |
Line 510: |
| | 0x0012B9F4 | | | 0x0012B9F4 |
| | 0x590 | | | 0x590 |
− | | ? | + | | 0x00A8 bit0, 0x01C6 (0 = enabled) |
| |- | | |- |
| | 0x33 | | | 0x33 |
Line 509: |
Line 517: |
| | 0x00156744 | | | 0x00156744 |
| | 0xA10 | | | 0xA10 |
− | | ? | + | | 0x01C0? |
| |- | | |- |
| | 0x34 | | | 0x34 |
Line 516: |
Line 524: |
| | 0x00156E1C | | | 0x00156E1C |
| | 0xDE0 | | | 0xDE0 |
− | | ? | + | | 0x01C0? |
| |- | | |- |
| | 0x35 | | | 0x35 |
Line 523: |
Line 531: |
| | 0x0015696C | | | 0x0015696C |
| | 0xDA0 | | | 0xDA0 |
− | | ? | + | | 0x01C0 |
| |- | | |- |
| | 0x36 | | | 0x36 |
Line 607: |
Line 615: |
| | 0x001579CC | | | 0x001579CC |
| | 0xA20+0*0x70+0x04 | | | 0xA20+0*0x70+0x04 |
− | | 0x01C8 ? | + | | 0x0143 |
| |- | | |- |
| | 0x42 | | | 0x42 |
Line 614: |
Line 622: |
| | 0x001579CC | | | 0x001579CC |
| | 0xA20+1*0x70+0x04 | | | 0xA20+1*0x70+0x04 |
− | | 0x01C8 ? | + | | 0x0153 |
| |- | | |- |
| | 0x43 | | | 0x43 |
Line 621: |
Line 629: |
| | 0x001579CC | | | 0x001579CC |
| | 0xA20+2*0x70+0x04 | | | 0xA20+2*0x70+0x04 |
− | | 0x01C8 ? | + | | 0x0163 |
| |- | | |- |
| | 0x44 | | | 0x44 |
Line 628: |
Line 636: |
| | 0x001579CC | | | 0x001579CC |
| | 0xA20+3*0x70+0x04 | | | 0xA20+3*0x70+0x04 |
− | | 0x01C8 ? | + | | 0x0173 |
| |- | | |- |
| | 0x45 | | | 0x45 |
Line 635: |
Line 643: |
| | 0x001579CC | | | 0x001579CC |
| | 0xA20+4*0x70+0x04 | | | 0xA20+4*0x70+0x04 |
− | | 0x01C8 ? | + | | 0x0183 |
| |- | | |- |
| | 0x46 | | | 0x46 |
Line 642: |
Line 650: |
| | 0x001579CC | | | 0x001579CC |
| | 0xA20+5*0x70+0x04 | | | 0xA20+5*0x70+0x04 |
− | | 0x01C8 ? | + | | 0x0193 |
| |- | | |- |
| | 0x47 | | | 0x47 |
Line 649: |
Line 657: |
| | 0x001579CC | | | 0x001579CC |
| | 0xA20+6*0x70+0x04 | | | 0xA20+6*0x70+0x04 |
− | | 0x01C8 ? | + | | 0x01A3 |
| |- | | |- |
| | 0x48 | | | 0x48 |
Line 656: |
Line 664: |
| | 0x001579CC | | | 0x001579CC |
| | 0xA20+7*0x70+0x04 | | | 0xA20+7*0x70+0x04 |
− | | 0x01C8 ? | + | | 0x01B3 |
| |- | | |- |
| | 0x49 | | | 0x49 |
Line 663: |
Line 671: |
| | 0x00157C10 | | | 0x00157C10 |
| | 0xA20+0*0x70+0x14 | | | 0xA20+0*0x70+0x14 |
− | | 0x01C8 ? | + | | 0x0142 |
| |- | | |- |
| | 0x4A | | | 0x4A |
Line 670: |
Line 678: |
| | 0x00157C10 | | | 0x00157C10 |
| | 0xA20+1*0x70+0x14 | | | 0xA20+1*0x70+0x14 |
− | | 0x01C8 ? | + | | 0x0152 |
| |- | | |- |
| | 0x4B | | | 0x4B |
Line 677: |
Line 685: |
| | 0x00157C10 | | | 0x00157C10 |
| | 0xA20+2*0x70+0x14 | | | 0xA20+2*0x70+0x14 |
− | | 0x01C8 ? | + | | 0x0162 |
| |- | | |- |
| | 0x4C | | | 0x4C |
Line 684: |
Line 692: |
| | 0x00157C10 | | | 0x00157C10 |
| | 0xA20+3*0x70+0x14 | | | 0xA20+3*0x70+0x14 |
− | | 0x01C8 ? | + | | 0x0172 |
| |- | | |- |
| | 0x4D | | | 0x4D |
Line 691: |
Line 699: |
| | 0x00157C10 | | | 0x00157C10 |
| | 0xA20+4*0x70+0x14 | | | 0xA20+4*0x70+0x14 |
− | | 0x01C8 ? | + | | 0x0182 |
| |- | | |- |
| | 0x4E | | | 0x4E |
Line 698: |
Line 706: |
| | 0x00157C10 | | | 0x00157C10 |
| | 0xA20+5*0x70+0x14 | | | 0xA20+5*0x70+0x14 |
− | | 0x01C8 ? | + | | 0x0192 |
| |- | | |- |
| | 0x4F | | | 0x4F |
Line 705: |
Line 713: |
| | 0x00157C10 | | | 0x00157C10 |
| | 0xA20+6*0x70+0x14 | | | 0xA20+6*0x70+0x14 |
− | | 0x01C8 ? | + | | 0x01A2 |
| |- | | |- |
| | 0x50 | | | 0x50 |
Line 712: |
Line 720: |
| | 0x00157C10 | | | 0x00157C10 |
| | 0xA20+7*0x70+0x14 | | | 0xA20+7*0x70+0x14 |
− | | 0x01C8 ? | + | | 0x01B2 |
| |- | | |- |
| | 0x51 | | | 0x51 |
Line 999: |
Line 1,007: |
| | 0x0012C018 | | | 0x0012C018 |
| | 0x7D8 | | | 0x7D8 |
− | | 0x01C8 ? | + | | 0x0149 bit2 |
| |- | | |- |
| | 0x7A | | | 0x7A |
Line 1,006: |
Line 1,014: |
| | 0x0012C018 | | | 0x0012C018 |
| | 0x7D8 | | | 0x7D8 |
− | | 0x01C8 ? | + | | 0x0159 bit2 |
| |- | | |- |
| | 0x7B | | | 0x7B |
Line 1,013: |
Line 1,021: |
| | 0x0012C018 | | | 0x0012C018 |
| | 0x7D8 | | | 0x7D8 |
− | | 0x01C8 ? | + | | 0x0169 bit2 |
| |- | | |- |
| | 0x7C | | | 0x7C |
Line 1,020: |
Line 1,028: |
| | 0x0012C018 | | | 0x0012C018 |
| | 0x7D8 | | | 0x7D8 |
− | | 0x01C8 ? | + | | 0x0179 bit2 |
| |- | | |- |
| | 0x7D | | | 0x7D |
Line 1,027: |
Line 1,035: |
| | 0x0012C018 | | | 0x0012C018 |
| | 0x7D8 | | | 0x7D8 |
− | | 0x01C8 ? | + | | 0x0189 bit2 |
| |- | | |- |
| | 0x7E | | | 0x7E |
Line 1,034: |
Line 1,042: |
| | 0x0012C018 | | | 0x0012C018 |
| | 0x7D8 | | | 0x7D8 |
− | | 0x01C8 ? | + | | 0x0199 bit2 |
| |- | | |- |
| | 0x7F | | | 0x7F |
Line 1,041: |
Line 1,049: |
| | 0x0012C018 | | | 0x0012C018 |
| | 0x7D8 | | | 0x7D8 |
− | | 0x01C8 ? | + | | 0x01A9 bit2 |
| |- | | |- |
| | 0x80 | | | 0x80 |
Line 1,048: |
Line 1,056: |
| | 0x0012C018 | | | 0x0012C018 |
| | 0x7D8 | | | 0x7D8 |
− | | 0x01C8 ? | + | | 0x01B9 bit2 |
| |- | | |- |
| | 0x81 | | | 0x81 |
Line 1,055: |
Line 1,063: |
| | 0x0012C114 | | | 0x0012C114 |
| | 0x7D8 | | | 0x7D8 |
− | | 0x01C8 ? | + | | 0x0149 bit3 |
| |- | | |- |
| | 0x82 | | | 0x82 |
Line 1,062: |
Line 1,070: |
| | 0x0012C114 | | | 0x0012C114 |
| | 0x7D8 | | | 0x7D8 |
− | | 0x01C8 ? | + | | 0x0159 bit3 |
| |- | | |- |
| | 0x83 | | | 0x83 |
Line 1,069: |
Line 1,077: |
| | 0x0012C114 | | | 0x0012C114 |
| | 0x7D8 | | | 0x7D8 |
− | | 0x01C8 ? | + | | 0x0169 bit3 |
| |- | | |- |
| | 0x84 | | | 0x84 |
Line 1,076: |
Line 1,084: |
| | 0x0012C114 | | | 0x0012C114 |
| | 0x7D8 | | | 0x7D8 |
− | | 0x01C8 ? | + | | 0x0179 bit3 |
| |- | | |- |
| | 0x85 | | | 0x85 |
Line 1,083: |
Line 1,091: |
| | 0x0012C114 | | | 0x0012C114 |
| | 0x7D8 | | | 0x7D8 |
− | | 0x01C8 ? | + | | 0x0189 bit3 |
| |- | | |- |
| | 0x86 | | | 0x86 |
Line 1,090: |
Line 1,098: |
| | 0x0012C114 | | | 0x0012C114 |
| | 0x7D8 | | | 0x7D8 |
− | | 0x01C8 ? | + | | 0x0199 bit3 |
| |- | | |- |
| | 0x87 | | | 0x87 |
Line 1,097: |
Line 1,105: |
| | 0x0012C114 | | | 0x0012C114 |
| | 0x7D8 | | | 0x7D8 |
− | | 0x01C8 ? | + | | 0x01A9 bit3 |
| |- | | |- |
| | 0x88 | | | 0x88 |
Line 1,104: |
Line 1,112: |
| | 0x0012C114 | | | 0x0012C114 |
| | 0x7D8 | | | 0x7D8 |
− | | 0x01C8 ? | + | | 0x01B9 bit3 |
| |- | | |- |
| | 0x89 | | | 0x89 |
Line 1,111: |
Line 1,119: |
| | 0x0012BF10 | | | 0x0012BF10 |
| | 0x7D8 | | | 0x7D8 |
− | | 0x01C8 ? | + | | 0x0149 bit1 |
| |- | | |- |
| | 0x8A | | | 0x8A |
Line 1,118: |
Line 1,126: |
| | 0x0012BF10 | | | 0x0012BF10 |
| | 0x7D8 | | | 0x7D8 |
− | | 0x01C8 ? | + | | 0x0159 bit1 |
| |- | | |- |
| | 0x8B | | | 0x8B |
Line 1,125: |
Line 1,133: |
| | 0x0012BF10 | | | 0x0012BF10 |
| | 0x7D8 | | | 0x7D8 |
− | | 0x01C8 ? | + | | 0x0169 bit1 |
| |- | | |- |
| | 0x8C | | | 0x8C |
Line 1,132: |
Line 1,140: |
| | 0x0012BF10 | | | 0x0012BF10 |
| | 0x7D8 | | | 0x7D8 |
− | | 0x01C8 ? | + | | 0x0179 bit1 |
| |- | | |- |
| | 0x8D | | | 0x8D |
Line 1,139: |
Line 1,147: |
| | 0x0012BF10 | | | 0x0012BF10 |
| | 0x7D8 | | | 0x7D8 |
− | | 0x01C8 ? | + | | 0x0189 bit1 |
| |- | | |- |
| | 0x8E | | | 0x8E |
Line 1,146: |
Line 1,154: |
| | 0x0012BF10 | | | 0x0012BF10 |
| | 0x7D8 | | | 0x7D8 |
− | | 0x01C8 ? | + | | 0x0199 bit1 |
| |- | | |- |
| | 0x8F | | | 0x8F |
Line 1,153: |
Line 1,161: |
| | 0x0012BF10 | | | 0x0012BF10 |
| | 0x7D8 | | | 0x7D8 |
− | | 0x01C8 ? | + | | 0x01A9 bit1 |
| |- | | |- |
| | 0x90 | | | 0x90 |
Line 1,160: |
Line 1,168: |
| | 0x0012BF10 | | | 0x0012BF10 |
| | 0x7D8 | | | 0x7D8 |
− | | 0x01C8 ? | + | | 0x01B9 bit1 |
| |- | | |- |
| | 0x91 | | | 0x91 |
Line 1,223: |
Line 1,231: |
| | 0x0012C380 | | | 0x0012C380 |
| | ? | | | ? |
− | | 0x01C8 ? | + | | 0x01C4 bit3 (1 = disable?) |
| |- | | |- |
| | 0x9A | | | 0x9A |
Line 1,230: |
Line 1,238: |
| | 0x0012C380 | | | 0x0012C380 |
| | ? | | | ? |
− | | 0x01C8 ? | + | | 0x01C4 bit4 (1 = disable?) |
| |- | | |- |
| | 0x9B | | | 0x9B |
Line 1,237: |
Line 1,245: |
| | 0x0012C380 | | | 0x0012C380 |
| | ? | | | ? |
− | | 0x01C8 ? | + | | 0x01C4 bit5 (1 = disable?) |
| |- | | |- |
| | 0x9C | | | 0x9C |
Line 1,244: |
Line 1,252: |
| | 0x0012C380 | | | 0x0012C380 |
| | ? | | | ? |
− | | 0x01C8 ? | + | | 0x01C4 bit6 (1 = disable?) |
| |- | | |- |
| | 0x9D | | | 0x9D |
Line 1,251: |
Line 1,259: |
| | 0x0012C380 | | | 0x0012C380 |
| | ? | | | ? |
− | | 0x01C8 ? | + | | 0x01C4 bit7 (1 = disable?) |
| |- | | |- |
| | 0x9E | | | 0x9E |
Line 1,258: |
Line 1,266: |
| | 0x0012C380 | | | 0x0012C380 |
| | ? | | | ? |
− | | 0x01C8 ? | + | | 0x01C4 bit8 (1 = disable?) |
| |- | | |- |
| | 0x9F | | | 0x9F |
Line 1,265: |
Line 1,273: |
| | 0x0012C380 | | | 0x0012C380 |
| | ? | | | ? |
− | | 0x01C8 ? | + | | 0x01C4 bit9 (1 = disable?) |
| |- | | |- |
| | 0xA0 | | | 0xA0 |
Line 1,272: |
Line 1,280: |
| | 0x0012C380 | | | 0x0012C380 |
| | ? | | | ? |
− | | 0x01C8 ? | + | | 0x01C4 bit10 (1 = disable?) |
| |- | | |- |
| | 0xA1 | | | 0xA1 |
Line 1,503: |
Line 1,511: |
| | 0x0012C5D8 | | | 0x0012C5D8 |
| | ? | | | ? |
− | | ? | + | | 0x01D0 bit12 (1 = disable?) |
| |- | | |- |
| | 0xC2 | | | 0xC2 |
Line 1,510: |
Line 1,518: |
| | 0x0012C5D8 | | | 0x0012C5D8 |
| | ? | | | ? |
− | | ? | + | | 0x01D0 bit13 (1 = disable?) |
| |- | | |- |
| | 0xC3 | | | 0xC3 |
Line 1,517: |
Line 1,525: |
| | 0x0012C5D8 | | | 0x0012C5D8 |
| | ? | | | ? |
− | | ? | + | | 0x01D0 bit14 (1 = disable?) |
| |- | | |- |
| | 0xC4 | | | 0xC4 |
Line 1,524: |
Line 1,532: |
| | 0x0012C5D8 | | | 0x0012C5D8 |
| | ? | | | ? |
− | | ? | + | | 0x01D0 bit15 (1 = disable?) |
| |- | | |- |
| | 0xC5 | | | 0xC5 |
Line 1,531: |
Line 1,539: |
| | 0x0012C5D8 | | | 0x0012C5D8 |
| | ? | | | ? |
− | | ? | + | | 0x01D0 bit16 (1 = disable?) |
| |- | | |- |
| | 0xC6 | | | 0xC6 |
Line 1,538: |
Line 1,546: |
| | 0x0012C5D8 | | | 0x0012C5D8 |
| | ? | | | ? |
− | | ? | + | | 0x01D0 bit17 (1 = disable?) |
| |- | | |- |
| | 0xC7 | | | 0xC7 |
Line 1,545: |
Line 1,553: |
| | 0x0012C5D8 | | | 0x0012C5D8 |
| | ? | | | ? |
− | | ? | + | | 0x01D0 bit18 (1 = disable?) |
| |- | | |- |
| | 0xC8 | | | 0xC8 |
Line 1,552: |
Line 1,560: |
| | 0x0012C6E8 | | | 0x0012C6E8 |
| | ? | | | ? |
− | | ? | + | | 0x01D1 bit0-2 |
| |- | | |- |
| | 0xC9 | | | 0xC9 |
Line 1,559: |
Line 1,567: |
| | 0x0012C6E8 | | | 0x0012C6E8 |
| | ? | | | ? |
− | | ? | + | | 0x01D1 bit4-6 |
| |- | | |- |
| | 0xCA | | | 0xCA |
Line 1,566: |
Line 1,574: |
| | 0x0012C6E8 | | | 0x0012C6E8 |
| | ? | | | ? |
− | | ? | + | | 0x01D1 bit8-10 |
| |- | | |- |
| | 0xCB | | | 0xCB |
Line 1,573: |
Line 1,581: |
| | 0x0012C6E8 | | | 0x0012C6E8 |
| | ? | | | ? |
− | | ? | + | | 0x01D1 bit12-14 |
| |- | | |- |
| | 0xCC | | | 0xCC |
Line 1,580: |
Line 1,588: |
| | 0x0012C6E8 | | | 0x0012C6E8 |
| | ? | | | ? |
− | | ? | + | | 0x01D1 bit16-18 |
| |- | | |- |
| | 0xCD | | | 0xCD |
Line 1,587: |
Line 1,595: |
| | 0x0012C6E8 | | | 0x0012C6E8 |
| | ? | | | ? |
− | | ? | + | | 0x01D1 bit20-22 |
| |- | | |- |
| | 0xCE | | | 0xCE |
Line 1,594: |
Line 1,602: |
| | 0x0012C6E8 | | | 0x0012C6E8 |
| | ? | | | ? |
− | | ? | + | | 0x01D1 bit24-26 |
| |- | | |- |
| | 0xCF | | | 0xCF |
Line 1,601: |
Line 1,609: |
| | 0x00155404 | | | 0x00155404 |
| | ? | | | ? |
− | | ? | + | | 0x01D2 bit0-3 |
| |- | | |- |
| | 0xD0 | | | 0xD0 |
Line 1,608: |
Line 1,616: |
| | 0x00155404 | | | 0x00155404 |
| | ? | | | ? |
− | | ? | + | | 0x01D2 bit4-7 |
| |- | | |- |
| | 0xD1 | | | 0xD1 |
Line 1,615: |
Line 1,623: |
| | 0x00155404 | | | 0x00155404 |
| | ? | | | ? |
− | | ? | + | | 0x01D2 bit8-11 |
| |- | | |- |
| | 0xD2 | | | 0xD2 |
Line 1,622: |
Line 1,630: |
| | 0x00155404 | | | 0x00155404 |
| | ? | | | ? |
− | | ? | + | | 0x01D2 bit12-15 |
| |- | | |- |
| | 0xD3 | | | 0xD3 |
Line 1,629: |
Line 1,637: |
| | 0x00155404 | | | 0x00155404 |
| | ? | | | ? |
− | | ? | + | |0x01D2 bit16-19 |
| |- | | |- |
| | 0xD4 | | | 0xD4 |
Line 1,636: |
Line 1,644: |
| | 0x00155404 | | | 0x00155404 |
| | ? | | | ? |
− | | ? | + | | 0x01D2 bit20-23 |
| |- | | |- |
| | 0xD5 | | | 0xD5 |
Line 1,643: |
Line 1,651: |
| | 0x00155404 | | | 0x00155404 |
| | ? | | | ? |
− | | ? | + | | 0x01D2 bit24-27 |
| |- | | |- |
| | 0xD6 | | | 0xD6 |
Line 1,692: |
Line 1,700: |
| | 0x0012CE44 | | | 0x0012CE44 |
| | ? | | | ? |
− | | ? | + | | 0x01C3 bit24-25 |
| |- | | |- |
| | 0xDD | | | 0xDD |
Line 1,699: |
Line 1,707: |
| | 0x0012CD88 | | | 0x0012CD88 |
| | ? | | | ? |
− | | ? | + | | 0x01C3 bit22-23 |
| |- | | |- |
| | 0xDE | | | 0xDE |
Line 2,203: |
Line 2,211: |
| | 0x0012E7F8 | | | 0x0012E7F8 |
| | ? | | | ? |
− | | ? | + | | 0x00E0 bit0-2 (5 -> fog (0x0B60), 7 -> gas (0x6050)) |
| |- | | |- |
| | 0x126 | | | 0x126 |
Line 2,217: |
Line 2,225: |
| | 0x0012E9DC | | | 0x0012E9DC |
| | ? | | | ? |
− | | ? | + | | 0x00E0 bit16 |
| |- | | |- |
| | 0x128 | | | 0x128 |
Line 2,228: |
Line 2,236: |
| | | |
| On steeldiver's uniform handlers : R1 is a pointer to the current shader program object, R12 is a pointer to the data the uniform is being set to. | | On steeldiver's uniform handlers : R1 is a pointer to the current shader program object, R12 is a pointer to the data the uniform is being set to. |
| + | |
| + | == Other Symbols == |
| + | |
| + | The list above is not exhaustive. A number of other strings specific to Nintendo's rendering framework have been found. Below is a table listing those strings including the location they were found in. |
| + | |
| + | {| class="wikitable" border="1" |
| + | ! Name |
| + | ! Context |
| + | ! Occurrence |
| + | |- |
| + | | dmp_Point.viewport.xy |
| + | | Name of a shader uniform |
| + | | CTRAging's romfs:/gpu/GasCessna/shader.shbin |
| + | |- |
| + | | dmp_Point.distanceAttenuation |
| + | | Name of a shader uniform |
| + | | CTRAging's romfs:/gpu/GasCessna/shader.shbin |
| + | |- |
| + | | dmp_Point.Position |
| + | | Name of a shader uniform |
| + | | CTRAging's romfs:/gpu/GasCessna/shader.shbin |
| + | |- |
| + | | dmp_Point.PointSize |
| + | | Name of a shader uniform |
| + | | CTRAging's romfs:/gpu/GasCessna/shader.shbin |
| + | |} |