Hacking Wii U support in Dolphin

tswntk

Well-Known Member
Member
Joined
Aug 6, 2012
Messages
1,018
Trophies
1
XP
2,370
Country
Switzerland
As was pointed by others in this thread differences are not that big, GPU is different but CPU architecture is very similiar and can run wii software natively.


Are they Dolphin devs ? or dev of any other emulator?
At least 2 of the Main devs of Dolphin already said the difference is not that small and they are not interested.

Dolphin is open source, why don't you or those who said "the difference is not that big" just take the codes of Dolphin (Gui, CPU cores etc) and add in WiiU components to create a WiiU emulator?
Since WiiU is backward compatible with Wii (and they can always add in a Gamecube "module"); if they done it right, they can tell everybody to ditch Dolphin and you got your all-in-one emulator.
 

uyjulian

Homebrewer
Member
Joined
Nov 26, 2012
Messages
2,567
Trophies
2
Location
United States
Website
sites.google.com
XP
3,882
Country
United States
Are they Dolphin devs ? or dev of any other emulator?
At least 2 of the Main devs of Dolphin already said the difference is not that small and they are not interested.

Dolphin is open source, why don't you or those who said "the difference is not that big" just take the codes of Dolphin (Gui, CPU cores etc) and add in WiiU components to create a WiiU emulator?
Since WiiU is backward compatible with Wii (and they can always add in a Gamecube "module"); if they done it right, they can tell everybody to ditch Dolphin and you got your all-in-one emulator.

Why not make a fork of Dolphin, strip out old the Wii and Gamecube code, then put in Wii U support?
That way we don't have to clutter the main Dolphin .
 

WulfyStylez

SALT/Bemani Princess
Member
Joined
Nov 3, 2013
Messages
1,149
Trophies
0
XP
2,877
Country
United States
Why not make a fork of Dolphin, strip out old the Wii and Gamecube code, then put in Wii U support?
That way we don't have to clutter the main Dolphin .

Why not make a fork of bsnes, take out all the SNES code, then put in Wii U support?

Point being, it's been said time and time again that just because the hardware architectures vaguely resemble each other doesn't mean you can use any of the old code. You should all read up on how modern emulation of systems works - it's actually quite abstracted from the hardware. Enough such it's actually worth making a brand new emulator from scratch, rather than taking a low-level approach like Dolphin uses.
 
  • Like
Reactions: Kargaroc

Lakum

Well-Known Member
Member
Joined
Jul 24, 2014
Messages
158
Trophies
0
XP
212
Country
Malaysia
Why not make a fork of bsnes, take out all the SNES code, then put in Wii U support?

Point being, it's been said time and time again that just because the hardware architectures vaguely resemble each other doesn't mean you can use any of the old code. You should all read up on how modern emulation of systems works - it's actually quite abstracted from the hardware. Enough such it's actually worth making a brand new emulator from scratch, rather than taking a low-level approach like Dolphin uses.
To be honest I would prefer proper hardware emulation than ultra HLE approach it probably would be slower but less hacky and more accurate.
 
  • Like
Reactions: Margen67

Praxis

Well-Known Member
Member
Joined
Mar 26, 2009
Messages
117
Trophies
0
XP
240
Country
United States
Why not make a fork of bsnes, take out all the SNES code, then put in Wii U support?

Point being, it's been said time and time again that just because the hardware architectures vaguely resemble each other doesn't mean you can use any of the old code. You should all read up on how modern emulation of systems works - it's actually quite abstracted from the hardware. Enough such it's actually worth making a brand new emulator from scratch, rather than taking a low-level approach like Dolphin uses.

If it's that different, why did the Dolphin team add Wii support to their GameCube emulator rather than develop it?

Similar hardware lets you use it as a starting point.
 

Marionumber1

Well-Known Member
Member
Joined
Nov 7, 2010
Messages
1,234
Trophies
3
XP
4,045
Country
United States
If it's that different, why did the Dolphin team add Wii support to their GameCube emulator rather than develop it?

Similar hardware lets you use it as a starting point.


On the Gamecube, games accessed the hardware directly. Wii games did the same thing, and since the hardware remained mostly the same, it made sense to reuse Dolphin. There were no libraries to handle hardware access like there are now on the Wii U. On the Wii U, games don't talk directly to the hardware. They call functions in libraries which perform the hardware accesses. It's completely pointless to emulate all the hardware when you can just make the emulator translate Wii U library calls into accessing PC hardware.
 

Praxis

Well-Known Member
Member
Joined
Mar 26, 2009
Messages
117
Trophies
0
XP
240
Country
United States
On the Gamecube, games accessed the hardware directly. Wii games did the same thing, and since the hardware remained mostly the same, it made sense to reuse Dolphin. There were no libraries to handle hardware access like there are now on the Wii U. On the Wii U, games don't talk directly to the hardware. They call functions in libraries which perform the hardware accesses. It's completely pointless to emulate all the hardware when you can just make the emulator translate Wii U library calls into accessing PC hardware.

