Dolphin, the GameCube and Wii emulator - Forums

Full Version: Somewhat crazy porting project
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3
Have you ever used a raspberry pi? a slow processor in a linux-based OS is slow yes, but it's not quite as terrible as you may think.

Also, I wonder if looking at the Wii eShop games on Wii U will help. They run "natively" on the Wii U in a wrapper of some sorts, but don't have access to upscaling/extra Dolphin features. But they aren't running the Wii U in vWii mode from what I can tell, so if you're able to look at the game files and reverse engineer it you may be able to understand how the Wii U translates Wii instructions.
(12-06-2017, 03:00 AM)KHg8m3r Wrote: [ -> ]Also, I wonder if looking at the Wii eShop games on Wii U will help. They run "natively" on the Wii U in a wrapper of some sorts, but don't have access to upscaling/extra Dolphin features. But they aren't running the Wii U in vWii mode from what I can tell, so if you're able to look at the game files and reverse engineer it you may be able to understand how the Wii U translates Wii instructions.

They are running in vWii mode. (There are some differences between the VC vWii and the "regular" vWii mode, such as support for additional controllers, but the major aspects are the same, like the fact that they run the game code directly on the PPC CPU without any translation.)
Can you really use a real CPU and a emulated GPU ? I don't have enough knowledge on that point, but could this cause huge interface and timings problems ? Sounds crazy but yet interesting : )
KHg8m3r: yeah, I've used all sorts of Pis. It's not awful as long as you can get a lean install going; I'm working on that right now. Wii eShop games have one big difference from regular vWii: they load some sort of custom firmware and IOS. I'm not super knowledgeable in this area; FIX94 is the real expert here. He did manage to tweak the firmware to run vWii without underclocking to Wii speeds; it might potentially be possible to enable the other two cores and GX2 from within vWii with enough firmware tweaking. As long as those other cores can still safely read areas of memory used by

DrHouse64: I suppose we'll find out; I'm approaching this project with a healthy blend of "I should research this in extreme detail" and "let's just try things and see if they work."

Status update: Lubuntu 16.04 is installed on the iMac, but isn't lean enough to work as a development platform. Also, it turns out that my DVD drive refuses to recognize any discs besides Phil Collins. Lovely. I'm currently installing OSX Tiger (for stability) and Debian 8 (hopefully leaner than Lubuntu) side by side over USB 1.1.
(12-07-2017, 12:05 AM)DrHouse64 Wrote: [ -> ]Can you really use a real CPU and a emulated GPU ? I don't have enough knowledge on that point, but could this cause huge interface and timings problems ? Sounds crazy but yet interesting : )

No idea - that's one of the open questions, and it may be difficult to answer.

A lot of the communication between the CPU and GPU is done with a "fifo" queue in memory - to the cpu it just looks like any other memory, just at a specific address. Currently, the JIT (and interpreter) allows dolphin to try to figure out what writes are likely to have been to this FIFO memory region, and notify the GPU backend accordingly. I don't think this method will be as easy (or even possible?) running on a "real" CPU.
(12-09-2017, 02:14 AM)JonnyH Wrote: [ -> ]No idea - that's one of the open questions, and it may be difficult to answer.

A lot of the communication between the CPU and GPU is done with a "fifo" queue in memory - to the cpu it just looks like any other memory, just at a specific address. Currently, the JIT (and interpreter) allows dolphin to try to figure out what writes are likely to have been to this FIFO memory region, and notify the GPU backend accordingly. I don't think this method will be as easy (or even possible?) running on a "real" CPU.

In the final implementation, I'd be running the Wii CPU on one core and the emulated GPU on another core; since they share the main bank of memory, the emulated GPU core could just keep polling the FIFO until it detects a write. That's a bit hacky, though; is there any other way to detect writes?

Additionally, when running Wii code in Wii U mode, I suspect we'll have to trap certain memory access instructions; is it possible to implement FIFO notifications (or whatever they're called) in the trap handler?
Is there any news about this project yet? (A)
Hey there! Unfortunately, I haven't been able to get Dolphin to successfully compile on PPC yet. I don't have a ton of time at the moment due to school and whatnot, but I'm working on this whenever I can. Part of it is just getting the compatible versions of all the tools needed to compile Dolphin since the PowerPC G3 is quite old.
Isn't emulating a PPC/Power platform on a modern x86 via Qemu faster at this point than running ancient Macs?
Hello compucat,

I just wanted you to know that your idea is absolutely epic and I wish you the very best of luck with your endeavour. After all, if we can have Retroarch on Windows 98, why not a Wii emulator on an actual Wii U?

Here's hoping that you really are crazy enough and obsessive enough to make this actually happen!
Pages: 1 2 3