Dolphin, the GameCube and Wii emulator - Forums

Full Version: Wii Backwards Compatibility
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5 6 7 8 9 10
(07-04-2013, 06:28 AM)Shonumi Wrote: [ -> ]Again, increasing (or for that matter any alteration of) the internal resolution is an enhancement. Again, it's not emulation unless the actual console does it (e.g. the N64 had at least 2 distinct internal resolutions iirc). There's nothing aside from effort and complexity that stops a "true" LLE emulator from being able to increase the internal resolution for applicable systems

To increase the internal resolution of the consoles original output resolution, you need some form of HLE. So its no longer a true LLE emulator anymore. When you start adding enhancements to the emulator which are not found on the original hardware, like increasing internal resolution, HLE is needed.

Shonumi Wrote:Again, where did I say you couldn't use interpolation without upscaling? Please quote me on that. Interpolation covers a broad range of image manipulation; upscaling is one of them. Upscaling is interpolation (generating new data from exists data points), but I never said upscaling was interpolation and nothing but upscaling. The way you use these terms, it does make me wonder if you actually know what they mean.

When you say upscaling is interpolation, that's like saying interpolation requires upscaling, since you're saying there both the same, which they're not. Upscaling is not interpolation. Upscaling is upscaling, and interpolation is interpolation.
@shoober420 - On my phone right now, can't quote properly quote you now

Again, increasing the internal resolution is neither HLE nor LLE if a console does not do it. If an emulator does something real hardware doesn't is either an enhancement, a hack or a bug. You can only emulate what a console does itself. If you believe otherwise, explain your point in detail.

Interpolation covers broad range of items; it defines a large category of actions. Upscaling is a very specific instance of interpolation, hence you can say that it is interpolation. The same is true of downscaling. Saying that upscaling is interpolation in now way excludes other terms from falling under interpolation, nor does it imply interpolation is only upscaling or requires upscaling.
Shoober, is English your first language? I could see where the confusion is arising from if it isn't.
(07-04-2013, 07:29 AM)Shonumi Wrote: [ -> ]Again, increasing the internal resolution is neither HLE nor LLE if a console does not do it. If an emulator does something real hardware doesn't is either an enhancement, a hack or a bug. You can only emulate what a console does itself. If you believe otherwise, explain your point in detail.

Only HLE emulation allows enhancements. A true LLE emulator will emulate the hardware exactly, allowing no enhancements. Just because an HLE emulator uses LLE emulation on certain things doesn't make it a LLE emulator. Which means there are surely more HLE emulators then LLE ones. Even though 2D emulators use LLE for graphics, most use HLE for the CPU amongst other things. Meaning, that its still an HLE emulator.

Shonumi Wrote:Interpolation covers broad range of items; it defines a large category of actions. Upscaling is a very specific instance of interpolation, hence you can say that it is interpolation. The same is true of downscaling. Saying that upscaling is interpolation in now way excludes other terms from falling under interpolation, nor does it imply interpolation is only upscaling or requires upscaling.

Upscaling is not interpolation. Upscaling uses interpolation, that doesn't mean that its actually interpolation. Remember my analogy from a view posts back? With you logic, if a car uses gasoline, the car can now be called gasoline because it uses gasoline. A car is still a car, even though it uses gasoline. Upscaling is still upscaling, even though it uses interpolation. They are not the same thing. Upscaling is upscaling, and interpolation is interpolation.
Hey, remember what I've said 20 times about "HLE" and "LLE"? v_v; You can emulate stuff at a LOT of different levels. Why do you keep trying to specify that it allows and disallows stuff when the actual definition doesn't even state anything of the sort?

LLE doesn't necessarily banish enhancements, at least not by principle. By design, sure, it'll be much harder to get any enhancements into an emulator when you're emulating things at a lower level, but that doesn't mean you can't render at higher resolutions or anything – I mean, look at that Z64 plugin, it's LLE and it can have its stuff rendered at high-res.

And Shonumi's definitely not dumb enough to mean that upscaling (smoothing out a low-res image for display at a higher res) refers to the exact same thing as interpolation (making guesses by looking between data points). Don't take everyone's words *exactly* as they say them. People inevitably make typos, get lazy when writing, and lose brain cells from arguing all day with idiots. Give 'em some slack.
@shoober420

Interpolation is the process used to upscale. So that car analogy is terrible. And you still don't seem to understand what "resolution", "internal resolution", "scaling", and "rendering" are if you're still not getting this stuff. Considering how many times shonumi and I have explained it to you (and now paul) you should be looking at definitions by now. If you're not then you need to do that before you continue posting.
shoober420 Wrote:Only HLE emulation allows enhancements. A true LLE emulator will emulate the hardware exactly, allowing no enhancements. Just because an HLE emulator uses LLE emulation on certain things doesn't make it a LLE emulator. Which means there are surely more HLE emulators then LLE ones.

