We've just updated MediaWiki and its underlying software. If anything doesn't look or work quite right, please mention it to us. --RanAS
Super FX Opcode Matrices: Difference between revisions
From SnesLab
(added ASR) |
(→ALT1 = 0, ALT2 = 0: added GETB) |
||
Line 50: | Line 50: | ||
| Dx || || || || || || || || || || || || || || || || [[GETC]] | | Dx || || || || || || || || || || || || || || || || [[GETC]] | ||
|- | |- | ||
| Ex || || || || || || || || || || || || || || || || | | Ex || || || || || || || || || || || || || || || || [[GETB]] | ||
|- | |- | ||
| Fx || || || || || || || || || || || || || || || || | | Fx || || || || || || || || || || || || || || || || |
Revision as of 03:57, 25 May 2023
The Super FX has two prefix flags called ALT1 and ALT2 that alter the way the GSU interprets opcodes. These four opcode matrices will show which instruction actually runs depending on how those prefix flags are set.
ALT1 = 0, ALT2 = 0
x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x | STOP | NOP | CACHE | LSR | ROL | BRA | BGE | BLT | BNE | BEQ | BPL | BMI | BCC | BCS | BVC | BVS |
1x | ||||||||||||||||
2x | ||||||||||||||||
3x | LOOP | ALT1 | ALT2 | ALT3 | ||||||||||||
4x | PLOT | SWAP | COLOR | NOT | ||||||||||||
5x | ||||||||||||||||
6x | ||||||||||||||||
7x | MERGE | |||||||||||||||
8x | ||||||||||||||||
9x | SBK | LINK #1 | LINK #2 | LINK #3 | LINK #4 | SEX | ASR | ROR | LOB | FMULT | ||||||
Ax | ||||||||||||||||
Bx | ||||||||||||||||
Cx | HIB | |||||||||||||||
Dx | GETC | |||||||||||||||
Ex | GETB | |||||||||||||||
Fx |
ALT1 = 0, ALT2 = 1
x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x | STOP | NOP | CACHE | LSR | ROL | BRA | BGE | BLT | BNE | BEQ | BPL | BMI | BCC | BCS | BVC | BVS |
1x | ||||||||||||||||
2x | ||||||||||||||||
3x | LOOP | ALT1 | ALT2 | ALT3 | ||||||||||||
4x | PLOT | SWAP | COLOR | NOT | ||||||||||||
5x | ||||||||||||||||
6x | ||||||||||||||||
7x | MERGE | |||||||||||||||
8x | ||||||||||||||||
9x | SBK | LINK #1 | LINK #2 | LINK #3 | LINK #4 | SEX | ASR | ROR | LOB | FMULT | ||||||
Ax | ||||||||||||||||
Bx | ||||||||||||||||
Cx | HIB | |||||||||||||||
Dx | GETC | |||||||||||||||
Ex | ||||||||||||||||
Fx |
ALT1 = 1, ALT2 = 0
x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x | STOP | NOP | CACHE | LSR | ROL | BRA | BGE | BLT | BNE | BEQ | BPL | BMI | BCC | BCS | BVC | BVS |
1x | ||||||||||||||||
2x | ||||||||||||||||
3x | LOOP | ALT1 | ALT2 | ALT3 | ||||||||||||
4x | PLOT | SWAP | CMODE | NOT | ||||||||||||
5x | ||||||||||||||||
6x | ||||||||||||||||
7x | MERGE | |||||||||||||||
8x | ||||||||||||||||
9x | SBK | LINK #1 | LINK #2 | LINK #3 | LINK #4 | SEX | DIV2 | ROR | LOB | FMULT | ||||||
Ax | ||||||||||||||||
Bx | ||||||||||||||||
Cx | HIB | |||||||||||||||
Dx | GETC | |||||||||||||||
Ex | ||||||||||||||||
Fx |
ALT1 = 1, ALT2 = 1
x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x | STOP | NOP | CACHE | LSR | ROL | BRA | BGE | BLT | BNE | BEQ | BPL | BMI | BCC | BCS | BVC | BVS |
1x | ||||||||||||||||
2x | ||||||||||||||||
3x | LOOP | ALT1 | ALT2 | ALT3 | ||||||||||||
4x | PLOT | SWAP | COLOR ? | NOT | ||||||||||||
5x | ||||||||||||||||
6x | ||||||||||||||||
7x | MERGE | BIC #1 | BIC #2 | BIC #3 | BIC #4 | BIC #5 | BIC #6 | BIC #7 | BIC #8 | BIC #9 | BIC #10 | BIC #11 | BIC #12 | BIC #13 | BIC #14 | BIC #15 |
8x | ||||||||||||||||
9x | SBK | LINK #1 | LINK #2 | LINK #3 | LINK #4 | SEX | DIV2 ? | ROR | LOB | FMULT | ||||||
Ax | ||||||||||||||||
Bx | ||||||||||||||||
Cx | HIB | |||||||||||||||
Dx | GETC | |||||||||||||||
Ex | ||||||||||||||||
Fx |