My bad. I didn't know that thread was so young. I did see the thread though via google search and was hoping for more info honestly. I have questions like once you count up to your data how do you go back? Do you give an address to wrap around or is there like a reset?

The N64's RCP is entirely in control of every bus activity the CPU does. CPU wants to write to video memory? Through the RCP. Wants to read the cartridge? RCP. Wants to read the joystick or save memory? RCP and usually also the PIF. CPU wants to read from main memory? Through the RCP.

The only thing the CPU can do without the RCP helping it is execute and read code from its own cache.

So when the CPU tries to read a 32-bit value from from address 0x1000_0020 as part of the boot ROM ("IPL"), the RCP drives the multiplexed bus as:* Sets the upper 16 bits of address* Sets the lower 16 bits of address* Reads 16 bits* Reads 16 bits.

The IPL doesn't use the RCP's DMA controller, and instead just reads a series of 32-bit values, so the above 4-long pattern repeats as the N64 validates the signature of the cartridge's boot "sector". After the signature cross-checks correctly, the code in the boot sector runs, and that uses the DMA controller to perform 256 reads at a time.

The N64's RCP is entirely in control of every bus activity the CPU does. CPU wants to write to video memory? Through the RCP. Wants to read the cartridge? RCP. Wants to read the joystick or save memory? RCP and usually also the PIF. CPU wants to read from main memory? Through the RCP.

Isn't that exactly the same as every computer that has integrated graphics on the northbridge? If I recall correctly, the Xbox 360 is the same way.

Sure, but the N64 is the first console that looks like a modern PC with integrated graphics.

Also, I'm not entirely certain where on the spectrum of "just a bus arbiter" to "something much weirder and much less responsive" the RCP actually sits. I'd naively expect the people who experimented with changing the N64 CPU multiplier would have gotten any improvement at all by changing the multiplier up from 1.5, but they basically didn't. I suppose the obvious reply is that Nintendo/SGI already chose the fastest multiplier for which there was going to be any performance improvement...

Who is online

Users browsing this forum: No registered users and 4 guests

You cannot post new topics in this forumYou cannot reply to topics in this forumYou cannot edit your posts in this forumYou cannot delete your posts in this forumYou cannot post attachments in this forum