Home Page
Posted By: Christina The mysteries of N64 microcodes - 03/18/20 08:44 AM
I found this website with a lot of information about N64 code obscurities and I'm bringing to this forum for everyone interested.
I'm thinking of any of this information can help the devs in any way...

https://olivieryuyu.blogspot.com/
Posted By: Alegend45 Re: The mysteries of N64 microcodes - 03/18/20 02:48 PM
It won't. MAME uses RSP LLE, not HLE, meaning that it emulates the microcode by actually running it. Therefore this information is, for the most part, useless to us AFAIK.

EDIT: Oh wait, this is about optimizing RSP code to run faster anyway, which has no relevance to actually emulating the RSP in the first place.
Posted By: R. Belmont Re: The mysteries of N64 microcodes - 03/18/20 03:08 PM
It's interesting for doing HLE as well, but yeah, for what we do it's largely not applicable.
Posted By: Olivier Galibert Re: The mysteries of N64 microcodes - 03/18/20 03:22 PM
Originally Posted by Alegend45
EDIT: Oh wait, this is about optimizing RSP code to run faster anyway, which has no relevance to actually emulating the RSP in the first place.


Just to be contrary, optimized code tends to use more possibilities of a cpu/dsp, so throughly commented optimized code can be rather useful for debugging.
Posted By: Just Desserts Re: The mysteries of N64 microcodes - 03/18/20 07:56 PM
Originally Posted by Olivier Galibert
Originally Posted by Alegend45
EDIT: Oh wait, this is about optimizing RSP code to run faster anyway, which has no relevance to actually emulating the RSP in the first place.


Just to be contrary, optimized code tends to use more possibilities of a cpu/dsp, so throughly commented optimized code can be rather useful for debugging.


And to be equally contrary, none of this seems to really be "optimizing" anything, more just "I think the microcode should work this way, so I'll make it work that way".
Posted By: Happy Re: The mysteries of N64 microcodes - 03/18/20 09:03 PM
Having disassembled many different N64 microcodes, I find it sort of interesting. All the microcodes have to deal with the issue of IMEM and DMEM being very limited in size, so there are a few different techniques to stream data in and out. However with respect to MAME, I think more of the issues with MAME's N64 emulation of the RSP are related to timing issues and synchronization with the rest of the N64 components..

Also you can optimize the RSP code all you want, but the RDP and memory bandwidth are still going to be major factors in the overall performance that you can't do much to optimize.
© Forums