#191  
Old 13th February 2013, 03:51 PM
MarathonMan's Avatar
MarathonMan MarathonMan is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Jan 2013
Posts: 454
Default

Quote:
Originally Posted by FatCat View Post
I'm sure that's not impossible.
Basically everything else about the N64 OS I know nothing of. Managing the boot code, PIF/IPL, any of that other shit.

And there are still small bits of RSP information I cannot isolate, like what happens if you invoke MFC0 or MTC0 on $cn where 31 >= n >= 16, or whether VSAR writes back to the accumulator after reading from it first as discussed in the RTFM or only reads from it and nothing else like in the simulator / reversing notes.

But supposedly erstwhile we're fixing up more important things. I'm still correcting much of the vector clip/select stuff with some really tricky things about the vector condition flags zilmar missed while reversing it.
I wrote a half-functional VR4300 core and kicked around the PIF enough to get it to boot, but now that I've been working on the RSP, I feel like I really need to go back and cleanup all that I did for that core. I know so much more about emulation than I did when I started.

MFC0/MTC0: Methinks that the MSB is just ignored. I'm not too concerned about getting that kind of stuff right at the moment, but I'll share my findings if I ever look into it.
Reply With Quote
  #192  
Old 13th February 2013, 04:02 PM
HatCat's Avatar
HatCat HatCat is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Feb 2007
Location: In my hat.
Posts: 16,256
Default

My belief was that I could just start learning off of the pj64 RSP plugin to learn about emulation. I had already taught myself a basic understanding of interpreters so figured that it would not be too challenging. Because in a sense it is still more important to emulate the CPU core than the RCP, because the RCP is mostly just commercial/copyrighted games and 3-D while the CPU was of course the bulk of the N64 coding demoscene (not to mention a requirement O HAY LOOK da n64 h4z n0 cpu).

The idea I had was that the RSP would be somewhat of a complex superset of what goes on on the VR4300 core, so I figured, if I develop experience with the RSP first, I can concentrate better on a main CPU emulator. This is one of the reasons I never wanted to touch the Project64 1.4 / 1.6 CPU source code or even read it; to an extent I want things done my own way. But absolutely nothing was known about the RSP until bpoint, Brian what's-his-name, zilmar and MooglyGuy/Ville Linde reversed it.

Quote:
Originally Posted by MarathonMan View Post
MFC0/MTC0: Methinks that the MSB is just ignored. I'm not too concerned about getting that kind of stuff right at the moment, but I'll share my findings if I ever look into it.
That's the logical explanation for it. Sometime later I saw an updated version of MAME that masked out the high bit of the 5-bit `rd` specifier. Even so, the RSP assembler allows you to access up to $c31, for god knows why. It's their system, but personally I would have made it $c15 since that's the maximum register that actually exists I think?

In the simulator of course nothing is done; they just be verbose and complain without writing anything. But with VSAW if the mask is invalid they force it to be valid like the real N64 does by flushing the MSB! So um, inconsistent much?

But yeah not important =D
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT. The time now is 05:22 AM.


Powered by vBulletin® Version 3.7.3
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.