User Tools

Site Tools


f3dex2

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
f3dex2 [2019/01/16 14:36]
trenavix SetOtherModes in EX2 are wack bro
f3dex2 [2020/02/26 14:17] (current)
jesusyoshi54 [01: G_VTX]
Line 6: Line 6:
  
 ==== 00: G_SPNOOP ==== ==== 00: G_SPNOOP ====
-No operation. This should only be used for debugging purposes.+Stalls the signal processor (the RSP), and as a consequence,​ the RDP too. This should only be used for debugging purposes.
  
 ''​00 00 00 00 00 00 00 00''​ ''​00 00 00 00 00 00 00 00''​
Line 17: Line 17:
  
 | <color #​22b14c>​N</​color>​ | Number of vertices to write | | <color #​22b14c>​N</​color>​ | Number of vertices to write |
-| <color #​ed1c24>​I</​color>​ | Where to start writing vertices inside the vertex buffer (*2 + <color #​22b14c>​N</​color>​*2) |+| <color #​ed1c24>​I</​color>​ | Where to start writing vertices inside the vertex buffer (start = <color #​ed1c24>​II</​color>​ - <color #​22b14c>​N</​color>​*2) |
 | <color #​A946F2>​S</​color>​ | Segmented address to load vertices from | | <color #​A946F2>​S</​color>​ | Segmented address to load vertices from |
  
Line 102: Line 102:
  
 This formula cannot be reversed for the value provided in the microcode, since the necessary information is absent. (Since the values are provided in the macro call generating this opcode, there'​s no guarantee any of the values match what they'​re "​supposed"​ to be, e.g. //<color #​ed1c24>​near</​color>//​ could be set to something far different from the location of the actual near clipping plane.) This formula cannot be reversed for the value provided in the microcode, since the necessary information is absent. (Since the values are provided in the macro call generating this opcode, there'​s no guarantee any of the values match what they'​re "​supposed"​ to be, e.g. //<color #​ed1c24>​near</​color>//​ could be set to something far different from the location of the actual near clipping plane.)
 +
 +**Note:** This command works differently in F3DZEX.
 ---- ----
 ==== 05: G_TRI1 ==== ==== 05: G_TRI1 ====
Line 114: Line 116:
 Example: Render a triangle using the vertex data specified at the vertex buffer positions 0, 1 (0x02 / 0x02) and 2 (0x04 / 0x02). Example: Render a triangle using the vertex data specified at the vertex buffer positions 0, 1 (0x02 / 0x02) and 2 (0x04 / 0x02).
  
-  05 00 02 04 00 00 02 04+  05 00 02 04 00 00 00 00
  
 ---- ----
Line 221: Line 223:
 ''​D8380002 <color #​00a2e8>​aaaaaaaa</​color>''​ ''​D8380002 <color #​00a2e8>​aaaaaaaa</​color>''​
  
-| <color #​00a2e8>​a</​color>​ | The number of matrices to pop |+| <color #​00a2e8>​a</​color>​ | (The number of matrices to pop) * 64|
  
 ---- ----
Line 230: Line 232:
 ''​D9 [<color #​22b14c>​CC CC CC</​color>​] [<color purple>​SS SS SS SS</​color>​]''​ ''​D9 [<color #​22b14c>​CC CC CC</​color>​] [<color purple>​SS SS SS SS</​color>​]''​
  
-| <color #​22b14c>​C</​color>​ | Various parameters to clear |+| <color #​22b14c>​C</​color>​ | ~(Various parameters to clear|
 | <color purple>​S</​color>​ | Various parameters to set | | <color purple>​S</​color>​ | Various parameters to set |
 +
 +Note: Parameters that are cleared have their bits inverted in the opcode. FF FF FF, for example, would disable nothing.
  
 Parameters:​\\ ​ Parameters:​\\ ​
Line 241: Line 245:
 Apply transformation matrix. Used in HUD text printing code to translate textures, as well as copious other transformations including animations. Apply transformation matrix. Used in HUD text printing code to translate textures, as well as copious other transformations including animations.
  
-''​DA [<color darkred>​PP</​color>​] ​00 00 [<color purple>​AA AA AA AA</​color>​]''​+''​DA ​38 00 [<color darkred>​PP</​color>​] [<color purple>​AA AA AA AA</​color>​]''​
  
-| <color darkred>​P</​color>​ | Parameters |+| <color darkred>​P</​color>​ | Parameters ​**^** G_MTX_PUSH ​|
 | <color purple>​A</​color>​ | Segmented address of vectors | | <color purple>​A</​color>​ | Segmented address of vectors |
  
Line 252: Line 256:
  
 Example: Push matrix and and multiply by matrix at 0x00213DF8; Multiply by matrix at 0x00213DB8 Example: Push matrix and and multiply by matrix at 0x00213DF8; Multiply by matrix at 0x00213DB8
-  DA 01 00 40 00 21 3D F8 +  DA 38 00 00 00 21 3D F8 
-  DA 00 00 40 00 21 3D B8+  DA 38 00 01 00 21 3D B8
  
 ---- ----
Line 337: Line 341:
  
 ==== E0: G_NOOP ==== ==== E0: G_NOOP ====
-Does nothing. Seemingly different from 00; judging by the names of this opcode and 00, this opcode stalls the RSP, whereas the other stalls the RDP.+Does nothing. Seemingly different from 00; judging by the names and position ​of this opcode and 00, this opcode stalls the RDP, whereas the other stalls the RSP.
  
 ''​E0 00 00 00 00 00 00 00''​ ''​E0 00 00 00 00 00 00 00''​
Line 533: Line 537:
 Sets the scissoring rectangle. Sets the scissoring rectangle.
  
-''​ED [<color #​00a2e8>​xx x</​color>​][<​color #​22b14c>​y yy</​color>​] [<color #​ff7f27>​m</​color>​][<color #​ed1c24>​vv v</​color>​][<​color #​B755FF>​w ww</​color>​]''​+''​ED [<color #​00a2e8>​xx x</​color>​][<​color #​22b14c>​y yy</​color>​] ​0[<color #​ff7f27>​m</​color>​] [<color #​ed1c24>​vv v</​color>​][<​color #​B755FF>​w ww</​color>​]''​
  
 | <color #​00a2e8>​x</​color>​ | Upper-left X coordinate of rectangle | | <color #​00a2e8>​x</​color>​ | Upper-left X coordinate of rectangle |
Line 600: Line 604:
 Sets the texture coordinates and size Sets the texture coordinates and size
  
-''​F2 ​00 00 00 00 [<color darkred>​WW W</​color>​][<​color ​darkgreen>H HH</​color>​]''​+''​F2 [<color darkred>SS S</​color>​][<​color darkgreen>​T TT</​color>​] 0[<color #​00a2e8>​I</​color>​] [<color purple>WW W</​color>​][<​color ​darkcyan>H HH</​color>​]''​
  
 +| <color darkred>​SSS</​color>​ | Upper-left corner of texture to load, S-axis |
 +| <color darkgreen>​TTT</​color>​ | Upper-left corner of texture to load, T-axis |
 +| <color #​00a2e8>​I</​color>​ | Tile descriptor to load into |
 | <color darkred>​W</​color>​ | (width - 1) << 2 | | <color darkred>​W</​color>​ | (width - 1) << 2 |
 | <color darkgreen>​H</​color>​ | (height - 1) << 2 | | <color darkgreen>​H</​color>​ | (height - 1) << 2 |
 +
  
 Examples: Examples:
f3dex2.1547649368.txt.gz · Last modified: 2019/01/16 14:36 by trenavix