Post Reply 
 
Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
My vision about emulation
10-28-2018, 04:15 AM
Post: #1
My vision about emulation
Since when NES, PS1 and Saturn made me a happy guy, emulators for new consoles made me a sad guy.

I hate so much the focus on "practicality" and less accuracy.
-> The grow up of mobiles and devices as priority, a lot codes being made for it... More resource and research for a lot devices and OS.

We need some focus and vision for the future.
->Some consoles need a lot CPU or GPU. 64-bit is now, but new technologies coming to us. And we need some new codes and we can make new accuracy or high compatibility emulators of "not old consoles" on new PCs, but mobiles or some OS needs more power or different intructions.

More than emulation. Industry itself.
As you can see, a lot collection or ports without any work for nowadays. The experience is just bad or different. I can't feel the right thing playing Megaman III on the collection, even with some stupid filter. The work is so... wrong. And I need to create a filter to play on PC on original file using accurate emulator.
Find all posts by this user
Quote this message in a reply
10-29-2018, 01:12 AM
Post: #2
RE: My vision about emulation
I like PS1 more than PS3, i alaway play it
Find all posts by this user
Quote this message in a reply
10-29-2018, 02:25 AM
Post: #3
RE: My vision about emulation
Well, arguably, PPSSPP is probably a lot less about accuracy than about speed, although we try. Some of it is the reality that we don't fully understand how it exactly works, and we're often doing hardware tests to narrow that down.

The NES ran at about 2 Mhz, which is less than 0.1% of modern systems. It had similarly slow RAM and everything else.

The PS3 has a 3.2 Ghz processor and 6 (usable by games) specialized cores. That's tough to emulate, it just is. And RAM access is much faster on this modern device.

So practicality is coming in because, really, it's just not useful to emulate at less than 5% speed. Which means you can't just build a 100% from scratch software model of the CPU units and make it cycle accurate.

As soon as you start translating things to the host instruction set, you start giving up accuracy on timing and sometimes calculation. Probably the host and guest processors deviate slightly in how they handle denormals. Prefetching might behave a bit differently. Branch prediction is slightly different.

The reality is that we're moving towards a place where we're scaling out CPU and GPU power - we've begun to hit a wall in effective speed. But emulating a CPU, because it depends on a relatively small register file, is mostly a single-threaded operation. At best, you do branch prediction and run basic blocks on separate cores and work it out later in your software model (sorta like modern CPUs already do.)

If you can think of a better way to spread out emulation to multiple cores, I'd love to hear it. Or maybe quantum computing will be amazing for emulation. But as we are now, we're hitting walls.

That doesn't mean accuracy isn't a goal, it just means it ends up being secondary.

I do think there's some possibility of specialized hardware to improve this. For example, imagine a usb dongle that does non-IEEE float operations the same way as a guest device. If it has low enough latency and is easy to access, this might be a practical way to increase accuracy without sacrificing a basic level of acceptable speed.

-[Unknown]
Find all posts by this user
Quote this message in a reply
10-29-2018, 05:45 AM
Post: #4
RE: My vision about emulation
Practicality versus accuracy:
This will really depend on how much accuracy you think is enough. For example cycle accurate accuracy for even an SNES requires a pretty powerful CPU. If you wanted to try and incorporate cycle accuracy into something more modern then you're going to require even more exponential CPU power.

Focus and vision for the future:
While technologies like 64-bit and multi-core processors do help some emulation it is not always useful for every emulator. In some cases these Technologies might even cause overhead that can either slow down the Emulator or reduce accuracy. New does not always mean faster and more accurate.

The industry:
A lot of retro games I'm never quite look exactly right due to advancements in display technology. Little tricks were used in order to get the most out of underpowered consoles and these techniques don't translate quite right to modern displays and video rendering. This is less of an issue for consoles and handhelds that were built with LCD in mind. The example that comes to mind is the Quick Draw mini game in Kirby's Adventure for the NES. Emulating the NES version on an LCD screen makes the game nearly impossible to actually win do to refresh rates and the way the game is displayed. If however you use a Gameboy Advanced emulator and the Gameboy Advance version the game was tweaked in order to work on the systems LCD screen and as a result the mini game even through emulation is much more... fair. Another example would be the game 7th Guest where the microscope puzzle was based around using the computer's processor to determine how hard the puzzle was. This becomes a slight issue on more Modern Hardware where are the puzzle becomes nearly impossible to actually beat. Due to odd issues like this porting old games to new systems is somewhat more of an art then an exact science. I do agree that there are way too many lazy ports though, but that has been in Industry standard for decades.
Find all posts by this user
Quote this message in a reply
Post Reply 


Forum Jump: