Go Back   Project64 Forums > General Discussion > Open Discussion

Reply
 
Thread Tools Display Modes
  #511  
Old 19th May 2014, 07:26 PM
oddMLan's Avatar
oddMLan oddMLan is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Jan 2009
Location: Parappa Town
Posts: 210
Default

Quote:
Originally Posted by RPGMaster View Post
That explains why I don't like it . Lol more like it still has a lot of work that needs to be done.
Yes, but at least is way more accurate than the current N64 emulators. To its credit, it uses a more common architecture (PowerPC) compared to the lesser known MIPS architecture. I don't think there are so many people out there that know how to program for MIPS, AFAIK it was a PITA to learn to program for MIPS even for developers using official SDK, that was one of the reasons for lack of third-party development on the Nintendo 64.
Also, Dolphin has a very big userbase and is in very active development, unlike the N64 scene that is very fragmented and stagnant nowadays.


EDIT: Now that we are talking about C++, what kind of uses could you give to it? In other words, what advantages has C++ over plain C, and in what cases can/should we use it over plain C? There should be a reason to justify the added bloat in C++, although more or newer doesn't always equals better. I know that C is better for low level programming but why some people prefer using C++ over C and vice versa? I've heard that C is easier to learn and read than C++. But also I've heard that the other way around.
May sound noobish to ask this, is just that I'm not very instructed in the programming world. I've already read some articles that talk about the main differences but I'd like to know your opinion on this topic.

EDIT 2: I've found this link covering this topic http://stackoverflow.com/questions/4...y-use-c-over-c

Last edited by oddMLan; 19th May 2014 at 07:46 PM.
Reply With Quote
  #512  
Old 19th May 2014, 07:50 PM
RPGMaster's Avatar
RPGMaster RPGMaster is offline
Alpha Tester
Project Supporter
Super Moderator
 
Join Date: Dec 2013
Posts: 2,008
Default

I may just give up on updating the plugin spec... No matter what I try, it just doesn't work .

Quote:
Originally Posted by oddMLan View Post
Yes, but at least is way more accurate than the current N64 emulators. To its credit, it uses a more common architecture (PowerPC) compared to the lesser known MIPS architecture. I don't think there are so many people out there that know how to program for MIPS, AFAIK it was a PITA to learn to program for MIPS even for developers using official SDK, that was one of the reasons for lack of third-party development on the Nintendo 64.
Also, Dolphin has a very big userbase and is in very active development, unlike the N64 scene that is very fragmented and stagnant nowadays.
Lol are you sure that Dolphin is accurate? It didn't seem so for me when I tried it. I'd say the main issue with the n64 scene is the lack of people devoted into working on it.Too many people are lazy. MIPS is actually easy, compared to other architectures. Another issue with n64 scene is that a lot of stuff is/was closed source. Now is better than before, but hardly anyone is taking advantage of it. I guess you're refering to lack of Libraries for MIPS. There are other reasons why people wouldn't want to develop games on N64, like it being a cartridge with limited space.

Edit: The main reason imo to pick C++ over C are the extra features, libraries, and the opportunity to do Object oriented programming. Basically you sacrifice performance / size, for extra "convenience" in programming. Sure maybe some of the C++ libs are actually good, but usually C alone is good enough.

Last edited by RPGMaster; 19th May 2014 at 07:54 PM.
Reply With Quote
  #513  
Old 19th May 2014, 08:07 PM
oddMLan's Avatar
oddMLan oddMLan is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Jan 2009
Location: Parappa Town
Posts: 210
Default

Quote:
Originally Posted by RPGMaster View Post
Lol are you sure that Dolphin is accurate? It didn't seem so for me when I tried it.
When was the last time you tried it? Sure, if you tried it a year ago I wouldn't have said Dolphin was somewhere near 'accurate'. Dolphin is always in constant progress and recently it had massive rewrites and code refactors geared towards accuracy. To put it simply, Dolphin 3.5 sucks complete balls compared to the last development builds.

Quote:
Originally Posted by RPGMaster View Post
I'd say the main issue with the n64 scene is the lack of people devoted into working on it.Too many people are lazy. MIPS is actually easy, compared to other architectures. Another issue with n64 scene is that a lot of stuff is/was closed source. Now is better than before, but hardly anyone is taking advantage of it. I guess you're refering to lack of Libraries for MIPS. There are other reasons why people wouldn't want to develop games on N64, like it being a cartridge with limited space.
Well that makes sense.

I wish more people were interested in developing for the N64 scene but not as fragmented as it is today, that wouldn't work effectively IMO. Some people want to develop for PJ64 1.6, other for PJ64 2.1, other for 1964, other for CEN64, some want to develop for X or Y plugin but at the same time someone is making a Z plugin. Meanwhile the Mupen64++ team made some fixes to the recompiler code and made a fork of XYZ plugin with some improvements. You get my point, I hope.

