You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: mupen64plus-rsp-cxd4/README.md
+30-31Lines changed: 30 additions & 31 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,11 +10,11 @@ In the engineering make-up of the Nintendo 64 (original codename: Project Reali
10
10
11
11
Here, the entire MIPS R4000 instruction set was modified for very fast, exception-free processing flow, and operation definitions for each instruction do not fall within the scope of this section. Presented instead are layouts of the new instructions added to the scalar unit (those under `LWC2` and `SWC2`, even though they do interface with the vector unit) and the vector unit (essentially, any instruction under `COP2` whose mnemonic starts with a 'V'). Information of how pre-existing MIPS R4000 instructions were modified or which ones were removed is the adventure of the MIPS programmer to research.
@@ -101,25 +100,24 @@ Multiply instructions are the most frequent and classifiable as follows:
101
100
102
101
### RSP Vector Load Transfers
103
102
104
-
The VR-DMEM transaction instruction cycles are still processed by the scalar unit, not the vector unit. In the modern implementations accepted by most vector unit communications systems today, the transfer instructions are classifiable under five groups:
105
-
<ol>
106
-
<li>BV, SV, LV, DV</li>
107
-
<li>PV, UV, XV, ZV</li>
108
-
<li>HV, FV, AV</li>
109
-
<li>QV, RV</li>
110
-
<li>TV, WV</li>
111
-
</ol>
103
+
The VR-DMEM transaction instruction cycles are still processed by the scalar unit, not the vector unit. In the modern implementations accepted by most vector unit communications systems today, the transfer instructions are classifiable under five groups:
104
+
105
+
1. BV, SV, LV, DV
106
+
2. PV, UV, XV, ZV
107
+
3. HV, FV, AV
108
+
4. QV, RV
109
+
5. TV, WV
112
110
113
-
Not all of those instructions were implemented as of the time of the Nintendo 64's RCP, however. Additionally, their ordering in the opcode matrix was a little skewed to what is seen below. At this time, it is better to use only three categories of instructions:
111
+
Not all of those instructions were implemented as of the time of the Nintendo 64's RCP, however. Additionally, their ordering in the opcode matrix was a little skewed to what is seen below. At this time, it is better to use only three categories of instructions:
114
112
*_normal_: Anything under Group I or Group IV is normal type. Only the element must be aligned; `addr & 1` may resolve true.
115
113
*_packed_: Anything under Group II or Group III. Useful for working with specially mapped data, such as pixels.
116
114
*_transposed_: `LTV`, *LTWV,*`STV`, and `SWV` can be found in heaps of 16 instructions, all dedicated to matrix transposition through eight diagonals of halfword elements.
0 commit comments