嗯,这么多年过去,总算有新的高完成度的N64模拟器RSP插件了。和其他使用插件系统的模拟器不同,N64模拟器除了常规的视频、音频、手柄插件之外,还有一个灰常另类的RSP插件。这个东东可不是YY出来的,而是N64奇葩硬件中最蛋疼的部分。
有位叫肥猫的同学花了一年时间重构了一个基于LLE的RSP插件,对应Project 2.0和其他近代N64模拟器。号称更为快速和精确!让我们对他表示感谢~~~ Orz
在N64硬件中出于中心地位的并不是CPU R4300,而是名为RCP(Reality Co-Processor)的图形音效处理单元,这货又分成三个部分,I/O、RDP(Reality Display Processor)以及RSP(Reality Signal Processor),RDP和RSP各负责了一部分3D处理任务,RDP负责纹理渲染,RSP负责建模光源等。所以大家在运行N64模拟器时喜闻乐见的多边形缺失就是RSP不精确造成的。
据肥猫同学说,RCP单元差不多占了N64全部硬件的1/2,比R4300复杂两倍有余,可见N64的CPU是多么鱼腩。
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.
Too complicated?
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 1.7.0.9 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插件即可。
由于这个RSP插件刚刚公测,肥猫同学预计还会继续维护很长一段时间,这个取决于大家是否踊跃汇报bug。
nds4droid又更新鸟
http://tieba.baidu.com/p/2274361684
必须给jeffq发奖章~~~
更新狂,嘎嘎
抽空试试,但同时觉得此类插件会比较耗资源(还是试了再说。。。)
值得一试哦