What's new

Why oh why?

Rocketman_mab

New member
I have just a basic programming question.
I have NO idea how to program these emulators, and I just don't understand why it is possible to emulate some games and other games just don't work. For instance, I don't think I have ever found an emulator, no matter how crappy, that can't emulate Mario 64. However, you can't find any emulator that runs half of the Lucasarts games or Banjo Tooie. Why? Project 64 is my main emulator and I love it :pj64: But it is still unable to handle some games. What is the difference? Why does the N64 read a cart without a problem and why can't we emulate in the same way? Is it like apples and oranges or what?
 

Eagle

aka Alshain
Moderator
Well, apples and oranges aren't a good analogy. Lets compare them to PC games. Newer PC games require high end PCs to play. The system requirements are much higher because they better graphics, sound, and detail. Older game don't require high end PCs (because they didn't exist when the game was made) but also because they arent as detailed. Now comes the important part. A high end PC could still run a low requirement game, but a low end PC cant run a high requirement game. Now back to N64. Super Mario Brothers was the first game to be developed for the N64. This was before programmers began to explore the full potential of what the machine could actually do. So Mario 64 has low system requirements and could have been run on a slightly less powerfull machine than the N64. I hope I'm making sense with all this.
 
OP
Rocketman_mab

Rocketman_mab

New member
Okay, but I can play Conker's BFD with NO PROBLEMS WHATSOEVER and that is the most detailed game I have ever seen. (To my knowledge.) Are you saying that the only games that can't be emulated are too advanced for a PC? That just seems hard to believe. I always thought that the N64 was a lot less advanced than a PC. I'm assuming we are talking graphics here. How does a N64 Console read a cart? Why can't a PC read it the same way?
 

Doomulation

?????????????????????????
Simple as to put it, the emulator reads the rom, and it does everything the rom wants the emulator to do.
In some games, like banjo tooie, it's copyright protected, some sort of protection that makes the emulator unable to emulate the game.

In other games, some commands used by the rom may not have been implented, so the emulator cannot carry out the wish of the rom. In other games, there are "combiners" as to say it, or gfx which the gfx plugin doesn't know how to handle that makes it unplayable.
 

Smiff

Emutalk Member
A few games might actually be too advanced for a PC to run them well (e.g. Perfect Dark lens effects), but that isn't the main problem.. it's more to do with the time and resources the programmers have... it's a bit like climbing a ladder, the bottom represents no emulator, and the top a perfect emulator - maybe when you're 60% up it Mario starts working... most games get going at say 85%.. and just a few need maybe 98% of the system correct to even start... that's simplifying but you get the idea. So a graph of' rate of compatibility increase' against 'time' would look something like a classic bell curve.. and PJ is on the far side of it (needs lots of work for few games).
 

Allnatural

New member
Moderator
Rocketman_mab said:
How does a N64 Console read a cart? Why can't a PC read it the same way?
Thats the problem with the way you're thinking. It's not the PC "reading" the cart, it's the emulator. The authors are trying their hardest to mimic the functions of the hardware as closely as possible. It requires a deep understanding of how the hardware works, as well as how the individual games use the hardware. Heck, there are still some expansion chips used in SNES carts that aren't emulated or fully emulated yet.

Time and patience are key.;)
 

icepir8

Moderator
Rocketman_mab said:
I have just a basic programming question.
I have NO idea how to program these emulators, and I just don't understand why it is possible to emulate some games and other games just don't work. For instance, I don't think I have ever found an emulator, no matter how crappy, that can't emulate Mario 64. However, you can't find any emulator that runs half of the Lucasarts games or Banjo Tooie. Why? Project 64 is my main emulator and I love it :pj64: But it is still unable to handle some games. What is the difference? Why does the N64 read a cart without a problem and why can't we emulate in the same way? Is it like apples and oranges or what?

Its like this. We are working from the "black box" thoery. We have this box, when it receives this input (ie. cart, joystick...), it outputs thes picture or sound. We have no real detailed infromation about whats in the box so we try differrent things. Some work good, some don't. When a cart uses special features of the black box, it is hard to determine what is happening inside the box unless we get video or sound out. For some things it just take disasmbling the code in the cart and look for what is needed to continue running the program.
But with copyprotection they are trying to hide what is going on inside the box. So we have less info to work with. Its not that easy to explain what we are doing much less make a perfect emulator. Even if we had detailed information on the inside of the black box we would still have a hard time making a perfect emulator.

I hope what I said makes sense to someone. :p
 

Eagle

aka Alshain
Moderator
Yeah, when I was relating it to a PC it was just an analogy. In fact the N64 has a processor unlike anything available to PCs which is really what makes it so hard to emulate.
 

Smiff

Emutalk Member
plus the N64 is a much more advanced system than most people seem to realise... just 'cos it has lots of kiddy games don't make it a basic system lol . Also kind of pisses you off when they make comparisons to the PSX all the time... yes the two consoles were rivals, that's about where the similarity ends.
 

icepir8

Moderator
Smiff said:
So a graph of' rate of compatibility increase' against 'time' would look something like a classic bell curve.. and PJ is on the far side of it (needs lots of work for few games).

Its the law of "Diminishing Returns". The last % takes more work. So it takes longer to see any results. At what point is it not worth trying?
 

Smiff

Emutalk Member
the point where the remaining games suck arse?! :colgate: ;) BTW I'm very aware of Diminishing Returns, but that's only part of the picture (relevant now of course). It also took a lot of effort to get any games working at all, and in between was a period of relatively good returns (of course Icepir8 you know all this, but for the guy who started this thread). Hence my rough bell curve. This looks rather different than for a more HLE emu, which would peak much earlier on (i think, haven't thought about this much),
 

DeadRabbit

Emutalk Janitor
I think I see what your saying Smiff (in your earlier post). That basically a bloody good percentage of the N64 has to be emulated just to get ANY kind of rom "playable".

The way I look at it is that the authors must be at the most tiresome part of the complete task. A lot of work, for very little reward (game wise). I imagine that the first 60% effort is fuelled simply by the excitement of getting SOMETHING substantial working. Up to the 90% mark, you have the reward of lots of roms becoming playable. It's at this last 10% , when IMHO you are looking for lifes perfectionists, the guys who it would bug the fuck out of to leave the last 10% unfinished. When to your average guy it would maybe make more sense to consider it a job done, and move onto other things that could excite their minds again. I get the feeling that maybe Lac & Lemmy are two of lifes perfectionists and that the next version of Nemu will not be released until they can present us with a "perfect" emulator.(and IMHO, all power to them).

It'll more than likely end up that it was a wise decision to hand PJ over to another set of guys who are hopefully at that "excited" stage still. :)
 

GamerGuy2k3

New member
:pj64: All I can say is Chill out to the Ones having a Temper Tantrum Just because the Emulator doesn't emulate this or emulate that or Does this Wrong Just because the N64 does this Soooooo much better
All I gotta say to u whiners is
YOU GET WHAT U PAY FOR
 

Mayco

Member
ok, this question may look dumb, but i don't code emu's so, i don't know the answer. Is it possible to code a LLE emu? i know you need a supercomputer for that, but when you emulate erveything at low level, do you get better results then?
 

Allnatural

New member
Moderator
Originally posted by Mayco
ok, this question may look dumb, but i don't code emu's so, i don't know the answer. Is it possible to code a LLE emu? i know you need a supercomputer for that, but when you emulate erveything at low level, do you get better results then?
Of course LLE is possible with the N64. StrmnNrmn is working on that right now. As a general rule, LLE yields higher compatability.
 

Top