Then by your definition, there probably are no "LLE emulators" whatsoever in existence. Most now feature save-states, screenshots, fullscreen (or just scaling filters, even nearest neighbor), and other enhancements absent in the original hardware, even Higan and Xebra. Of course every emulator ever made ("HLE emulators") would outnumber a category so exclusive that it has no members ("LLE emulators").

However, you're certainly misusing the terms HLE and LLE as they apply to handheld and console emulators. Both refer to "how" an emulator tries to reproduce certain functionality. Those terms do not exclude what features the emulator can and cannot do in addition to emulating hardware. Each only restricts "how" an emulator goes about achieving what the original hardware did. It doesn't boil down to "HLE is not accurate" and "LLE is accurate". Depending on the nature of the emulated component, you can get 1:1 results the same as real hardware would with HLE.

Take the GB BIOS again. All of the memory locations, CPU registers, etc, all have specific values that the BIOS changes. We can HLE the BIOS exactly and get the same output as an LLE approach or an actual GB. The same applies to a GB CPU instruction known as the Decimal Adjust Accumulator (DAA). There are actually a limited number of possible results that the instruction will return, and it's possible to know every single combination before even running the instruction. VBA-M uses a lookup table filled with pre-calculated results, and it can get the correct results every time for any given input. This is a prime example of HLE (at least in VBA-M) at work; a real GB's CPU does the math everytime it runs the DAA instruction. Nevertheless, HLE in this case can directly match LLE or real hardware; you shouldn't think of HLE or LLE strictly in terms of accuracy. Although by its nature, LLE tends to be more accurate than HLE, you can't say that HLE is unable to be accurate.

shoober420 Wrote:Even though 2D emulators use LLE for graphics, most use HLE for the CPU amongst other things.

High-level emulation involves taking shortcuts to achieve the same effect as real hardware. The DAA instruction was just one example, but it's rare to get a chance to HLE any parts of the CPU. This is due to the fact that HLE relies on mimicking the large-scale behavior of hardware. The large-scale behavior of a CPU is to run specific programs. To HLE that, you'd necessarily have to know the large-scale behavior of the program (e.g. ROM, ISO, DOL, etc) you're running. That's not very practical unless there are only a handful of games for the emulator, and you know the assembly of each game very well. This would be useful for emulating something like old Tiger Electronic handheld devices, like Raptor Run. Extensively using HLE for the CPU isn't done with most emulators (if any?) emulators today. You can't reliably predict the behavior of every game at every point of gameplay.

Most CPUs are emulated using LLE as a result. This is also true due to the type of instructions being emulated; some simply have no shortcuts because they can't be reduced, nor can they be stripped of any other step. If an instruction tells you to add two numbers, what's there to skip? What's there to shorten? If an instruction tells you to read a value from memory, how would you HLE that? If you say emulators for 2D systems HLE the CPU (partly or completely) please provide specific examples.

shoober420 Wrote:Upscaling is not interpolation. Upscaling uses interpolation, that doesn't mean that its actually interpolation. Remember my analogy from a view posts back? With you logic, if a car uses gasoline, the car can now be called gasoline because it uses gasoline. A car is still a car, even though it uses gasoline. Upscaling is still upscaling, even though it uses interpolation. They are not the same thing. Upscaling is upscaling, and interpolation is interpolation.

That's a flawed analogy at best. Upscaling doesn't just use interpolation, it's a very specific type of interpolation with a very specific aim. Gasoline is not a specific type of car. With regards to images, upscaling is the interpolation of existing pixels to generate a larger image. Nonetheless, it's still interpolation, just one with unique functionality.

If you have something of Type B that's a specific instance of Type A, it's still classified as being Type A. This is how we organize systems of classification in biology. This is how we deal with inheritance in object-orientated programming. That's how we deal with transitive relations in mathematics. That's how we use language itself. Quite simply, this is how we categorize things. Upscaling is a type of interpolation, therefore we can reasonably say that upscaling is interpolation. Obviously saying something like this does not preclude other things from being interpolation.

Analogy time: let's go for a walk. Walking is a specific type of exercise. We can reasonably say walking is exercising. We cannot reasonably say walking is walking and exercising is exercising as if they were two seperate things. They overlap, with walking being a subset of exercising. We cannot reasonably say that walking is exercising while nothing else (swimming, running) is. In this same way, upscaling is interpolation (given that the process of upscaling is a subset of that mathematical concept). You seem to keep forgetting that interpolation is an incredibly broad idea, just like exercising. Anything that falls under that idea can still be said to be that category itself.