I wish N64 development learned something from Dolphin, and that is that we should get rid of the plugin system altogether and improve upon a consolidated base. Currently Gonetz is remaking Glide64 into an OpenGL plugin that is not dependent on unnecessary wrappers and cumbersome hacks, which I'm looking forward to. You can look the development progress here.
Amusingly, he didn't use Glide64 as its base, instead he used Orkin's gl64.

Quote:
Originally Posted by RPGMaster View Post
Edit: The main reason imo to pick C++ over C are the extra features, libraries, and the opportunity to do Object oriented programming. Basically you sacrifice performance / size, for extra "convenience" in programming. Sure maybe some of the C++ libs are actually good, but usually C alone is good enough.
I've read there are some cases in where C++ beats C in performance if you write the right code. Of course I can't check that for myself because I'm no programmer.

Last edited by oddMLan; 20th May 2014 at 01:45 AM.
Reply With Quote
  #514  
Old 19th May 2014, 08:51 PM
RPGMaster's Avatar
RPGMaster RPGMaster is offline
Alpha Tester
Project Supporter
Super Moderator
 
Join Date: Dec 2013
Posts: 2,008
Default

I'll admit it wasn't an up to date build. I actually like the plugin system. As others have mentioned before, it allows programmers to focus on specific tasks. This would not matter so much if everything was all open source to begin with. Take Nemu64 for example. Its development stopped around 10 years ago, yet it still has nice features (I love its debugger). I can replace their outdated video plugin with jabo or rice video. It's very nice when you have to deal with closed source software.

I actually don't mind that people work on their own stuff. It's inevitable that different people will want different things. Some people want to run emulator on a toaster, others want some pixel & cycle accurate emulator and don't care about running at 6 fps. It is a mess how people are working on different versions of the same original code though. It can't be helped when later versions have flaws that previous ones didn't have. Even though everything is scattered, a dedicated programmer can actually benefit from this. I can look at various emulators to get a greater understanding of how things work.

There are a few advantages of C that I forgot to mention. One of them is that it's easier to export C code into libs and I think also dlls (not 100% sure on this one). Also the code is arguably a lot more readable.

Hmm well idk what to do about graphics then. I really want to run relatively accurate hle plugin. Glide is good, but I'd want it to be faster. Hmm, maybe I'll compile glide and profile it. Fortunately, I'm pretty sure Glide is a #1.3 spec, so i don't have to worry about plugin compatibility. I think Glide is better than gl64, unless I'm using an outdated version lol.

Sure maybe occasionally C++ will beat C, but usually C > C++. Don't let people fool you. Anytime someone says something questionable, don't just take their word for it. One common thing I see on stackoverflow are stupid comments like "you can't beat your compiler" or "leave it to your compiler", and they also seem to hate on optimizing code even though optimized code generally = cleaner code lol... Some even went as far as to say assembly is obsolete... At the end of the day, you should use whatever works best for you. If you're even the least bit interested in emulator development, I recommend you give it a shot, provided you're not too busy irl. You might find this type of work enjoyable.
Reply With Quote
  #515  
Old 20th May 2014, 12:32 AM
MarathonMan's Avatar
MarathonMan MarathonMan is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Jan 2013
Posts: 454
Default

Quote:
Originally Posted by RPGMaster View Post
I'd say the main issue with the n64 scene is the lack of people devoted into working on it.
I've written about my thoughts on this before. I'm a firm believer that the plugin-based systems of N64 emulators led to the death of N64 development.

People always end up getting so pissed off at each other. Who wrote the best RDP plugin? Who was responsible for first writing feature X in plugin Y? My plugin is better than Z because X.

I mean, just think about all the arguments in the N64 scene over the years...

In theory, plugin development should lead to competitiveness. But in reality, it just leads to stagnation. Kinda like communism: great in theory, but doesn't work out so well in practice.
Reply With Quote
  #516  
Old 20th May 2014, 03:06 AM
FireWSP FireWSP is offline
Member
 
Join Date: Apr 2014
Posts: 35
Default

Quote:
Originally Posted by MarathonMan View Post
People always end up getting so pissed off at each other. Who wrote the best RDP plugin? Who was responsible for first writing feature X in plugin Y? My plugin is better than Z because X.

I mean, just think about all the arguments in the N64 scene over the years...

In theory, plugin development should lead to competitiveness. But in reality, it just leads to stagnation. Kinda like communism: great in theory, but doesn't work out so well in practice.
I have to agree. All that countless Plugins and all of them have different problems. I think if some of these coders would have joint forces back then we would have at least one real good GFX plugin.
What i also dont understand is that for some emulators like PJ64 and 1964 older version work better than newer ones. Why where these good working parts not carried over to the newest version?
I also dont understand why there is no source for some version.
Reply With Quote
  #517  
Old 20th May 2014, 03:20 AM
MarathonMan's Avatar
MarathonMan MarathonMan is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Jan 2013
Posts: 454
Default

Quote:
Originally Posted by FireWSP View Post
What i also dont understand is that for some emulators like PJ64 and 1964 older version work better than newer ones. Why where these good working parts not carried over to the newest version?
At least for PJ64: 1.6 was a team-effort. 1.7, 2.x+, etc. are all a single-handed effort on zilmar's part. Given that only one person is doing the grunt of the work, the community is less active in general, etc. you're going to see that bugs not getting ironed out as fast or complete they did in older versions.

