在N64硬件中出于中心地位的并不是CPU R4300，而是名为RCP（Reality Co-Processor）的图形音效处理单元，这货又分成三个部分，I/O、RDP（Reality Display Processor）以及RSP（Reality Signal Processor），RDP和RSP各负责了一部分3D处理任务，RDP负责纹理渲染，RSP负责建模光源等。所以大家在运行N64模拟器时喜闻乐见的多边形缺失就是RSP不精确造成的。
It’s been since about Jan-Mar last year that I started working on RSP emulation.
Depending on your perspective, the RCP is 1/2 the N64’s design–or 2 times the N64 CPU complexity.
I really don’t know anything about RDP emulation yet, so I was academically fascinated the most with stabilizing the signal processor communications system and emulating that.
Anyone who wants to try the plugin, get it off the post attachment.
I’ve tested all that is conveniently at my disposal, but I don’t have a very big ROM list.
Please let me know anyone if they can get an error message to show. The emulation otherwise is perfect to my current level of understanding, but if you find any bugs by all means tell me of those, too.
Download the plugin off the 7Z compression file I have attached to this post.
Remember to install the correct DLL to the plugins folder, depending on what you want:
- rsp.dll–80.0 KB–Most people will want this file. You need to use both a LLE gfx plugin && a LLE audio plugin.
- rsp_free.dll–47.0 KB–Dependency-free resource DLL compiled down for size under Microsoft C++ compiler rules.
- rsp_hle.dll–80.5 KB–Use any HLE gfx plugin w/ a HLE audio plugin. The RSP generally never executes on this version, but if it does you will receive a message box telling you about a new/unknown SP task type.
- rsp_lle.dll–80.0 KB–Use a LLE gfx plugin (currently, either Jabo’s Direct3D8 1.7.x or z64gl by ziggy), with a HLE audio plugin for speed-up. RDP/RSP LLE will be faster because of audio HLE.
- rsp_mle.dll–80.0 KB–Use any HLE gfx plugin (almost any video dll). Audio emulation will be low-level along with the entirety of anything else that gets executed on the RSP.
- rsp_pj64.dll–80.0 KB–You need this for Gauntlet Legends, Stunt Racer 64, and World Driver Championship. It can ONLY be used on Project64 2.0 because SP task re-start to sync with CPU and SP semaphore corrections did not exist before Project64 1.7.?.
- dummyvid.dll–2.0 KB–Just a standard dummy video plugin I coded to remove the intervention of gfx display drawings on the screen while testing audio LLE or other LLE tasks on the RSP.
- rsp_dbg.dll–89.0 KB–Undocumented debug version.
Copy binrsp.dll (maybe rsp_pj64.dll) to $emuplugin, and use Jabo’s Direct3D8 1.7+ on Project64 2.0.
Who could be interested in this plugin…
* Anyone who is interested in having even more accuracy, speed, or !! cross-OS portability* !! than what the Project64 126.96.36.199 RSP provides.
* Anyone who is not already familiar with the benefits of LLE–games like Star Wars: Rogue Squadron, other games unplayable or no audio cause of unsupported stuff in the emu–you are behind the times if you’ve never used zilmar’s RSP emulator with LLE gfx before.
*The code is totally free of any API code, even OS code. It could totally compile straight out of the box under ANSI C rules anywhere.
But for me the most important thing here is testing to help me update it.
Otherwise I would have no reason to start this thread and confuse the hell out of everyone.
对于Pj64 2.0使用方法比较简单，将rsp.dll或者rsp_pj64.dll复制到plugin目录下，配合同样LLE的 Jabo’s Direct3D8 1.7版以上的video插件即可。