Dolphin, the GameCube and Wii emulator - Forums

Full Version: Programming Discussion Thread
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
EIther that, or Open Source's greatest weakness, Real Life, has reared its ugly head.
KHg8m3r Wrote:So I'm guessing that the dude going around saying he had a partly working iOS port of Dolphin was just throwing around buzzwords, and is gone now?

Links or I have no idea what you're talking about.
The thread's gone now. I can't find it even by searching for the unofficial tag it's so well gone.
Haven't posted here in a while. Been a lot of progress, though mostly on fixing games that already booted rather than increasing boot compatibility. Some of the highlights would be Sonic Advance, the Megaman Zero series and Pokemon Fire Red/Leaf Green. Pokemon Sapphire/Ruby/Emerald won't boot because GPIO is not currently emulated.

[Image: inzfdrk5qj0Hg.png] [Image: igSCrkAGKEyZf.png] [Image: ihfOY3ajkJUr0.png]
[Image: iQcPQBpseWvMZ.png] [Image: i43P2kxUDdsCv.png] [Image: i27BTyiMvPLeG.png]

I actually tested Fire Red with a randomized version I created way back when TPP was doing their own run of that game. My Corphish was awesome (it knew Mach Punch, Drill Peck, Earthquake, and Blaze Kick). He basically went solo when I fought my rival after the E4. That little guy was unstoppable.
Sweet! Are any games totally completable in it yet?
I think any game that doesn't crash is beatable/completeable. Crashes/freezes have been eliminated except for a few games (notably MMBN4 when you check your email). Everything else is just graphical glitches (sprite scaling+rotation is missing, special effects are missing), but games can still be played from start to finish. Games that use Flash RAM to save don't save yet, however.
(01-13-2015, 03:08 AM)Shonumi Wrote: [ -> ]Haven't posted here in a while. Been a lot of progress, though mostly on fixing games that already booted rather than increasing boot compatibility. Some of the highlights would be Sonic Advance, the Megaman Zero series and Pokemon Fire Red/Leaf Green. Pokemon Sapphire/Ruby/Emerald won't boot because GPIO is not currently emulated.

[Image: inzfdrk5qj0Hg.png]  [Image: igSCrkAGKEyZf.png]  [Image: ihfOY3ajkJUr0.png]
[Image: iQcPQBpseWvMZ.png]  [Image: i43P2kxUDdsCv.png]  [Image: i27BTyiMvPLeG.png]

I actually tested Fire Red with a randomized version I created way back when TPP was doing their own run of that game. My Corphish was awesome (it knew Mach Punch, Drill Peck, Earthquake, and Blaze Kick). He basically went solo when I fought my rival after the E4. That little guy was unstoppable.

This is a very impressive progress, with a such fast progress I think it will be finished in a one year along with the GBC core. I am curious if  that is a hardware or software rendering ?
Yeah, I haven't stopped working on this since I started Big Grin

The rendering is done in software. OpenGL, when I add it to the project, won't change that. Actually rendering the pixels for the screen is a CPU based task when it comes to emulating the GBA LCD. OpenGL will, however, make blitting/drawing to the screen faster. Remember that Drawing != Rendering.

When DS emulation comes up, there will be separate HW and SW renderers ideally, for the DS' 3D engine at least. Its 2D engines are copy and pasted from the GBA, so 2D graphics will always be rendered via software.
Can you also do upscaling on the CPU, or is that an OpenGL task?


Totally unrelated note:

I finally got my OSX VirtualBox running (major pain in the ass) so that I can use Xcode to build iOS apps, to one day work on porting Dolphin to fully Object-C code (maybe even Swift).
To get myself started, I'm going to take my old school project no one remembers and convert it into totally Object-C, using the Metal API to display it, to get to know how to do anything in Xcode. It will also be getting an overhaul to how it looks and behaves so it's not so.....1990's-ish.
Yeah, I can scale the image "manually" through software. You can basically do anything in software :p The thing is, LCD emulation is currently the biggest bottleneck for GBE+, so manually scaling the screen just eats more CPU time. I have to trim down and optimize LCD emulation first. But software scaling is more of a back-up in case OpenGL is unavailable.

Good luck with your Swift programming adventures. I've always wanted to setup an OSX VirtualBox installation, but I'm always doing other stuff.