Not only that, but zilmar has reworked the API and design entirely in 2.x, which is always going to result in a few issues cropping up. I'm currently rewriting CEN64 and experienced the same issue. Design is a lot cleaner, binary is smaller, things are faster, but there's still lingering issues after the migration.

I would imagine something similar happened for 1964? Are the original authors even involved anymore?
Reply With Quote
  #518  
Old 20th May 2014, 07:01 AM
RPGMaster's Avatar
RPGMaster RPGMaster is offline
Alpha Tester
Project Supporter
Super Moderator
 
Join Date: Dec 2013
Posts: 2,008
Default

Lol I guess I'm the only one who likes plugins . Most of my reasons have to do with how things turned out. Different plugins work better for different games. Also plugins help when a lot of emulators are closed source. Ideally, I think something more static would be best (if everything was open source).

This scene needs more no-lifers like myself . A lot of the people who actually know what they are doing are too busy irl.
Quote:
Originally Posted by FireWSP View Post
I have to agree. All that countless Plugins and all of them have different problems. I think if some of these coders would have joint forces back then we would have at least one real good GFX plugin.
What i also dont understand is that for some emulators like PJ64 and 1964 older version work better than newer ones. Why where these good working parts not carried over to the newest version?
I also dont understand why there is no source for some version.
I'm pretty sure people already work as a team for video plugins. I don't think it's easy to implement other people's code for hle gfx plugin, especially if you're not using the same graphics library. If you notice, a lot of plugins even have regression, just like you see with emulators. That just shows you how hard it is to make a good plugin. I'd say the main reason for the good working parts not being carried over is lack of time. I don't get why the source for some versions are not out. It would be nice to combine good parts from each version.
Quote:
Originally Posted by MarathonMan View Post
At least for PJ64: 1.6 was a team-effort. 1.7, 2.x+, etc. are all a single-handed effort on zilmar's part. Given that only one person is doing the grunt of the work, the community is less active in general, etc. you're going to see that bugs not getting ironed out as fast or complete they did in older versions.

Not only that, but zilmar has reworked the API and design entirely in 2.x, which is always going to result in a few issues cropping up. I'm currently rewriting CEN64 and experienced the same issue. Design is a lot cleaner, binary is smaller, things are faster, but there's still lingering issues after the migration.

I would imagine something similar happened for 1964? Are the original authors even involved anymore?
You have a good point that it's faster with a team, rather than one person. After skimming through zilmars source code, I can tell that he just doesn't have enough time to work on this project. It's true that the 1964 authors are no longer involved. Its gui was always buggy though. Rewritting code often times do lead to new errors.
Reply With Quote
  #519  
Old 20th May 2014, 08:06 AM
HatCat's Avatar
HatCat HatCat is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Feb 2007
Location: In my hat.
Posts: 16,236
Default

Quote:
Originally Posted by FireWSP View Post
I have to agree. All that countless Plugins and all of them have different problems. I think if some of these coders would have joint forces back then we would have at least one real good GFX plugin.
Which is exactly why there is a plugin system: To promote the joining of forces on smaller, more maintainable modules of code.

It has been a success compared to what would have happened if N64 never had a plugin spec.

I don't think Dolphin getting rid of its plugin system has anything to do with how active or popular it is. I think it being just about the only emulator still in active development, for a system second only to the Wii's generation in newness for today's kids does.

Quote:
Originally Posted by FireWSP View Post
I also dont understand why there is no source for some version.
PJ64 wasn't meant to be open-source, just as good as if not better than Nemu64, which is closed-source. It was only open-sourced because zilmar was pressed by some of his teammates into releasing the code when he discontinued Project64 at version 1.4. After he decided he was finished with "Project64 1.7", his team rebelled against him for some understandable reasons, so only at Project64 2.0 was he finally alone, when for some reason he changed his mind and decided to start open-sourcing it again.
Reply With Quote
  #520  
Old 20th May 2014, 08:25 AM
HatCat's Avatar
HatCat HatCat is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Feb 2007
Location: In my hat.
Posts: 16,236
Default

Quote:
Originally Posted by oddMLan View Post
EDIT: Now that we are talking about C++, what kind of uses could you give to it?
As far as computer programming goes, nothing unique.

As far as fantasist constructs abstracted away from the physical reality of any computer hardware, everything.

That's basically what C++ is all about: Define a bunch of new high-level keywords, types, and objects before somebody else beats me to it and defines it their own way within the C language. Most of the inventor of C++'s reasoning for enforcing his C++ lang over C just come across as human-impulsive obsessiveness to me.

I guess his more polite comment, was that C and his C++ lang, should not be separate languages...there should be one unified language. Now, how the hell you want to interpret what he means by that (genocide C and keep only C++? fuse them both together into something even more bloated than C++ is?), he has left up to us I guess.
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 06:23 PM.


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