Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GameCube Core: NGC #182

Open
xoniq opened this issue Nov 6, 2015 · 19 comments
Open

GameCube Core: NGC #182

xoniq opened this issue Nov 6, 2015 · 19 comments
Assignees
Labels
core-related emulation specific enhancement improvements, enhancements, new features, additions system-GC regarding Nintendo GameCube [non-core specific]
Milestone

Comments

@xoniq
Copy link

xoniq commented Nov 6, 2015

I would love to see GameCube games come back alive on the Apple TV.
Obviously I have no clue how the Apple TV hardware will be able to run this, but it would be absolutely awesome.

@jasarien jasarien added enhancement improvements, enhancements, new features, additions core-related emulation specific labels Nov 6, 2015
@gingerbeardman
Copy link

It's based on https://github.com/OpenEmu/OpenEmu which does not support GameCube at this time.

@RedLucas
Copy link

Yes, this would be insane. For what it's worth, the gamecube emulator that works for Mac is called Dolphin, but its code is probably pretty far away from something that could be ported over. I certainly do wonder what the AppleTV could do with it.

@ghost
Copy link

ghost commented Feb 23, 2016

The devices all have the power to run dolphin and could do it smoothly but the draw back of dolphin is it requires 16 gb of virtual memory at startup ( it requires very little to run but for startup is very intensive ) IOS only allows you to allocate 2 gb of data at startup.

@iAmRenzo
Copy link

I would like to have this too. Maybe even Wii support.

@sevdestruct sevdestruct added this to the Someday milestone Mar 7, 2018
@sevdestruct sevdestruct changed the title GameCube (NGC) support GameCube Core: NGC Mar 12, 2018
@elaine-jackson
Copy link

Would an iPhone or Apple TV really have enough CPU power to emulate the gamecube? That'd be awesome if it could but it seems so unlikely.

@jasarien
Copy link
Member

In purely technical terms, yeah it has the power. The A-series ARM chips can, in some cases, out-perform some desktop-class CPUs. However iOS is crippled by the fact that it doesn’t allow any kind of JIT or dynamic recompilation (dynarec) to provide that power without jail breaking. So it’s unlikely to make its way into Provenance at this point.

@elaine-jackson
Copy link

elaine-jackson commented May 17, 2018

@jasarien That's unfortunate to hear, I have the iPhone 7 so if you ever need someone to test a bug in that specific model, Gamecube or otherwise, feel to mention me :)

@sevdestruct
Copy link
Collaborator

@nuschy please direct your discussion to our discord and keep this focused specifically on the topic.

@sevdestruct sevdestruct added the system-GC regarding Nintendo GameCube [non-core specific] label Jun 25, 2018
@YarenLithien
Copy link

It’s a bit old topic, but I re-ask, with the new Apple TVs and the new versions of everything, is there still no chance to put GameCube into provenance?

@gingerbeardman
Copy link

@YarenLithien see my first reply to this issue

@git-Shorty
Copy link

@gingerbeardman
So you want to wait for implementation on another project by another competitive Developer Team to „copy“ such features?
Wow. That is a honest answer.
No wonder why this here is stuck at, v1.4, when features are just copied, with a bit of customization.

Since well documented Wii and GameCube Libraries are online for years.
e.g
https://github.com/devkitPro/libogc

@jasarien
Copy link
Member

jasarien commented Apr 15, 2019

@0shorty0 Take your trolling elsewhere. I’ve already explained technical reasons why GC/Wii emulation is not being looked at for Provenance right now.

As for your diatribe regarding the OpenEmu team — they’re not “competitive” developers, and we’re not “copying” their features. This is the world of Open Source. We work together to share ideas, information and solutions. While Provenance began life being based on OpenEmu, and continues to stay close to a similar architecture, it has diverged quite a bit.

You’re clearly in over your head if you can’t understand why the existing GameCube emulation implementations can’t be used in a performant manner on iOS without a jailbreak, as I’ve already explained. And you further compound your misunderstanding by linking to a project for writing Homebrew software for Wii and GameCube which has nothing to do with emulating a Wii or GameCube.

Away with you, you moonfruit.

@JoeMatt
Copy link
Member

JoeMatt commented Apr 15, 2019

Hardly stuck, the entire Core's platform is rewritten in Swift. The only OpenEMU code left is the Core Audio part, which I've made some additions to as well.

If GameCube can run without JIT, then it will probably be ported. I'm currently in the process of porting Jaguar, PSP, Dreamcast and Saturn. All are in alpha/beta on the develop branch.

I'm also rewriting the way we handle C modules, so I can generalize how we work with cores that support RetroArch / Libretro.h, so we don't have to hand port massive make files for these more complex modern cores.

There's not even any well working OS X/ iOS Jaguar core I'm aware of other than in the Provenance 1.5 betas. I hand wrote a lot of optimized C code to get decent performance and resolve a bunch of crashes in various ROMs.

We've also supplied patches to Reicast , Mupen, GLiden64, that are now in their main repos. -We're hardly just copying.

If you would like to contribute instead of making pithy, ill informed comments, there's pretty good documentation on the core porting process in this ticket,
#747 (comment)

Feel free to port anything you'd like and make a Pull Request.

Provenance is open source and supported by a very small team.
https://github.com/Provenance-Emu/Provenance/graphs/contributors

The community gets what they put in, which, other than a few dedicated people, hasn't been a whole lot.

Most of the efforts I've been doing have been really boring things like converting most of the app to Swift, using Protocol Oriented design patterns, making build and testing tools etc - in a hopes to encourage other developers to submit more by making it as easy as possible to jump in.

I've been working at a startup since the Fall that just ran out of money and was acquired. I'm leaving to head up the iOS team at a Fortune 500 ranked tech company, so I've been a little busy.

I'm willing to take over Provenance development as a full time if someone wants to hire me to do that instead. Being in America I'll need health insurance and 3 weeks paid vacation. Company car would be nice too. If you can scrape together ~$250k a year I'll port anything you want.

@alexchandel
Copy link

Note OpenEmu supports GameCube as of v2.2.

Relevant links:
https://github.com/dolphin-emu
https://github.com/WilliamLCobb/GC4iOS
https://github.com/OpenEmu/dolphin

@JoeMatt
Copy link
Member

JoeMatt commented Jan 10, 2023

Dolphin is already in develop branch.

@JoeMatt JoeMatt self-assigned this Jan 10, 2023
@JoeMatt JoeMatt modified the milestones: v3.x / Someday?, 2.2.1 Jan 10, 2023
@JoeMatt JoeMatt modified the milestones: 2.2.1, 2.3.0 Jan 14, 2024
@Bubba8291
Copy link

@JoeMatt How much would I have to donate for Gamecube to work on the Provenance tvOS version?

@gingerbeardman
Copy link

@Bubba8291 it's already available in the development branch, see the comment directly above yours!

@Bubba8291
Copy link

@gingerbeardman The sound doesn't play and the frames were lagging. Was I doing something wrong if it's supposed to not be lagging?

@danrha
Copy link

danrha commented May 1, 2024

Are you guys making any progress on this? Dolphin's on the repo but it seems to be disabled on Provenance TV. I could dive deeper into getting it working if you need help :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
core-related emulation specific enhancement improvements, enhancements, new features, additions system-GC regarding Nintendo GameCube [non-core specific]
Projects
None yet
Development

No branches or pull requests