Nintendo OpenGL: Difference between revisions
mNo edit summary |
|||
(19 intermediate revisions by 5 users not shown) | |||
Line 4: | Line 4: | ||
== Description == | == Description == | ||
The PICA200 is an | 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 39: | Line 39: | ||
| 0x04 | | 0x04 | ||
| Number of program-specific uniforms | | Number of program-specific uniforms | ||
|- | |||
| 0x414 | |||
| 0x04 | |||
| Pointer to vertex shader struct | |||
|- | |- | ||
| 0x64C | | 0x64C | ||
Line 102: | Line 106: | ||
| 0x04 | | 0x04 | ||
| dmp_FragmentLightSource[k].distanceAttenuationScale (float) | | dmp_FragmentLightSource[k].distanceAttenuationScale (float) | ||
|} | |||
vertex/geometry shader struct: | |||
{| class="wikitable" border="1" | |||
! Offset | |||
! Size | |||
! Description | |||
|- | |||
| 0x0 | |||
| 0x4 | |||
| Pointer to shader code data | |||
|- | |||
| 0x4 | |||
| 0x4 | |||
| Size of shader code (in words) | |||
|- | |||
| 0x8 | |||
| 0x4 | |||
| Pointer to shader opdesc data | |||
|- | |||
| 0xC | |||
| 0x4 | |||
| Size of shader opdescs (in words) | |||
|} | |} | ||
Line 133: | Line 160: | ||
| 0x0012A504 | | 0x0012A504 | ||
| ? | | ? | ||
| ? | | 0x008B bit0 (0 = enable??) | ||
|- | |- | ||
| 0x1 | | 0x1 | ||
Line 139: | Line 166: | ||
| dmp_Texture[0].shadowZBias | | dmp_Texture[0].shadowZBias | ||
| 0x00155584 | | 0x00155584 | ||
| | | 0xE44 | ||
| ? | | ? | ||
|- | |- | ||
Line 146: | Line 173: | ||
| dmp_Texture[0].shadowZScale | | dmp_Texture[0].shadowZScale | ||
| 0x001556A0 | | 0x001556A0 | ||
| | | 0xE48 | ||
| ? | | ? | ||
|- | |- | ||
Line 175: | Line 202: | ||
| 0x0012A7F0 | | 0x0012A7F0 | ||
| ? | | ? | ||
| ? | | 0x0080 bit10 (?) | ||
|- | |- | ||
| 0x7 | | 0x7 | ||
Line 182: | Line 209: | ||
| 0x0012A8B4 | | 0x0012A8B4 | ||
| ? | | ? | ||
| | | 0x0080 bit13 (1 = use texcoords from texture unit 1) | ||
|- | |- | ||
| 0x8 | | 0x8 | ||
Line 189: | Line 216: | ||
| 0x0012A97C | | 0x0012A97C | ||
| ? | | ? | ||
| ? | | 0x0080 bit8-9 (0-2 = use texcoords from texture unit 0-2 resp., 3 = forbidden?) | ||
|- | |- | ||
| 0x9 | | 0x9 | ||
Line 196: | Line 223: | ||
| 0x0012AA54 | | 0x0012AA54 | ||
| ? | | ? | ||
| | | 0x00A8 bit6-9 | ||
|- | |- | ||
| 0xA | | 0xA | ||
Line 203: | Line 230: | ||
| 0x0012AB94 | | 0x0012AB94 | ||
| ? | | ? | ||
| | | 0x00A8 bit10-13 | ||
|- | |- | ||
| 0xB | | 0xB | ||
Line 210: | Line 237: | ||
| 0x0012ACD4 | | 0x0012ACD4 | ||
| ? | | ? | ||
| | | 0x00A8 bit14 | ||
|- | |- | ||
| 0xC | | 0xC | ||
Line 217: | Line 244: | ||
| 0x0012ADB8 | | 0x0012ADB8 | ||
| ? | | ? | ||
| | | 0x00A8 bit0-2 | ||
|- | |- | ||
| 0xD | | 0xD | ||
Line 224: | Line 251: | ||
| 0x0012AEC0 | | 0x0012AEC0 | ||
| ? | | ? | ||
| | | 0x00A8 bit3-5 | ||
|- | |- | ||
| 0xE | | 0xE | ||
Line 231: | Line 258: | ||
| 0x0012AFD0 | | 0x0012AFD0 | ||
| ? | | ? | ||
| | | 0x00A8 bit16-17 | ||
|- | |- | ||
| 0xF | | 0xF | ||
Line 238: | Line 265: | ||
| 0x0012B0A0 | | 0x0012B0A0 | ||
| ? | | ? | ||
| | | 0x00A8 bit18-19 | ||
|- | |- | ||
| 0x10 | | 0x10 | ||
Line 245: | Line 272: | ||
| 0x0012B168 | | 0x0012B168 | ||
| ? | | ? | ||
| | | 0x00AC bit0-2 | ||
|- | |- | ||
| 0x11 | | 0x11 | ||
Line 252: | Line 279: | ||
| 0x0012B270 | | 0x0012B270 | ||
| ? | | ? | ||
| | | 0x00AC bit11-18 | ||
|- | |- | ||
| 0x12 | | 0x12 | ||
Line 259: | Line 286: | ||
| 0x0012B334 | | 0x0012B334 | ||
| ? | | ? | ||
| | | 0x00AD bit0-7 | ||
|- | |- | ||
| 0x13 | | 0x13 | ||
Line 265: | Line 292: | ||
| dmp_Texture[3].ptTexBias | | dmp_Texture[3].ptTexBias | ||
| 0x001556B4 | | 0x001556B4 | ||
| | | 0xE10 | ||
| | | 0x00A8 bit20-27 | ||
|- | |- | ||
| 0x14 | | 0x14 | ||
Line 273: | Line 300: | ||
| 0x0012B3E0 | | 0x0012B3E0 | ||
| ? | | ? | ||
| | | 0x00A8 bit15 | ||
|- | |- | ||
| 0x15 | | 0x15 | ||
Line 279: | Line 306: | ||
| dmp_Texture[3].ptNoiseU | | dmp_Texture[3].ptNoiseU | ||
| 0x00155878 | | 0x00155878 | ||
| | | 0xE14 | ||
| | | 0x00A9, 0x00AB | ||
|- | |- | ||
| 0x16 | | 0x16 | ||
Line 286: | Line 313: | ||
| dmp_Texture[3].ptNoiseV | | dmp_Texture[3].ptNoiseV | ||
| 0x00155A7C | | 0x00155A7C | ||
| | | 0xE20 | ||
| | | 0x00AA, 0x00AB | ||
|- | |- | ||
| 0x17 | | 0x17 | ||
Line 293: | Line 320: | ||
| dmp_Texture[3].ptSamplerRgbMap | | dmp_Texture[3].ptSamplerRgbMap | ||
| 0x0012B4B0 | | 0x0012B4B0 | ||
| | | 0xDF0 | ||
| ? | | ? | ||
|- | |- | ||
Line 300: | Line 327: | ||
| dmp_Texture[3].ptSamplerAlphaMap | | dmp_Texture[3].ptSamplerAlphaMap | ||
| 0x0012B4F4 | | 0x0012B4F4 | ||
| | | 0xDF4 | ||
| ? | | ? | ||
|- | |- | ||
Line 307: | Line 334: | ||
| dmp_Texture[3].ptSamplerNoiseMap | | dmp_Texture[3].ptSamplerNoiseMap | ||
| 0x0012B540 | | 0x0012B540 | ||
| | | 0xDF8 | ||
| ? | | ? | ||
|- | |- | ||
Line 314: | Line 341: | ||
| dmp_Texture[3].ptSamplerR | | dmp_Texture[3].ptSamplerR | ||
| 0x0012B58C | | 0x0012B58C | ||
| | | 0xDFC | ||
| ? | | ? | ||
|- | |- | ||
Line 321: | Line 348: | ||
| dmp_Texture[3].ptSamplerG | | dmp_Texture[3].ptSamplerG | ||
| 0x0012B5D8 | | 0x0012B5D8 | ||
| | | 0xE00 | ||
| ? | | ? | ||
|- | |- | ||
Line 328: | Line 355: | ||
| dmp_Texture[3].ptSamplerB | | dmp_Texture[3].ptSamplerB | ||
| 0x0012B624 | | 0x0012B624 | ||
| | | 0xE04 | ||
| ? | | ? | ||
|- | |- | ||
Line 335: | Line 362: | ||
| dmp_Texture[3].ptSamplerA | | dmp_Texture[3].ptSamplerA | ||
| 0x0012B670 | | 0x0012B670 | ||
| | | 0xE08 | ||
| ? | | ? | ||
|- | |- | ||
Line 342: | Line 369: | ||
| dmp_FragOperation.mode | | dmp_FragOperation.mode | ||
| 0x0012B6BC | | 0x0012B6BC | ||
| | | 0xE38 | ||
| ? | | ? | ||
|- | |- | ||
Line 349: | Line 376: | ||
| dmp_FragOperation.penumbraScale | | dmp_FragOperation.penumbraScale | ||
| 0x00155C98 | | 0x00155C98 | ||
| | | 0xE40 | ||
| ? | | ? | ||
|- | |- | ||
Line 356: | Line 383: | ||
| dmp_FragOperation.penumbraBias | | dmp_FragOperation.penumbraBias | ||
| 0x00155D8C | | 0x00155D8C | ||
| | | 0xE3C | ||
| ? | | ? | ||
|- | |- | ||
Line 363: | Line 390: | ||
| dmp_FragOperation.wScale | | dmp_FragOperation.wScale | ||
| 0x00155E9C | | 0x00155E9C | ||
| | | 0xE4C | ||
| ? | | ? | ||
|- | |- | ||
Line 370: | Line 397: | ||
| dmp_FragOperation.enableClippingPlane | | dmp_FragOperation.enableClippingPlane | ||
| 0x0012EAEC | | 0x0012EAEC | ||
| | | 0x568 | ||
| | | 0x0047 bit0 | ||
|- | |- | ||
| 0x23 | | 0x23 | ||
Line 377: | Line 404: | ||
| dmp_FragOperation.clippingPlane | | dmp_FragOperation.clippingPlane | ||
| 0x00159474 | | 0x00159474 | ||
| | | 0xE50 | ||
| ? | | ? | ||
|- | |- | ||
Line 384: | Line 411: | ||
| dmp_FragOperation.enableAlphaTest | | dmp_FragOperation.enableAlphaTest | ||
| 0x0012EBAC | | 0x0012EBAC | ||
| | | 0x64C | ||
| ? | | ? | ||
|- | |- | ||
Line 391: | Line 418: | ||
| dmp_FragOperation.alphaTestFunc | | dmp_FragOperation.alphaTestFunc | ||
| 0x0012EC64 | | 0x0012EC64 | ||
| | | 0x64C | ||
| ? | | ? | ||
|- | |- | ||
Line 398: | Line 425: | ||
| dmp_FragOperation.alphaRefValue | | dmp_FragOperation.alphaRefValue | ||
| 0x0015971C | | 0x0015971C | ||
| ? | | 0x64C ? | ||
| ? | | ? | ||
|- | |- | ||
Line 405: | Line 432: | ||
| dmp_Gas.lightXY | | dmp_Gas.lightXY | ||
| 0x001560EC | | 0x001560EC | ||
| | | 0xE84 | ||
| | | 0x0120 (vec[0] -> bit0-7, vec[1] -> bit8-15, vec[2] -> bit16-23) | ||
|- | |- | ||
| 0x28 | | 0x28 | ||
Line 412: | Line 439: | ||
| dmp_Gas.lightZ | | dmp_Gas.lightZ | ||
| 0x00156268 | | 0x00156268 | ||
| | | 0xE90 | ||
| | | 0x0121 (vec[0] -> bit0-7, vec[1] -> bit8-15, vec[2] -> bit16-23), 0x0122 (vec[3] -> bit 0-7) | ||
|- | |- | ||
| 0x29 | | 0x29 | ||
Line 419: | Line 446: | ||
| dmp_Gas.deltaZ | | dmp_Gas.deltaZ | ||
| 0x001564D4 | | 0x001564D4 | ||
| | | 0xEA0 | ||
| | | 0x0126 bit0-23 | ||
|- | |- | ||
| 0x2A | | 0x2A | ||
Line 426: | Line 453: | ||
| dmp_Gas.accMax | | dmp_Gas.accMax | ||
| 0x001565C0 | | 0x001565C0 | ||
| | | 0xEA4 | ||
| | | 0x00E5 | ||
|- | |- | ||
| 0x2B | | 0x2B | ||
Line 433: | Line 460: | ||
| dmp_Gas.autoAcc | | dmp_Gas.autoAcc | ||
| 0x0012B790 | | 0x0012B790 | ||
| | | 0xE74 | ||
| ? | | ? | ||
|- | |- | ||
Line 440: | Line 467: | ||
| dmp_Gas.attenuation | | dmp_Gas.attenuation | ||
| 0x00156684 | | 0x00156684 | ||
| | | 0xEA8 | ||
| | | 0x00E4 | ||
|- | |- | ||
| 0x2D | | 0x2D | ||
Line 447: | Line 474: | ||
| dmp_Gas.colorLutInput | | dmp_Gas.colorLutInput | ||
| 0x0012B7A4 | | 0x0012B7A4 | ||
| | | 0x640 | ||
| | | 0x0122 bit8 (0x6060/0x6061 -> 0/1) | ||
|- | |- | ||
| 0x2E | | 0x2E | ||
Line 454: | Line 481: | ||
| dmp_Gas.shadingDensitySrc | | dmp_Gas.shadingDensitySrc | ||
| 0x0012B854 | | 0x0012B854 | ||
| | | 0x624 | ||
| | | 0x00E0 bit3 (0x605E/0x605F -> 0/1) | ||
|- | |- | ||
| 0x2F | | 0x2F | ||
Line 461: | Line 488: | ||
| dmp_Gas.samplerTR | | dmp_Gas.samplerTR | ||
| 0x0012B910 | | 0x0012B910 | ||
| | | 0xE78 | ||
| ? | | ? | ||
|- | |- | ||
Line 468: | Line 495: | ||
| dmp_Gas.samplerTG | | dmp_Gas.samplerTG | ||
| 0x0012B95C | | 0x0012B95C | ||
| | | 0xE7C | ||
| ? | | ? | ||
|- | |- | ||
Line 475: | Line 502: | ||
| dmp_Gas.samplerTB | | dmp_Gas.samplerTB | ||
| 0x0012B9A8 | | 0x0012B9A8 | ||
| | | 0xE80 | ||
| ? | | ? | ||
|- | |- | ||
Line 482: | Line 509: | ||
| dmp_FragmentLighting.enabled | | dmp_FragmentLighting.enabled | ||
| 0x0012B9F4 | | 0x0012B9F4 | ||
| | | 0x590 | ||
| | | 0x00A8 bit0, 0x01C6 (0 = enabled) | ||
|- | |- | ||
| 0x33 | | 0x33 | ||
Line 490: | Line 517: | ||
| 0x00156744 | | 0x00156744 | ||
| 0xA10 | | 0xA10 | ||
| ? | | 0x01C0? | ||
|- | |- | ||
| 0x34 | | 0x34 | ||
Line 497: | Line 524: | ||
| 0x00156E1C | | 0x00156E1C | ||
| 0xDE0 | | 0xDE0 | ||
| ? | | 0x01C0? | ||
|- | |- | ||
| 0x35 | | 0x35 | ||
Line 504: | Line 531: | ||
| 0x0015696C | | 0x0015696C | ||
| 0xDA0 | | 0xDA0 | ||
| | | 0x01C0 | ||
|- | |- | ||
| 0x36 | | 0x36 | ||
Line 588: | Line 615: | ||
| 0x001579CC | | 0x001579CC | ||
| 0xA20+0*0x70+0x04 | | 0xA20+0*0x70+0x04 | ||
| | | 0x0143 | ||
|- | |- | ||
| 0x42 | | 0x42 | ||
Line 595: | Line 622: | ||
| 0x001579CC | | 0x001579CC | ||
| 0xA20+1*0x70+0x04 | | 0xA20+1*0x70+0x04 | ||
| | | 0x0153 | ||
|- | |- | ||
| 0x43 | | 0x43 | ||
Line 602: | Line 629: | ||
| 0x001579CC | | 0x001579CC | ||
| 0xA20+2*0x70+0x04 | | 0xA20+2*0x70+0x04 | ||
| | | 0x0163 | ||
|- | |- | ||
| 0x44 | | 0x44 | ||
Line 609: | Line 636: | ||
| 0x001579CC | | 0x001579CC | ||
| 0xA20+3*0x70+0x04 | | 0xA20+3*0x70+0x04 | ||
| | | 0x0173 | ||
|- | |- | ||
| 0x45 | | 0x45 | ||
Line 616: | Line 643: | ||
| 0x001579CC | | 0x001579CC | ||
| 0xA20+4*0x70+0x04 | | 0xA20+4*0x70+0x04 | ||
| | | 0x0183 | ||
|- | |- | ||
| 0x46 | | 0x46 | ||
Line 623: | Line 650: | ||
| 0x001579CC | | 0x001579CC | ||
| 0xA20+5*0x70+0x04 | | 0xA20+5*0x70+0x04 | ||
| | | 0x0193 | ||
|- | |- | ||
| 0x47 | | 0x47 | ||
Line 630: | Line 657: | ||
| 0x001579CC | | 0x001579CC | ||
| 0xA20+6*0x70+0x04 | | 0xA20+6*0x70+0x04 | ||
| | | 0x01A3 | ||
|- | |- | ||
| 0x48 | | 0x48 | ||
Line 637: | Line 664: | ||
| 0x001579CC | | 0x001579CC | ||
| 0xA20+7*0x70+0x04 | | 0xA20+7*0x70+0x04 | ||
| | | 0x01B3 | ||
|- | |- | ||
| 0x49 | | 0x49 | ||
Line 644: | Line 671: | ||
| 0x00157C10 | | 0x00157C10 | ||
| 0xA20+0*0x70+0x14 | | 0xA20+0*0x70+0x14 | ||
| | | 0x0142 | ||
|- | |- | ||
| 0x4A | | 0x4A | ||
Line 651: | Line 678: | ||
| 0x00157C10 | | 0x00157C10 | ||
| 0xA20+1*0x70+0x14 | | 0xA20+1*0x70+0x14 | ||
| | | 0x0152 | ||
|- | |- | ||
| 0x4B | | 0x4B | ||
Line 658: | Line 685: | ||
| 0x00157C10 | | 0x00157C10 | ||
| 0xA20+2*0x70+0x14 | | 0xA20+2*0x70+0x14 | ||
| | | 0x0162 | ||
|- | |- | ||
| 0x4C | | 0x4C | ||
Line 665: | Line 692: | ||
| 0x00157C10 | | 0x00157C10 | ||
| 0xA20+3*0x70+0x14 | | 0xA20+3*0x70+0x14 | ||
| | | 0x0172 | ||
|- | |- | ||
| 0x4D | | 0x4D | ||
Line 672: | Line 699: | ||
| 0x00157C10 | | 0x00157C10 | ||
| 0xA20+4*0x70+0x14 | | 0xA20+4*0x70+0x14 | ||
| | | 0x0182 | ||
|- | |- | ||
| 0x4E | | 0x4E | ||
Line 679: | Line 706: | ||
| 0x00157C10 | | 0x00157C10 | ||
| 0xA20+5*0x70+0x14 | | 0xA20+5*0x70+0x14 | ||
| | | 0x0192 | ||
|- | |- | ||
| 0x4F | | 0x4F | ||
Line 686: | Line 713: | ||
| 0x00157C10 | | 0x00157C10 | ||
| 0xA20+6*0x70+0x14 | | 0xA20+6*0x70+0x14 | ||
| | | 0x01A2 | ||
|- | |- | ||
| 0x50 | | 0x50 | ||
Line 693: | Line 720: | ||
| 0x00157C10 | | 0x00157C10 | ||
| 0xA20+7*0x70+0x14 | | 0xA20+7*0x70+0x14 | ||
| | | 0x01B2 | ||
|- | |- | ||
| 0x51 | | 0x51 | ||
Line 980: | Line 1,007: | ||
| 0x0012C018 | | 0x0012C018 | ||
| 0x7D8 | | 0x7D8 | ||
| | | 0x0149 bit2 | ||
|- | |- | ||
| 0x7A | | 0x7A | ||
Line 987: | Line 1,014: | ||
| 0x0012C018 | | 0x0012C018 | ||
| 0x7D8 | | 0x7D8 | ||
| | | 0x0159 bit2 | ||
|- | |- | ||
| 0x7B | | 0x7B | ||
Line 994: | Line 1,021: | ||
| 0x0012C018 | | 0x0012C018 | ||
| 0x7D8 | | 0x7D8 | ||
| | | 0x0169 bit2 | ||
|- | |- | ||
| 0x7C | | 0x7C | ||
Line 1,001: | Line 1,028: | ||
| 0x0012C018 | | 0x0012C018 | ||
| 0x7D8 | | 0x7D8 | ||
| | | 0x0179 bit2 | ||
|- | |- | ||
| 0x7D | | 0x7D | ||
Line 1,008: | Line 1,035: | ||
| 0x0012C018 | | 0x0012C018 | ||
| 0x7D8 | | 0x7D8 | ||
| | | 0x0189 bit2 | ||
|- | |- | ||
| 0x7E | | 0x7E | ||
Line 1,015: | Line 1,042: | ||
| 0x0012C018 | | 0x0012C018 | ||
| 0x7D8 | | 0x7D8 | ||
| | | 0x0199 bit2 | ||
|- | |- | ||
| 0x7F | | 0x7F | ||
Line 1,022: | Line 1,049: | ||
| 0x0012C018 | | 0x0012C018 | ||
| 0x7D8 | | 0x7D8 | ||
| | | 0x01A9 bit2 | ||
|- | |- | ||
| 0x80 | | 0x80 | ||
Line 1,029: | Line 1,056: | ||
| 0x0012C018 | | 0x0012C018 | ||
| 0x7D8 | | 0x7D8 | ||
| | | 0x01B9 bit2 | ||
|- | |- | ||
| 0x81 | | 0x81 | ||
Line 1,036: | Line 1,063: | ||
| 0x0012C114 | | 0x0012C114 | ||
| 0x7D8 | | 0x7D8 | ||
| | | 0x0149 bit3 | ||
|- | |- | ||
| 0x82 | | 0x82 | ||
Line 1,043: | Line 1,070: | ||
| 0x0012C114 | | 0x0012C114 | ||
| 0x7D8 | | 0x7D8 | ||
| | | 0x0159 bit3 | ||
|- | |- | ||
| 0x83 | | 0x83 | ||
Line 1,050: | Line 1,077: | ||
| 0x0012C114 | | 0x0012C114 | ||
| 0x7D8 | | 0x7D8 | ||
| | | 0x0169 bit3 | ||
|- | |- | ||
| 0x84 | | 0x84 | ||
Line 1,057: | Line 1,084: | ||
| 0x0012C114 | | 0x0012C114 | ||
| 0x7D8 | | 0x7D8 | ||
| | | 0x0179 bit3 | ||
|- | |- | ||
| 0x85 | | 0x85 | ||
Line 1,064: | Line 1,091: | ||
| 0x0012C114 | | 0x0012C114 | ||
| 0x7D8 | | 0x7D8 | ||
| | | 0x0189 bit3 | ||
|- | |- | ||
| 0x86 | | 0x86 | ||
Line 1,071: | Line 1,098: | ||
| 0x0012C114 | | 0x0012C114 | ||
| 0x7D8 | | 0x7D8 | ||
| | | 0x0199 bit3 | ||
|- | |- | ||
| 0x87 | | 0x87 | ||
Line 1,078: | Line 1,105: | ||
| 0x0012C114 | | 0x0012C114 | ||
| 0x7D8 | | 0x7D8 | ||
| | | 0x01A9 bit3 | ||
|- | |- | ||
| 0x88 | | 0x88 | ||
Line 1,085: | Line 1,112: | ||
| 0x0012C114 | | 0x0012C114 | ||
| 0x7D8 | | 0x7D8 | ||
| | | 0x01B9 bit3 | ||
|- | |- | ||
| 0x89 | | 0x89 | ||
Line 1,092: | Line 1,119: | ||
| 0x0012BF10 | | 0x0012BF10 | ||
| 0x7D8 | | 0x7D8 | ||
| | | 0x0149 bit1 | ||
|- | |- | ||
| 0x8A | | 0x8A | ||
Line 1,099: | Line 1,126: | ||
| 0x0012BF10 | | 0x0012BF10 | ||
| 0x7D8 | | 0x7D8 | ||
| | | 0x0159 bit1 | ||
|- | |- | ||
| 0x8B | | 0x8B | ||
Line 1,106: | Line 1,133: | ||
| 0x0012BF10 | | 0x0012BF10 | ||
| 0x7D8 | | 0x7D8 | ||
| | | 0x0169 bit1 | ||
|- | |- | ||
| 0x8C | | 0x8C | ||
Line 1,113: | Line 1,140: | ||
| 0x0012BF10 | | 0x0012BF10 | ||
| 0x7D8 | | 0x7D8 | ||
| | | 0x0179 bit1 | ||
|- | |- | ||
| 0x8D | | 0x8D | ||
Line 1,120: | Line 1,147: | ||
| 0x0012BF10 | | 0x0012BF10 | ||
| 0x7D8 | | 0x7D8 | ||
| | | 0x0189 bit1 | ||
|- | |- | ||
| 0x8E | | 0x8E | ||
Line 1,127: | Line 1,154: | ||
| 0x0012BF10 | | 0x0012BF10 | ||
| 0x7D8 | | 0x7D8 | ||
| | | 0x0199 bit1 | ||
|- | |- | ||
| 0x8F | | 0x8F | ||
Line 1,134: | Line 1,161: | ||
| 0x0012BF10 | | 0x0012BF10 | ||
| 0x7D8 | | 0x7D8 | ||
| | | 0x01A9 bit1 | ||
|- | |- | ||
| 0x90 | | 0x90 | ||
Line 1,141: | Line 1,168: | ||
| 0x0012BF10 | | 0x0012BF10 | ||
| 0x7D8 | | 0x7D8 | ||
| | | 0x01B9 bit1 | ||
|- | |- | ||
| 0x91 | | 0x91 | ||
Line 1,204: | Line 1,231: | ||
| 0x0012C380 | | 0x0012C380 | ||
| ? | | ? | ||
| | | 0x01C4 bit3 (1 = disable?) | ||
|- | |- | ||
| 0x9A | | 0x9A | ||
Line 1,211: | Line 1,238: | ||
| 0x0012C380 | | 0x0012C380 | ||
| ? | | ? | ||
| | | 0x01C4 bit4 (1 = disable?) | ||
|- | |- | ||
| 0x9B | | 0x9B | ||
Line 1,218: | Line 1,245: | ||
| 0x0012C380 | | 0x0012C380 | ||
| ? | | ? | ||
| | | 0x01C4 bit5 (1 = disable?) | ||
|- | |- | ||
| 0x9C | | 0x9C | ||
Line 1,225: | Line 1,252: | ||
| 0x0012C380 | | 0x0012C380 | ||
| ? | | ? | ||
| | | 0x01C4 bit6 (1 = disable?) | ||
|- | |- | ||
| 0x9D | | 0x9D | ||
Line 1,232: | Line 1,259: | ||
| 0x0012C380 | | 0x0012C380 | ||
| ? | | ? | ||
| | | 0x01C4 bit7 (1 = disable?) | ||
|- | |- | ||
| 0x9E | | 0x9E | ||
Line 1,239: | Line 1,266: | ||
| 0x0012C380 | | 0x0012C380 | ||
| ? | | ? | ||
| | | 0x01C4 bit8 (1 = disable?) | ||
|- | |- | ||
| 0x9F | | 0x9F | ||
Line 1,246: | Line 1,273: | ||
| 0x0012C380 | | 0x0012C380 | ||
| ? | | ? | ||
| | | 0x01C4 bit9 (1 = disable?) | ||
|- | |- | ||
| 0xA0 | | 0xA0 | ||
Line 1,253: | Line 1,280: | ||
| 0x0012C380 | | 0x0012C380 | ||
| ? | | ? | ||
| | | 0x01C4 bit10 (1 = disable?) | ||
|- | |- | ||
| 0xA1 | | 0xA1 | ||
Line 1,484: | Line 1,511: | ||
| 0x0012C5D8 | | 0x0012C5D8 | ||
| ? | | ? | ||
| ? | | 0x01D0 bit12 (1 = disable?) | ||
|- | |- | ||
| 0xC2 | | 0xC2 | ||
Line 1,491: | Line 1,518: | ||
| 0x0012C5D8 | | 0x0012C5D8 | ||
| ? | | ? | ||
| ? | | 0x01D0 bit13 (1 = disable?) | ||
|- | |- | ||
| 0xC3 | | 0xC3 | ||
Line 1,498: | Line 1,525: | ||
| 0x0012C5D8 | | 0x0012C5D8 | ||
| ? | | ? | ||
| ? | | 0x01D0 bit14 (1 = disable?) | ||
|- | |- | ||
| 0xC4 | | 0xC4 | ||
Line 1,505: | Line 1,532: | ||
| 0x0012C5D8 | | 0x0012C5D8 | ||
| ? | | ? | ||
| ? | | 0x01D0 bit15 (1 = disable?) | ||
|- | |- | ||
| 0xC5 | | 0xC5 | ||
Line 1,512: | Line 1,539: | ||
| 0x0012C5D8 | | 0x0012C5D8 | ||
| ? | | ? | ||
| ? | | 0x01D0 bit16 (1 = disable?) | ||
|- | |- | ||
| 0xC6 | | 0xC6 | ||
Line 1,519: | Line 1,546: | ||
| 0x0012C5D8 | | 0x0012C5D8 | ||
| ? | | ? | ||
| ? | | 0x01D0 bit17 (1 = disable?) | ||
|- | |- | ||
| 0xC7 | | 0xC7 | ||
Line 1,526: | Line 1,553: | ||
| 0x0012C5D8 | | 0x0012C5D8 | ||
| ? | | ? | ||
| ? | | 0x01D0 bit18 (1 = disable?) | ||
|- | |- | ||
| 0xC8 | | 0xC8 | ||
Line 1,533: | Line 1,560: | ||
| 0x0012C6E8 | | 0x0012C6E8 | ||
| ? | | ? | ||
| | | 0x01D1 bit0-2 | ||
|- | |- | ||
| 0xC9 | | 0xC9 | ||
Line 1,540: | Line 1,567: | ||
| 0x0012C6E8 | | 0x0012C6E8 | ||
| ? | | ? | ||
| | | 0x01D1 bit4-6 | ||
|- | |- | ||
| 0xCA | | 0xCA | ||
Line 1,547: | Line 1,574: | ||
| 0x0012C6E8 | | 0x0012C6E8 | ||
| ? | | ? | ||
| | | 0x01D1 bit8-10 | ||
|- | |- | ||
| 0xCB | | 0xCB | ||
Line 1,554: | Line 1,581: | ||
| 0x0012C6E8 | | 0x0012C6E8 | ||
| ? | | ? | ||
| | | 0x01D1 bit12-14 | ||
|- | |- | ||
| 0xCC | | 0xCC | ||
Line 1,561: | Line 1,588: | ||
| 0x0012C6E8 | | 0x0012C6E8 | ||
| ? | | ? | ||
| | | 0x01D1 bit16-18 | ||
|- | |- | ||
| 0xCD | | 0xCD | ||
Line 1,568: | Line 1,595: | ||
| 0x0012C6E8 | | 0x0012C6E8 | ||
| ? | | ? | ||
| | | 0x01D1 bit20-22 | ||
|- | |- | ||
| 0xCE | | 0xCE | ||
Line 1,575: | Line 1,602: | ||
| 0x0012C6E8 | | 0x0012C6E8 | ||
| ? | | ? | ||
| | | 0x01D1 bit24-26 | ||
|- | |- | ||
| 0xCF | | 0xCF | ||
Line 1,582: | Line 1,609: | ||
| 0x00155404 | | 0x00155404 | ||
| ? | | ? | ||
| | | 0x01D2 bit0-3 | ||
|- | |- | ||
| 0xD0 | | 0xD0 | ||
Line 1,589: | Line 1,616: | ||
| 0x00155404 | | 0x00155404 | ||
| ? | | ? | ||
| | | 0x01D2 bit4-7 | ||
|- | |- | ||
| 0xD1 | | 0xD1 | ||
Line 1,596: | Line 1,623: | ||
| 0x00155404 | | 0x00155404 | ||
| ? | | ? | ||
| | | 0x01D2 bit8-11 | ||
|- | |- | ||
| 0xD2 | | 0xD2 | ||
Line 1,603: | Line 1,630: | ||
| 0x00155404 | | 0x00155404 | ||
| ? | | ? | ||
| | | 0x01D2 bit12-15 | ||
|- | |- | ||
| 0xD3 | | 0xD3 | ||
Line 1,610: | Line 1,637: | ||
| 0x00155404 | | 0x00155404 | ||
| ? | | ? | ||
| | |0x01D2 bit16-19 | ||
|- | |- | ||
| 0xD4 | | 0xD4 | ||
Line 1,617: | Line 1,644: | ||
| 0x00155404 | | 0x00155404 | ||
| ? | | ? | ||
| | | 0x01D2 bit20-23 | ||
|- | |- | ||
| 0xD5 | | 0xD5 | ||
Line 1,624: | Line 1,651: | ||
| 0x00155404 | | 0x00155404 | ||
| ? | | ? | ||
| | | 0x01D2 bit24-27 | ||
|- | |- | ||
| 0xD6 | | 0xD6 | ||
Line 1,673: | Line 1,700: | ||
| 0x0012CE44 | | 0x0012CE44 | ||
| ? | | ? | ||
| | | 0x01C3 bit24-25 | ||
|- | |- | ||
| 0xDD | | 0xDD | ||
Line 1,680: | Line 1,707: | ||
| 0x0012CD88 | | 0x0012CD88 | ||
| ? | | ? | ||
| | | 0x01C3 bit22-23 | ||
|- | |- | ||
| 0xDE | | 0xDE | ||
Line 2,184: | Line 2,211: | ||
| 0x0012E7F8 | | 0x0012E7F8 | ||
| ? | | ? | ||
| | | 0x00E0 bit0-2 (5 -> fog (0x0B60), 7 -> gas (0x6050)) | ||
|- | |- | ||
| 0x126 | | 0x126 | ||
Line 2,198: | Line 2,225: | ||
| 0x0012E9DC | | 0x0012E9DC | ||
| ? | | ? | ||
| | | 0x00E0 bit16 | ||
|- | |- | ||
| 0x128 | | 0x128 | ||
Line 2,209: | 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 | |||
|} |