Very interesting. Thanks for the correction! Sorry for my incorrect statements then, I didn't know the Wii U worked differently. I'd just assumed an emulator would still be working at a hardware level and running software on top of it, like the Intel emulators for PowerPC Macs way back in the day.

I would imagine Wii U emulators could get better performance than Wii emulators, if it worked based on translating API calls instead of emulating the hardware all the way down, yes? But it seems like a lot of work to basically reverse engineer Nintendo's libraries.
 

Lakum

Well-Known Member
Member
Joined
Jul 24, 2014
Messages
158
Trophies
0
XP
212
Country
Malaysia
Wow yeah, why hasn't anyone discussed HLE at all in this thread? There's totally no reason to go for brutally accurate emulation when we can get everything 99% working with a way lower requirement for hardware.
99% working with HLE without hardware emulation is very unlikely even current Dolphin isnt 99% compatible.
 

TheLoneWolfe

Well-Known Member
Newcomer
Joined
May 2, 2014
Messages
67
Trophies
0
Age
25
XP
141
Country
Canada
We would need to be able to decrypt Wii U game data in order to even think about emulating commercial games, even with an HLE solution, correct?
 

DigiMonk

New Member
Newbie
Joined
Oct 1, 2014
Messages
1
Trophies
0
Age
39
XP
41
Country
even if we can get Wii U games to start on dolphin, they will be unplayable for years to come, as the processor is roughly a 3 core Wii running at twice the clock speed. The problem is that currently, high end PCs struggle emulating some Wii games, yet alone any Wii U games.

Really? Wii Games run just fine on my System with i5-2300 (2.8GHz) and GTX 660 (using Dolphin 3). I mean sometimes my coolers become very loud, but I havent had any problems yet. Oh yes, Mario Kart Wii is just amazing with XBox360 Controllers xD
 

Huntereb

Well-Known Member
Member
Joined
Sep 1, 2013
Messages
3,234
Trophies
0
Website
lewd.pics
XP
2,446
Country
United States
Really? Wii Games run just fine on my System with i5-2300 (2.8GHz) and GTX 660 (using Dolphin 3). I mean sometimes my coolers become very loud, but I havent had any problems yet. Oh yes, Mario Kart Wii is just amazing with XBox360 Controllers xD


You made an account just to flaunt your PC specs? :rolleyes:

Also, old thread.
 

NWPlayer123

Well-Known Member
Member
Joined
Feb 17, 2012
Messages
2,642
Trophies
0
Location
The Everfree Forest
XP
6,693
Country
United States
Yes, this was back when everybody was in a craze when I was downloading and reuploading Wii U ISOs and this basically takes the encryption key given in the torrents (per disc basis) and decrypts the update data, the only thing it can decrypt (need the common key for anything else)
 

Silithas

Well-Known Member
Member
Joined
May 12, 2012
Messages
164
Trophies
1
XP
416
Country
Norway
A good
I started adding Wii U support to the Dolphin emulator.
Currently it can recognize your Wii U games (in addition to your GameCube and Wii games) in either WUD or ISO format, recognize what region it is, what size it is, get the game ID, and most importantly read the file system and extract files for all partitions except the game partition. Also it lets you open RPX files, although they don't load correctly.
It can only find the partitions and read the file system for games where the title key has been released. Don't ask me how to rip your games from your WiiU, because I don't know, but some people seem to manage it.

Currently this is only useful for hackers who want to examine the update partition (I heard some exploit authors wanted binaries), or collectors who want to show off their list of games, or people who are curious what's on those discs, or people who want to work on emulating the Wii U.
IT DOES NOT PLAY WII U GAMES YET.

The source code is here on github (requires Visual Studio 2013, or if you are on linux you may need to modify the build system to include the extra files in the DiscIO module):
https://github.com/CarlKenner/dolphin/tree/WiiU

There is a bug with at least 3 of the file names on SM3DW, where the names are not read correctly, which I believe is caused by the filenames being split across the cluster boundary. Which means there is probably also a bug which corrupts some of the contents of other files where that happens. So don't rely on files being 100% accurate. The files whose formats I can understand, like app.xml or update.inf.USA, seem to be working perfectly (which is an especially good sign because those files are actually garbled when you decrypt the entire disc image with OpenSSL, at least on SM3DW).

I hope this will provide a starting point for other people who want to work on adding Wii U support to Dolphin. I believe the next step should be to try to get RPX files to load and to be viewable in Dolphin's debugger (use the command line option -d I think). Then we can work on getting simple hello world rpx files to work with high level emulation of SDK functions.

EDIT: I should point out that this is not in the official dolphin builds, just in my unofficial branch that I posted above.

EDIT: Screenshot
A good progress :)
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    K3Nv2 @ K3Nv2: Lol rappers still promoting crypto