User Tools

Site Tools


f3dex

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
f3dex [2018/05/02 13:17]
trenavix [01: G_MTX]
f3dex [2024/02/27 04:57] (current)
BanjoFreak64 [F2: G_SETTILESIZE]
Line 1: Line 1:
 ====== Fast3DEX Display List Commands ====== ====== Fast3DEX Display List Commands ======
-The Fast3DEX display list commands are microcode that are passed to the RSP for rendering.  ​The are all 8 bytes long.+The Fast3DEX display list commands are microcode that are passed to the RSP for rendering.  ​They are all 8 bytes long.
  
 ===== Fast3DEX Commands ===== ===== Fast3DEX Commands =====
  
 ==== 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 191: Line 191:
 This opcode sets the higher half of the generic RDP word. This opcode sets the higher half of the generic RDP word.
  
-''​E1 00 00 00 [<color #​22b14c>​hh hh hh hh</​color>​]''​+''​B4 00 00 00 [<color #​22b14c>​hh hh hh hh</​color>​]''​
  
 | <color #​22b14c>​h</​color>​ | New value of high word | | <color #​22b14c>​h</​color>​ | New value of high word |
Line 286: Line 286:
 Modifies various bits of the lower half of the RDP Other Modes word. Modifies various bits of the lower half of the RDP Other Modes word.
  
-''​B9 00 [<color #​ed1c24>​ss</​color>​] [<color #​22b14c>​nn</​color>​] [<color #​00a2e8>​dd dd dd dd</​color>​]''​+''​BA 00 [<color #​ed1c24>​ss</​color>​] [<color #​22b14c>​nn</​color>​] [<color #​00a2e8>​dd dd dd dd</​color>​]''​
  
 | <color #​ed1c24>​s</​color>​ | Amount mode-bits are shifted by, or number of LSb of mode bits to be changed | | <color #​ed1c24>​s</​color>​ | Amount mode-bits are shifted by, or number of LSb of mode bits to be changed |
Line 343: Line 343:
 Loads a new 32-bit value data to the location specified by index and offset. Loads a new 32-bit value data to the location specified by index and offset.
  
-''​DB <color #00a2e8>ii</​color>​ <color #22b14c>oo oo</​color>​ <color #​A946F2>​dd dd dd dd</​color>''​ +''​BC <color #22b14c>oo oo</​color>​ <color #00a2e8>ii</​color>​ <color #​A946F2>​dd dd dd dd</​color>''​ 
-| <color #00a2e8>i</​color>​ | Index into DMEM pointer table(?​) ​+| <color #22b14c>o</​color>​ | Offset from the indexed base address ​
-| <color #22b14c>o</​color>​ | Offset from the indexed base address(?​) ​|+| <color #00a2e8>i</​color>​ | Index into DMEM pointer table |
 | <color #​A946F2>​d</​color>​ | New 32-bit value | | <color #​A946F2>​d</​color>​ | New 32-bit value |
  
Line 399: Line 399:
  
 ==== C0: G_NOOP ==== ==== C0: G_NOOP ====
-Does nothing. Seemingly different from 00; this opcode ​may stall the RDP instead of the RSPor the other way around, though nothing has been really confirmed. (Judging by gbi.h from F3DEX)+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.
  
 ''​C0 00 00 00 00 00 00 00''​ ''​C0 00 00 00 00 00 00 00''​
Line 408: Line 408:
  
 ''​E4 [<color darkred>​xx x</​color>​][<​color darkgreen>​y yy</​color>​] 0[<color darkblue>​I</​color>​] [<color red>XX X</​color>​][<​color green>Y YY</​color>​]''​\\ ''​E4 [<color darkred>​xx x</​color>​][<​color darkgreen>​y yy</​color>​] 0[<color darkblue>​I</​color>​] [<color red>XX X</​color>​][<​color green>Y YY</​color>​]''​\\
-''​B3 00 00 00 [<color #​BF9F00>​SS SS</​color>​] [<color #​8F3F10>​TT TT</​color>​]''​\\ +''​B4 00 00 00 [<color #​BF9F00>​SS SS</​color>​] [<color #​8F3F10>​TT TT</​color>​]''​\\ 
-''​B2 00 00 00 [<color #​3F3FFF>​DD DD</​color>​] [<color darkcyan>​EE EE</​color>​]''​+''​B3 00 00 00 [<color #​3F3FFF>​DD DD</​color>​] [<color darkcyan>​EE EE</​color>​]''​
  
 | <color darkred>​xxx</​color>​ | Lower-right corner X coordinate | | <color darkred>​xxx</​color>​ | Lower-right corner X coordinate |
Line 427: Line 427:
  
 ''​E5 [<color darkred>​xx x</​color>​][<​color darkgreen>​y yy</​color>​] 0[<color darkblue>​I</​color>​] [<color red>XX X</​color>​][<​color green>Y YY</​color>​]''​\\ ''​E5 [<color darkred>​xx x</​color>​][<​color darkgreen>​y yy</​color>​] 0[<color darkblue>​I</​color>​] [<color red>XX X</​color>​][<​color green>Y YY</​color>​]''​\\
-''​B3 00 00 00 [<color #​BF9F00>​SS SS</​color>​] [<color #​8F3F10>​TT TT</​color>​]''​\\ +''​B4 00 00 00 [<color #​BF9F00>​SS SS</​color>​] [<color #​8F3F10>​TT TT</​color>​]''​\\ 
-''​B2 00 00 00 [<color #​3F3FFF>​DD DD</​color>​] [<color darkcyan>​EE EE</​color>​]''​+''​B3 00 00 00 [<color #​3F3FFF>​DD DD</​color>​] [<color darkcyan>​EE EE</​color>​]''​
  
 | <color darkred>​xxx</​color>​ | Lower-right corner X coordinate | | <color darkred>​xxx</​color>​ | Lower-right corner X coordinate |
Line 525: Line 525:
 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 581: Line 581:
 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 purple>​W</​color>​ | (width - 1) << 2 | 
 +| <color darkcyan>​H</​color>​ | (height - 1) << 2 |
  
-| <color darkred>​W</​color>​ | (width - 1) << 2 | 
-| <color darkgreen>​H</​color>​ | (hieght - 1) << 2 | 
  
 Examples: Examples:
f3dex.1525267057.txt.gz · Last modified: 2018/05/02 13:17 by trenavix