PDA

View Full Version : N64 Hardware documentation help.


mudlord/RED
22nd April 2009, 01:21 AM
Hello zilmar.

I have been looking around for some N64 resources, especially in regards to:

* The R4300i
* The RDP (on a low level, theres plenty of stuff for HLE)
* The RSP

I am just asking, which docs do you recommend in regards to those areas. I have been searching for detailed documents especially regarding the RDP, but not much has turned up :( Otherwise, I guess I will take things as they come. I understand though if Jabo or yourself does not want to help (I can see reasons why Jabo might want to hide his 'secret sauce' to LOZ MM's depth emulation for the Lens of Truth, etc, as well as secrets to his software rasterization code)

Feel free to PM the resources if they are of dubious nature or something.....:p

omegadox
22nd April 2009, 08:45 AM
If I remember correctly, Zilmar figure most of the stuff using RE instead of docs, because he said there are barley any docs on the N64 system. In this case, Gamecube/Wii probably has a lot more unofficial docs than N64.

mudlord/RED
23rd April 2009, 12:15 AM
Figured as such, since I am not getting much luck in finding accurate information, and it is incredibly frustrating.

Might as well ask MooglyGuy, Angrylion, ZZT32 and co, since they are active in LLE based emulation.

I can easily find HLE stuff perfectly fine, but seriously, LLE is better.

omegadox
23rd April 2009, 01:18 AM
Which is something I would like to get better in.

zilmar
23rd April 2009, 10:23 AM
not sure how much I can help you .. jabo did all the gfx I really have no idea there, there was r4k info around as manuals. RSP was me reversing on the real machine.

mudlord/RED
26th April 2009, 11:39 PM
Thanks anyway zil.

Thought as such that there isn't much. This pretty much confirms it. :(
No wonder there's a lack of n64 emu development: there's pretty much zilch documentation.

Anywayz, MG's been a help with navigating MAME/MESS sources. Lets see how that turns out....

angrylion
27th July 2009, 02:39 AM
Hi Zilmar,
Anarko docs (n64ops#d.txt) state that you may have used some SGI docs (opcode lists) to give names to RSP vector opcodes. That should explain why names you gave in 1998/99 coincide with the names used by licensed devs in 1) the famous article about Resident Evil video compression and in 2) Mark Deloura's article about curved surfaces on the N64 (vmudm, vge, vlt and so on). Could you please share these materials as they represent historical value? PM would be fine.
If I'm mistaken, it would be interesting to hear why opcode names do coincide.

HatCat
26th January 2011, 05:02 AM
Whoops, quite a bump.

^ What about the Project Unreality source? They used same mnemonics for the RSP opcodes. A couple of the main r4300i register mnemonics are wrong (one of them more perverse), so there must have been some unique way they got the info back then.

Mdkcheatz
26th January 2011, 05:20 PM
That would be correct. Besides, my understanding is that sensitive information can be obtained either via leakage (with I doubt applies in this case), or by having the right person already familiar with the environment (by which I mean using what information can be obtained simply by breaking the data apart and trying to understand how it works using preexisting knowledge and understand of similar systems) to then justify in their (the code breaker implied) own terms.

If I am completely wrong, which I will admit that I'm just generally speaking here, so it could be the case; please disregard this post. >/

erm, does this mean you are planning on releasing those N64 definitions you've been brewing? (remember, educational information should ALWAYS be offered publicly, but I know you know that)

HatCat
27th January 2011, 12:21 AM
That would be correct. Besides, my understanding is that sensitive information can be obtained either via leakage (with I doubt applies in this case), or by having the right person already familiar with the environment (by which I mean using what information can be obtained simply by breaking the data apart and trying to understand how it works using preexisting knowledge and understand of similar systems) to then justify in their (the code breaker implied) own terms.

If I am completely wrong, which I will admit that I'm just generally speaking here, so it could be the case; please disregard this post. >/

I guess. It's not really on the spot, but you posting in this thread is better than a killed conversation (as long as you don't bring up squall or what he plugs into his butt at night or any of that crap, in which case there is a difference between the two). At the same time, I didn't commit necromancy on a thread I remember reading 2 years ago just to flood it by conversing with a psychic tater-tot about tripods.

So, if by information that's sensitive you're referring to not-so-known information that is, for its effective value, subject to being spread or leaked, then, um, it sounds like you have the basic idea, but if I were you I'd practice wording the explanation a bit more clearly to boost your own personal confidence on that.

erm, does this mean you are planning on releasing those N64 definitions you've been brewing? (remember, educational information should ALWAYS be offered publicly, but I know you know that)

Does what mean I am planning on releasing?

Technically it's already public, but I haven't linked anyone to it yet except via MSN or PM.

It's not really special information, either, just a corrective compilation in databases I'm still adding on to. I'm sure in its current state it's very public outside my writing it.

HatCat
27th January 2011, 09:09 PM
remember, educational information should ALWAYS be offered publicly

Be quiet, arrogant mortal. The closest thing to educational information you have is your own little religion against people who ignore you or religion in general. If you had any information of your own to contribute you would understand the benefits of temporarily protected information or reasons for copyrights.

MG's list of RSP opcode testing for MESS (http://moogle-tech.com/opcodes.html)

Every RSP op-code mnemonic on that page is listed in the source code for Project Unreality (all of them except for SRV "Store from Right Side of Vector", found only in RSP-INST.CPP, being in RSPINFO.TXT), which means it's possible that only the development of that emulator in 1998 had access to SGI's RSP documentation or whatever.

Just noting this stuff because it would seem that angrylion and mudlord still check the forum from time to time, otherwise wouldn't have necrolized this thread.

HatCat
28th January 2011, 11:36 PM
Another update.
I've found even more evidence that it was bpoint who had [indirect] access to private documentation to obtain the official symbols used when programming for the RCP.

Excerpt from RDPINFO.TXT.

) SGI/N uses 'S' and 'T' to signify texture coordinates (bleah). I prefer
'U' and 'V', but anyway...


zilmar contributed closely to anarko's N64OPS text archive, so when anarko said the mnemonics "may" have been taken from SGI official documentation I'm sure if zilmar was the one who had access to that material then they would have discussed that more closely.

Unfortunately that's the only time I could find Mr. Teddy mentioning anything about either the RSP or the RDP alongside where the information came from, unless it was derived from their hours of reverse-engineering work. The closest thing to an archive of PUR website I could find that's not expired is this log of the site updates (http://patpend.net/articles/ar/pu64-log.html), which discusses collaboration on the RSP emulator for the final release but nothing as to where the opcode symbols came from.

squall_leonhart
28th January 2011, 11:58 PM
remember, educational information should ALWAYS be offered publicly


in america, they put a price to it.

HatCat
29th January 2011, 12:51 AM
Of course someone who pirates anything relentlessly wouldn't know that. Mdkcheatz is pretty skilled after all at using teh Googl3z to h4x :eek:.

If I was hording up all the information for myself I wouldn't be conversationally wasting myself on a forum every day and exposing myself to such judgments. :D Naturally in formal writing, I'm more interested in keeping my work private until I'm confident about its validity, readable formatting, and applicability.

HatCat
31st January 2011, 04:41 AM
Another reference to the SGI mnemonics on linux.mips.org.

Starting where it says
VICE MSP/Nintendo64 RCP instruction operands
http://www.linux-mips.org/~glaurung/VICE/binutils-2.13-msp.diff

HatCat
13th February 2011, 03:15 AM
As for what would be official names of the instructions, it turns out there is some info about that, that SGI released, relatively publicly.

It only discusses the Vector Unit load and store instructions, though--not the primary vector operation codes.
http://www.freepatentsonline.com/5812147.html

I don't know if pasting a summary here violates their intellectual rights shit, so just do a search on "Vector Unit" or the assembly idioms like "LBV" to jump to the names that they use. Some of them obviously are not used on the N64 RSP.