Question about Wii U Emulation

Discussion in 'Wii U - Hacking & Backup Loaders' started by Noctosphere, Oct 4, 2015.

  1. neobrain

    neobrain -

    Member
    306
    472
    Apr 25, 2014
    Apparently I wasn't being entirely clear: I wasn't ruling out Wii U emulation entirely, but just Wii U emulation as being part of Dolphin.
     
    Margen67 likes this.


  2. oumoumad

    oumoumad GBAtemp Advanced Fan

    Member
    798
    727
    Apr 20, 2015
    France
  3. TecXero

    TecXero Technovert

    Member
    2,814
    906
    Apr 13, 2014
    United States
    Mainframe
    Here's a bit of a dumbed down explanation: Cycle perfect emulation is incredibly taxing. It wouldn't surprise me if you needed a PC with that powerful of a CPU if you're using pure LLE. Most emulators use shortcuts and HLE, sacrificing accuracy for speed, using hacks and ROM specific patches to compensate for the lack of accuracy. They're generally perfectly playable, but not perfect. You should probably read up on emulation and how it works before making comments that come off as rather arrogant.
     
    Last edited by TecXero, Oct 5, 2015
  4. DarkFlare69

    DarkFlare69 GBAtemp Psycho!

    Member
    4,556
    2,390
    Dec 8, 2014
    United States
    Ohio
    Not really. Dolphin is the only good Gcn emulator. It's the only goodnWii emulator. Why not continue this and make it the only good Wii U emulator?
     
  5. TecXero

    TecXero Technovert

    Member
    2,814
    906
    Apr 13, 2014
    United States
    Mainframe
    Because that would be a lot of work. It would probably be just as much work to just make a separate emulator, maybe a bit less so you don't have to worry about breaking things Wii/NGC side. Just because they use similar architectures doesn't mean they aren't very different. The Wii U, while being built upon the Wii, is still a very different beast. It wouldn't surprise me if some components from Dolphin are used, if a serious Wii U emulation project pops up, though.
     
  6. DarkFlare69

    DarkFlare69 GBAtemp Psycho!

    Member
    4,556
    2,390
    Dec 8, 2014
    United States
    Ohio
    I never said it'd be easy. But i can see your points
     
  7. TecXero

    TecXero Technovert

    Member
    2,814
    906
    Apr 13, 2014
    United States
    Mainframe
    In the end, just treat it as a separate console. It is a lot more different than the Wii than the Wii was to the NGC. It would almost be like lumping PS3 and Xbox 360 together just because they use similar architecture. Big emphasis on almost.
     
    mutinize and rotebrotobias like this.
  8. Noctosphere
    OP

    Noctosphere Moon furries | Official follower of Skiddon't-ism

    Member
    1,789
    1,635
    Dec 30, 2013
    Canada
    Between three furries women
    By perfect emulation, I supose you mean "Having exactly the same experience as I was playing on the console AND playing at 60FPS", right?
    Well, for I, Perfect emulation doesn't mean 60fps but 25 fps or more. The human eyes frame rate... you know?
     
  9. The Real Jdbye

    The Real Jdbye Always Remember 30/07/08

    Member
    GBAtemp Patron
    The Real Jdbye is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    10,627
    4,270
    Mar 17, 2010
    Norway
    Alola
    Perfect emulation means every game runs exactly the same as on the real hardware, even including bugs that were also on the original hardware.
    A better term is 100% accurate emulation. Without that, some games will always have differences when compared to the original hardware and in some cases they are gamebreaking because they either rely on quirks of the original console, or the emulator fails to implement certain things the game expects.
    If you read the entire thing you will understand.
     
    730 likes this.
  10. epicmartin7

    epicmartin7 GBAtemp Fan

    Member
    328
    96
    Aug 5, 2015
    United States
    Just curious, is it possible for you to capture footage of the emulator running?
     
    TotalInsanity4 likes this.
  11. Jao Chu

    Jao Chu GBAtemp Advanced Maniac

    Member
    1,917
    1,210
    Aug 20, 2013
    straya m8
    Github trolls at it again :rofl2:
     
  12. epicmartin7

    epicmartin7 GBAtemp Fan

    Member
    328
    96
    Aug 5, 2015
    United States
    So... it's fake?
     
  13. Noctosphere
    OP

    Noctosphere Moon furries | Official follower of Skiddon't-ism

    Member
    1,789
    1,635
    Dec 30, 2013
    Canada
    Between three furries women
    This wii u emulator is most probably fake.
    However, my preview software allowing you to play game before their release isn't
    look I play Rise of the Tomb Raider right now :
    http://imgur.com/mqa8xkb
    All you have to do is fill 3 survey or get a premium membership for 25$
     
    epicmartin7 likes this.
  14. Ericzander

    Ericzander I used hax to get yellow name

    pip Reporter
    1,476
    1,379
    Feb 28, 2014
    United States
    Grand Line
    It's as real as my PS4 emulator.

    Okay, I'm going to try to drop the sneakiness and just be blunt. People... Don't get your hopes up. If you want to play Wii U games, get a Wii U. There isn't a Wii U emulator and if there WAS you wouldn't be able to run it at anything close to a playable speed (I'm not talking 20fps. I'm talking like 5 or less.)
     
  15. epicmartin7

    epicmartin7 GBAtemp Fan

    Member
    328
    96
    Aug 5, 2015
    United States
    I do know that modern technology besides a military supercomputer probably would never be able to run Wii U games near perfect. So it's not really surprising that this could potentially be fake of course, but yet again, who really knows at this point. I'm just going to go back to my wait and see approach. We'll see if they release anything in the next couple of days or not. If it does get a release, it'll be nothing more than a 5 fps tech demo at best. It'll still be definitely cool to see though.
     
    Last edited by epicmartin7, Oct 6, 2015
  16. Noctosphere
    OP

    Noctosphere Moon furries | Official follower of Skiddon't-ism

    Member
    1,789
    1,635
    Dec 30, 2013
    Canada
    Between three furries women
    By the way, I heard it requires about 10 time the specs of the console to emulate it, but I have a question about specs :
    It's about CPU cores. How does it works to compare them?
    Wii u is tri-core 1.24 GHz
    My pc is 4Core 3.4 GHz
    If I want to compare them, should I proceed that way?
    Wii U : 1.24 x 3 = 3.72 GHz
    My PC : 3.40 x 4 = 13.6GHz
    So, my pc cpu isn't 10 times more powerful than wii u but 3.66 times
     
  17. Exzap

    Exzap GBAtemp Regular

    Member
    154
    1,441
    Sep 19, 2015
    Netherlands
    I initiated the project about 2 years ago, but counting away all the weeks inbetween where nothing happend the effective development time is about 6 months. Right now, I am the only developer on the project, although I had help in the past from two friends. There are plans to recruit more long-term members in the future.

    HLE for all the Wii U libraries and the PPC Cafe OS kernel. As a result, IOSU emulation is not necessary. We decided for this approach because it's easier and more visible when progress is made. Somewhere down the line we may move away from HLE where possible.

    In short, I believe the project does not profit from being open-sourced. Not at this stage at least. We are trying to take a different approach which will hopefully lead to more speedy development. I'll share more details in the future. At present, getting the emulator ready for the release is the top priority.

    Started from scratch since there isn't really anything that could have been reused. The only reusable component would be the PPC interpreter, but for this I used my own PPC interpreter from a different unreleased emulator project (this interpreter is based on PearPC, but was completely rewritten. iirc Dolphins interpreter has a similar history?)

    It's there but has not really had any noticeable implications so far. At this stage we use 1 thread to emulate all three cores. Changing it to one thread per core shouldn't be too difficult. The shared core clock timer might be annoying to emulate, but thats about it. Everything else is abstracted away inside API functions. I have yet to encounter any game which relies on accurate cache behavior.

    I recorded some footage early September. I uploaded it here. There are a lot more graphical glitches compared to the current build. Also, speed was increased to 30 FPS. The original capture ran at 5-8 FPS.
     
    filfat, Vel0cityX, Margen67 and 7 others like this.
  18. The Real Jdbye

    The Real Jdbye Always Remember 30/07/08

    Member
    GBAtemp Patron
    The Real Jdbye is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    10,627
    4,270
    Mar 17, 2010
    Norway
    Alola
    To be honest, more cores doesn't help a whole lot when it comes to emulation, you can separate the emulation between cores to some degree, but two CPU cores still have to be emulated on two CPU cores, due to synchronization. You can't just make something use more CPU cores than it was designed for, since the game is not designed to run certain tasks simultaneously (multithreaded apps/games have to specifically take this into account to avoid crashes)
    You can emulate other hardware on another core, given that you take the proper precautions to keep the threads synchronized so as to avoid crashes due to threads trying to access things at the same time or otherwise not matching up to the real hardware well enough that games will still work, but this will limit the performance increase, so that async audio for example will only give a small performance increase.
     
    TecXero likes this.
  19. Noctosphere
    OP

    Noctosphere Moon furries | Official follower of Skiddon't-ism

    Member
    1,789
    1,635
    Dec 30, 2013
    Canada
    Between three furries women
    mmmh... not sure to be sure to understand so tell me if i understand...
    two cores doesnt mean double CPU power but double performence.
    for example, emulating snes requires 3GHz. i dont know if what about to say is right but its just for example. so 3GHz for snes would mean :
    800mhz for models
    1000mhz for textures
    500mhz for audio
    600mhz for AI & scripting
    100mhz for other things
    if this is for a monocore cpu, would it means that on a dualcore cpu it would be 400mhz for models or it would mean that each Hz used by the 800 mhz for model generation can be used for one more thing, like 800mhz for models so textures would then requires 200 more mhz?
    honnestly i'm not sure to understand how cores works. but i was sure before that if you want to compare 2 diffent cpu, like a tetracore 3,4ghz and an hexacore 3,2ghz, you have to proceed with this operation so you would know which one is the most performant :
    #ghz x #core = performance
    for example, the tetracore 3,4ghz would have a performance of 13,6 and the hexacore 3,2ghz, 19,2
    so the hexacore 3,2ghz is better than the other
     
  20. The Real Jdbye

    The Real Jdbye Always Remember 30/07/08

    Member
    GBAtemp Patron
    The Real Jdbye is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    10,627
    4,270
    Mar 17, 2010
    Norway
    Alola
    Well, in your example most of those things would run on a single CPU core. Models and textures would be handled by the GPU obviously and audio might be on a separate CPU core, if using async audio. So at most two CPU cores would be used.
    More than two cores at that point would make zero difference because the emulator wouldn't be able to use them anyway.

    A 3 core CPU emulated on a 6 core CPU would never use more than 3 cores otherwise it would cause all kinds of issues with the emulation, so the extra cores are useless in that case unless being used for something else like sound emulation or emulating other parts of the hardware. This is simply because a program that is designed to run on 3 CPU cores cannot be made to run on more cores reliably even with emulation. It could be made to run on less, but it couldn't be made to run on more. A program has to be made to run on multiple cores because everything has to be tightly synchronized otherwise all kinds of issues can occur.
     
    Last edited by The Real Jdbye, Oct 6, 2015