Page 15 of 15
Re: Rayman PSP Homebrew
Posted: Wed Dec 28, 2011 10:35 pm
by stan423321
Custom code was used so rarely that it's not a problem? Uh-oh.
Also: 4KiB you say... that's 1024 MIPS instructions WITHOUT ANY BRANCHES NOR MULTIPLICATION?! That sounds sad. Really sad.
Re: Rayman PSP Homebrew
Posted: Thu Dec 29, 2011 11:15 am
by Adsolution
Chilly Willy wrote:Most N64 emulators ignore the "microcode" and the RSP and just translate the data sent to the RSP directly at a high level for better speed. In fact, MESS is the only emulator I'm aware of that actually emulates the RSP so that it will run games/homebrew that use custom microcode.
Now why would they do that? Surely having at least an option to enable the usage of microcode would be greatly looked upon by the community. It's almost possible that it would motivate people to get better hardware, and in time it would teach them to move on from Windows XP, the decade-old operating system. That's what this campaign is about right... hold on, I'm getting carried away.
Re: Rayman PSP Homebrew
Posted: Thu Jan 05, 2012 12:11 am
by Chilly Willy
stan423321 wrote:Custom code was used so rarely that it's not a problem? Uh-oh.
Also: 4KiB you say... that's 1024 MIPS instructions WITHOUT ANY BRANCHES NOR MULTIPLICATION?! That sounds sad. Really sad.
Without LIKELY branches. You have "regular" branches and "likely" branches on the MIPS. Likely branches are used when the programmer knows that the branch will more than likely be taken - for example, the branch at the end of a loop that repeats dozens to hundreds of times - you KNOW that you are going to branch 99 times out of a hundred, so you use the likely branch to tell the CPU that it should do things under the assumption the branch WILL be taken. That folds the branch time for when the branch is taken so no time is wasted. You lose a few more cycles for when the branch ISN'T taken, but that's why you used a likely branch - you the programmer have said the trade-off is worth it since you know how often the branch will be taken. The multiply/divide is actually not an issue since the RSP has an SIMD unit it can use for multiplying and dividing. I guess they figured why waste gates on the regular multiply and divide instructions when you were going to have SIMD that could do it instead.
RayFan9876 wrote:Chilly Willy wrote:Most N64 emulators ignore the "microcode" and the RSP and just translate the data sent to the RSP directly at a high level for better speed. In fact, MESS is the only emulator I'm aware of that actually emulates the RSP so that it will run games/homebrew that use custom microcode.
Now why would they do that? Surely having at least an option to enable the usage of microcode would be greatly looked upon by the community. It's almost possible that it would motivate people to get better hardware, and in time it would teach them to move on from Windows XP, the decade-old operating system. That's what this campaign is about right... hold on, I'm getting carried away.
Well, the main reason they do it is speed - it's been one of the only ways to get the speed fast enough. That's less of a reason now, but was very important even just five years ago. Another reason was lack of info. That's also not as big a deal now as before. But yes, all current N64 emulators should at least make that an option. That would allow things like the NeoN64 NES emulator, which uses its own RSP code for handling the video and sound parallel to the main CPU emulating the NES CPU.