ShootersForever.com Forum Index

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


Why your skies and water aren't emulated!

 
Post new topic   Reply to topic    ShootersForever.com Forum Index -> Q-Lab Hacking Department
View previous topic :: View next topic  
zoinkity
007
007


Joined: 24 Nov 2005
Posts: 1729

 PostPosted: Sat Aug 29, 2009 6:52 am    Post subject: Why your skies and water aren't emulated! Reply with quote Back to top

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!
 
View user's profile Send private message Send e-mail
radorn
007
007


Joined: 23 Sep 2007
Posts: 1424

 PostPosted: Sat Aug 29, 2009 6:26 pm    Post subject: Reply with quote Back to top

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?
 
View user's profile Send private message
zoinkity
007
007


Joined: 24 Nov 2005
Posts: 1729

 PostPosted: Tue Sep 08, 2009 6:30 am    Post subject: Reply with quote Back to top

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!
 
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic   Reply to topic    ShootersForever.com Forum Index -> Q-Lab Hacking Department All times are GMT - 8 Hours
Page 1 of 1

 
Jump to:  
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

Cobalt 2.0 BB theme/template by Jakob Persson.
Copyright © 2002-2004 Jakob Persson


Powered by BB © 01, 02 BB Group

 


Please Visit My Other Sites: GoldenEyeForever.com | GrandTheftAutoForever.com

Got kids? Check out my Dora The Explorer site with games and coloring pages!

Our forums feature Nintendo 64 games, GoldenEye 007 N64 New Maps and Missions, GoldenEye Cheats, N64 Emulator, Gameshark, GoldenEye Multiplayer and more!

[ Privacy Policy ]