pauldacheez Wrote:And Shonumi's definitely not dumb enough to mean that upscaling (smoothing out a low-res image for display at a higher res) refers to the exact same thing as interpolation (making guesses by looking between data points). Don't take everyone's words *exactly* as they say them. People inevitably make typos, get lazy when writing, and lose brain cells from arguing all day with idiots. Give 'em some slack.

I've said countlessly that upscaling is interpolation (see logic above) but that doesn't mean it's a 1:1 equivalence (upscaling is interpolation and interpolation is upscaling). I think shoober420 has been trying to insinuate that, but that's isn't even close to being true. I've never said that interpolation is upscaling (it can be, but not always), but I've said the reverse because upscaling is an instance of interpolation.
(07-04-2013, 03:52 PM)Shonumi Wrote: [ -> ]It doesn't boil down to "HLE is not accurate" and "LLE is accurate". Depending on the nature of the emulated component, you can get 1:1 results the same as real hardware would with HLE.

LLE is about accuracy. LLE emulates the hardware as closely as possible, while HLE goes for speed and enhancements. You will not get the same results with HLE emulation, which is one of the reasons byuu uses LLE instead of HLE for his emulator. He wants accuracy.

Shonumi Wrote:Nevertheless, HLE in this case can directly match LLE or real hardware; you shouldn't think of HLE or LLE strictly in terms of accuracy. Although by its nature, LLE tends to be more accurate than HLE, you can't say that HLE is unable to be accurate.

This is because its only emulating the BIOS or something else very simple. If HLE tried to emulate anything else, it would have no way of emulating it as accurate as LLE would.


Shonumi Wrote:That's a flawed analogy at best. Upscaling doesn't just use interpolation, it's a very specific type of interpolation with a very specific aim. Gasoline is not a specific type of car. With regards to images, upscaling is the interpolation of existing pixels to generate a larger image. Nonetheless, it's still interpolation, just one with unique functionality.

The analogy fits perfectly. Just because upscaling uses interpolation, that doesn't mean that it is interpolation. Just because something uses something else, it doesn't become what it uses.

Shonumi Wrote:Analogy time: let's go for a walk. Walking is a specific type of exercise. We can reasonably say walking is exercising. We cannot reasonably say walking is walking and exercising is exercising as if they were two seperate things. They overlap, with walking being a subset of exercising. We cannot reasonably say that walking is exercising while nothing else (swimming, running) is. In this same way, upscaling is interpolation (given that the process of upscaling is a subset of that mathematical concept). You seem to keep forgetting that interpolation is an incredibly broad idea, just like exercising. Anything that falls under that idea can still be said to be that category itself.

This is a bad analogy because you don't need to walk to exercise. You can exercise in many different ways. Unlike upscaling, which requires interpolation and can't use anything else to upscale. Your legs are used to exercise, does that mean our legs are called exercise? A computer uses a mouse to function. Does that mean the computer is a mouse now? Your lungs need oxygen to breathe, does that mean our lungs can now be called oxygen? Just because something uses something else to function, doesn't mean it becomes what it uses. Interpolation and upscaling are two totally different things. There is NOTHING you can say to convince me that they are the same.

If what you were saying is true, when I use trilinear filtering on a texture, it upscales the texture no matter what, since according to you, upscaling is interpolation. This is simply not true. You can apply interpolation to something without the need to upscale, because upscaling isn't interpolation. Interpolation is interpolation, and upscaling is upscaling.
shoober420 Wrote:If HLE tried to emulate anything else, it would have no way of emulating it as accurate is LLE would.

You heard him folks. This man knows better than all of those emulator developers.

Seriously shoober why are you doing this? You're clearly not looking up anything you say before posting it and you're talking to an emulator developer saying you understand emulation better than him while using basic terminology incorrectly. And even when everyone tells you you're incorrect and explains in detail what you got wrong you still keep making the same arguments as if you didn't even read what they wrote. What do you possibly hope to accomplish by doing this other than pissing off everyone on the forums? I just don't understand why you're so hung up on this. Why you haven't considered the fact that maybe some of these people that have more experience with these things than you do might understand them better than you.
(07-05-2013, 02:32 PM)NaturalViolence Wrote: [ -> ]You heard him folks. This man knows better than all of those emulator developers.

Seriously shoober why are you doing this? You're clearly not looking up anything you say before posting it and you're talking to an emulator developer saying you understand emulation better than him while using basic terminology incorrectly. And even when everyone tells you you're incorrect and explains in detail what you got wrong you still keep making the same arguments as if you didn't even read what they wrote. What do you possibly hope to accomplish by doing this other than pissing off everyone on the forums? I just don't understand why you're so hung up on this. Why you haven't considered the fact that maybe some of these people that have more experience with these things than you do might understand them better than you.

There's no doubt LLE emulation is used for accuracy. HLE is for speed. This is common knowledge.
Pages: 1 2 3 4 5 6 7 8 9 10