This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
f3dex [2018/07/23 00:45] trenavix G_RDPHALF opcodes mislabelled for 0xE4 and 0xE5 |
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 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. | ||
- | ''BC <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 RSP, or 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 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>]0 [<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> | (height - 1) << 2 | | ||
Examples: | Examples: |