Hacking Wii U support in Dolphin

delroth

Well-Known Member
Newcomer
Joined
Nov 19, 2013
Messages
45
Trophies
0
Age
30
XP
296
Country
Swaziland
it's not like the wii u is similar to the wii, gamecube

it plays wii and gamecube games

álsó, ít hás ppc


No, the Wii U has 0 similarity with GameCube and Wii at a low level. It's more similar to an Xbox 360 than a Wii.

Reusing Dolphin's PPC JIT would make no sense since it's very rooted in kernel-land emulation with its constraints around exception handling. It's also built for single threading, and doing multithreaded recompilation and multithreaded execution in the current Dolphin JIT framework would require a rewrite of the whole thing. You'd either need a per-core JIT cache (which would blow up RAM usage and JIT compilation time) or a thread local ppcState object (which would require replacing some immediated with computed offsets, and make things slow too). Not to mention that none of this could be shared with the standard Dolphin JIT, requiring duplicating the whole codebase and never merging changes ever again (it's basically a hard fork).
 

Coto

-
Member
Joined
Jun 4, 2010
Messages
2,979
Trophies
2
XP
2,565
Country
Chile
No, the Wii U has 0 similarity with GameCube and Wii at a low level. It's more similar to an Xbox 360 than a Wii.

Reusing Dolphin's PPC JIT would make no sense since it's very rooted in kernel-land emulation with its constraints around exception handling. It's also built for single threading, and doing multithreaded recompilation and multithreaded execution in the current Dolphin JIT framework would require a rewrite of the whole thing. You'd either need a per-core JIT cache (which would blow up RAM usage and JIT compilation time) or a thread local ppcState object (which would require replacing some immediated with computed offsets, and make things slow too). Not to mention that none of this could be shared with the standard Dolphin JIT, requiring duplicating the whole codebase and never merging changes ever again (it's basically a hard fork).


Is that because Wii U inherits some "services" handled on a different CPU? Like 3DS does with kernelmode interrupts to external devices "queue" commands to different hardware, which are connected by ie: IO gpu ports.
 

uyjulian

Homebrewer
Member
Joined
Nov 26, 2012
Messages
2,567
Trophies
2
Location
United States
Website
sites.google.com
XP
3,885
Country
United States
No, the Wii U has 0 similarity with GameCube and Wii at a low level. It's more similar to an Xbox 360 than a Wii.

Reusing Dolphin's PPC JIT would make no sense since it's very rooted in kernel-land emulation with its constraints around exception handling. It's also built for single threading, and doing multithreaded recompilation and multithreaded execution in the current Dolphin JIT framework would require a rewrite of the whole thing. You'd either need a per-core JIT cache (which would blow up RAM usage and JIT compilation time) or a thread local ppcState object (which would require replacing some immediated with computed offsets, and make things slow too). Not to mention that none of this could be shared with the standard Dolphin JIT, requiring duplicating the whole codebase and never merging changes ever again (it's basically a hard fork).

some core don't emulated because os doesn't emulate?
sory, i'v very sleepy
 

Foxi4

Endless Trash
Global Moderator
Joined
Sep 13, 2009
Messages
30,825
Trophies
3
Location
Gaming Grotto
XP
29,850
Country
Poland
No, the Wii U has 0 similarity with GameCube and Wii at a low level. It's more similar to an Xbox 360 than a Wii.
Couldn't be farther from the truth - the CPU belongs to the exact same family, it's an extension of the Gamecube and Wii's fork of PPC7xx and it contains all of the legacy elements from the Wii and the Gamecube, including MEM0 and MEM1, which is why it's capable of running Wii (and Gamecube, after some tinkering) software natively. If I remember correctly, marcan went as far as to say that it's "three Wii cores stuck together and clocked higher plus a new GPU". I am absolutely certain that you could appropriate Dolphin to run Wii U software.

BsfK1OW.png
 

Huntereb

Well-Known Member
Member
Joined
Sep 1, 2013
Messages
3,234
Trophies
0
Website
lewd.pics
XP
2,446
Country
United States
Couldn't be farther from the truth - the CPU belongs to the exact same family, it's an extension of the Gamecube and Wii's fork of PPC7xx and it contains all of the legacy elements from the Wii and the Gamecube, including MEM0, which is why it's capable of running Wii (and Gamecube, after some tinkering) software natively. If I remember correctly, marcan went as far as to say that it's "three Wii cores stuck together and clocked higher plus a new GPU". I am absolutely certain that you could appropriate Dolphin to run Wii U software.


So I was right and it is a separate chip?
 
  • Like
Reactions: Deleted User

Foxi4

Endless Trash
Global Moderator
Joined
Sep 13, 2009
Messages
30,825
Trophies
3
Location
Gaming Grotto
XP
29,850
Country
Poland
So I was right and it is a separate chip?
Not really, no. It's two separate pieces of silicon on the same chip.

7xNCpX7.jpg


De-packaged Espresso and Latte

DRdRKvk.jpg


De-packaged Broadway and Hollywood

As you can (blatantly) see, the differences here are in the lithography and the fact that the Espresso packs the GPU on the same piece of silicon rather than a separate chip - other than that, the technology used and the chips themselves are similar.

I'd like to add that both chips contain an ARM core - in the case of the Wii it's Starlet, situated on Hollywood, in the case of the Wii U it's Starbuck, situated in the Latte section.
 

Foxi4

Endless Trash
Global Moderator
Joined
Sep 13, 2009
Messages
30,825
Trophies
3
Location
Gaming Grotto
XP
29,850
Country
Poland
And here I was expecting Gahars to say that :D
*Insert pun about how fake boobs artificially improve breasts that are otherwise lacking in oomph, much like Nintendo's PPC7xx has an ARM component to deal with all the SIMD instructions the aged PPC design can't handle properly... which is a half-baked idea, but it works so who's complaining?* ;O;
EDIT: I stand corrected, the ARM core does exactly the same stuff it used to on the Wii. :P
 

Marionumber1

Well-Known Member
Member
Joined
Nov 7, 2010
Messages
1,234
Trophies
3
XP
4,045
Country
United States
*Insert pun about how fake boobs artificially improve breasts that are otherwise lacking in oomph, much like Nintendo's PPC7xx has an ARM component to deal with all the SIMD instructions the aged PPC design can't handle properly... which is a half-baked idea, but it works so who's complaining?* ;O;

Uh, the ARM isn't used for games at all, it's used for security and I/O.
 
  • Like
Reactions: filfat and Foxi4

Foxi4

Endless Trash
Global Moderator
Joined
Sep 13, 2009
Messages
30,825
Trophies
3
Location
Gaming Grotto
XP
29,850
Country
Poland
Uh, the ARM isn't used for games at all, it's used for security and I/O.
I know that's the case on the Wii, but I was pretty sure it could also be used for some SIMD since the PPC isn't doing a terribly good job at it, however I can't quite recall where I've read that so I may be entirely off-base here. :P
 

Marionumber1

Well-Known Member
Member
Joined
Nov 7, 2010
Messages
1,234
Trophies
3
XP
4,045
Country
United States
I know that's the case on the Wii, but I was pretty sure it could also be used for some SIMD since the PPC isn't doing a terribly good job at it, however I can't quite recall where I've read that so I may be entirely off-base here. :P

The ARM has the same purpose on the Wii U. It even runs a rewritten IOS called IOSU.
 
  • Like
Reactions: Foxi4

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    K3Nv2 @ K3Nv2: Pretindo already at 73% lol