 |
 |
GoldenEye 007 Nintendo 64 Community, GoldenEye X, Nintendo 64 Games Discussion GoldenEye Cheats, GoldenEye X Codes, Tips, Help, Nintendo 64 Gaming Community
|
 |
 |
 |
 |
|
 |
 |
 |
 |
 |
zoinkity 007


Joined: 24 Nov 2005 Posts: 1729
 |
Posted: Sat Aug 29, 2009 6:52 am Post subject: Why your skies and water aren't emulated! |
 |
|
Finally figured this out, and it was a bugger too.
Skies and water are not emulated because the low-level triangle commands aren't emulated and likely won't be any time soon.
+_+
Let me explain. The RSP/RDP microcode is a series of graphics commands, telling the N64 how to draw stuff and where to draw it. Most things are drawn with triangles, and in GoldenEye there are basically two triangle-drawing commands. You can draw them in sets of four, or a single one. These rely on you feeding it a table of points and working out the image commands, then telling it how to apply colour and whatnot.
However, there are other low-level triangle-drawing commands. These range from C8-CF, each type with certain features. Interestingly, these don't take a pointer to a table of vertices. The vertices are built right into the commands, one at a time! So, when it draws the sky and water, it calculates the position of each vertex and directly embeds it into the command structure.
Being a low-level command which is hardly ever used, nobody has ever seen fit to emulate it at all outside the Glide project, which from what I heard was working backward from source code. (Where the heck do people find that anyway?)
Now, the really interesting bit is that these commands are tediously long. They are broken into rdp_half commands, and these act in pairs to piece the commands back together again. This isn't altogether a bad thing, but it is wasteful. That means each one of these already long buggers sucks down twice as much memory as it normally would. A real N64 can read the data directly, though I'm sure this makes a lot more sense from the source side of things. _________________ (\_/) Beware
(O.o) ze
(> <) Hoppentruppen! |
|
|
|
|
|
 |
 |
 |
 |
 |
radorn 007


Joined: 23 Sep 2007 Posts: 1424
 |
Posted: Sat Aug 29, 2009 6:26 pm Post subject: |
 |
|
Man, I need to learn programming.
I consider my-self to be quite knowledgeable about technical stuff, but when it comes to the practical side of things I just don't have the experience or studies to understand a good chunk of this talk.
Anyway, when you mentioned source code... what is it for? Nintendo libs? the dev tools for making microcode? GoldenEye maybe? |
|
|
|
|
|
 |
 |
 |
 |
 |
zoinkity 007


Joined: 24 Nov 2005 Posts: 1729
 |
Posted: Tue Sep 08, 2009 6:30 am Post subject: |
 |
|
N64 header files, mostly. The defines would be nice to have, instead of gleaning this data from in-game debuggers. Some commands, such as these, don't exactly make it in.
Some realy documentation on the RDP would also be wonderful. In particular, how the heck the combiner really works and how to program the RSP microcode. _________________ (\_/) Beware
(O.o) ze
(> <) Hoppentruppen! |
|
|
|
|
|
 |
 |
 |
 |
 |
|
 |
 |
 |
 |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|
|
 |