Provenance-Emu / Provenance

iOS & tvOS multi-emulator frontend, supporting various Atari, Bandai, NEC, Nintendo, Sega, SNK and Sony console systems… Get Started: https://wiki.provenance-emu.com |
https://provenance-emu.com
Other
5.96k stars 688 forks source link

N64 Emulator Support #17

Closed jasarien closed 6 years ago

jasarien commented 9 years ago

Reopening this issue just so it's more visible for those who keep raising duplicates.

xoniq commented 8 years ago

Would this be possible by by forking:

https://github.com/zodttd/n64ios ?

jasarien commented 8 years ago

Nothing's impossible. It's just a case of time and effort, both of which are pretty limited.

Last commit on that Repo was over 3 years ago, though, so I'd probably favour something more recent.

ghost commented 8 years ago

https://github.com/rileytestut/N64iOS

this is another possibility even though it is also a bit old

https://github.com/mupen64plus

is supported by open emu

RedLucas commented 8 years ago

I suppose the best would be to use the same as OpenEMU does with https://github.com/OpenEmu/Mupen64Plus-Core / https://github.com/mupen64plus/mupen64plus-core

OpenEMU "supports" it now, so perhaps they are pretty confident in what it can do now as well. This would be a spectacular addition...

Mkaay83 commented 8 years ago

Good idea i suppose?!

xoniq commented 8 years ago

Anything on this yet? This would be awesome. To play Mario 64, Zelda OOT, DK64, CBFD again.

EdStark666 commented 8 years ago

Very interested in N64 Support :-) jasarien Please!

JoeMatt commented 8 years ago

I have preliminary N64 support via mupen64plus 2.5 on my fork/branch https://github.com/JoeMatt/Provenance/tree/mupen

ROMS load without error but they're not playable due to some OpenGL changes that need to be made. Also no sound or input controls are hooked up. Basically it's just a test that it can be compiled and execute the core on a ROM.

Some important things to note:

I can make a pull request since it's all on a separate branch and then contributors could work from the main repo. Let me know what's preferred.

xoniq commented 8 years ago

@JoeMatt that looks really promising! Awesome to see someone working on it.

illando commented 8 years ago

That's a really great news @JoeMatt ! Thanks!!!

Andorbast commented 8 years ago

I would be so happy when I am able to play old school N64 games on my Apple TV!! Thanks @JoeMatt for all the efforts so far

beeblebox commented 8 years ago

@Andorbast I agree, is there a page where we can donate?

Also @JoeMatt would this support 2 controller support?

I find I can't use my second controller for any of the existing emulators because those systems were small single player modules.

jasarien commented 8 years ago

@Beeblebox Most of the currently supported systems support local multiplayer with multiple MFi controllers. Multiple iCade controllers aren't supported because of the way they work. Only Gameboy doesn't support multiplayer because it's a single player system.

JoeMatt commented 8 years ago

fyi, just launched a few commercial iOS app updates and now i'm on a show vacation so haven't looked at this in a bit and probably won't for another week but I'm still on it. All my changes so far are on my fork is any OpenGL coders can fix the multithreading render issues i'm having.

beeblebox commented 8 years ago

@jasarien so would my Nimbus controllers work with appletv snes emulator in 2 player mode?

@JoeMatt whats your iOS apps? i wanna download them to support you

revnelson commented 8 years ago

@beeblebox Yes, I have successfully played snes games with two Nimbus controllers connected to the Apple TV. Really excited for N64 support.

tonycoco commented 8 years ago

@JoeMatt I might be able to help. Will take a look and make notes on your fork when I have some time this week.

ArnaudFeld commented 8 years ago

Any News about the N64-Support?

JoeMatt commented 8 years ago

I've had some unexpected things come up and I've hadn't had time to work on any FOSS projects for a bit. I haven't forgotten about it though. It will probably be a couple weeks before I can start up again.

soraythus commented 8 years ago

N64 support would be so awesome!!! who hasn't great memories of those good old days :) thx for keeping that dream alive!!

i'm really not a programmer, but from my experience with openemu on my mac i hope that not only the rice video plugin, but also the glide64(mk) plugin will be supported. some games just don't work with rice.

soraythus commented 8 years ago

@jasarien how can i donate a little something?

paviro commented 8 years ago

Just tried the N64 emulator in retroarch it works great on iOS except the app is horrible to use compared to this one... Looking forward to see it here some day! :)

MysticalOS commented 8 years ago

Ugg Retro disgusts me. I couldn't use it. I tried, it was awful, never again.

paviro commented 8 years ago

Yeah it totally sucks but hey it works...

diogoviannaaraujo commented 8 years ago

Seems the news on this have stopped..

JoeMatt commented 8 years ago

My stella port is pretty much done minus one bug so I'm willing to take a look at this again. Don't know how far I'll get with these OpenGL issues. I know the emulation is working though because I do get a second or two of audio on some games before the renderer crashes.

appletv4 commented 8 years ago

@JoeMatt when will you add the Atari emulator to provenance pull request And thanks for your work on the n64

JoeMatt commented 8 years ago

@appletv4 In the ticket for Stella (Atari) I have one bug that needs to be fixed before I do that. It works with MFI controllers but crashes using on screen controls. I've reached out for some help with why that would be the case because I'm not familiar with the control code and haven't had time to dig into it more.

beeblebox commented 8 years ago

@joematt did you give up? I was hoping to have a n64 Apple TV port by now /:

JoeMatt commented 8 years ago

Not given up, just put my efforts elsewhere in the meantime. I've added Atari 2600, 5200, 7800 and Sega 32X cores and am starting work on PS1.

And also,N64 support would really need new controller solution since MFi controllers only support 4 buttons +DPAD + 4 triggers. Some of the devs are working on a possible solution on this but it's probably going to be a while.

beeblebox commented 8 years ago

@joematt ok thanks. Please let me know when the PS1 emulator is ready because that sounds awesome

b- commented 8 years ago

@joematt What about the MFi Apple TV controllers with dual thumb sticks? I have one myself, they carry two brands at most Apple Stores…

JoeMatt commented 8 years ago

It's not the sticks, it's the lack of other buttons. N64: 3 Triggers (L,R,Z) 1 DPAD, 1 Joystick, 7 buttons (B,A,Start,CU,CD,CL,CR) MFI: 4 Triggers, 1 DPAD, 2 Joystick, 4 buttons.

That's it. Apple's GameController class has those buttons pre-defined and hardware dev's have to stick to that layout or lesser.

The only idea I've managed to come up with is making an app to bounce inputs from a desktop to ATV over the network.

There's some project that maybe does that, https://github.com/robreuss/VirtualGameController . I've only glanced at the README, not sure if it does what we need or not yet. I'll test this after I fix 32X, merge that with the Xcode 8 changes and then maybe add another core (Neo Geo or PSX).

There's also an updated libretro fork of mupen I need to look over, https://github.com/loganmc10/GLupeN64

And another entirely new project I found recently, https://github.com/project64/project64

kdrag0n commented 8 years ago

Just a warning: I've heard about Project 64 before. Be wary of viruses when you download the Windows installer - it's been known to have viruses in the past embedded into it, like adware. Not sure if it still has them.

About the N64 controller mapping: Why not just map what you can for MFi controllers, and leave the rest (full experience) to touch only? (I don't know how any of this would work, since I don't have a MFi controller)

If you read my edited comment on your pull request, I managed to get it to compile in Xcode 8.

b- commented 8 years ago

I mean, the GameCube controller has the exact same number of buttons, and it works great for N64 games. The right stick often can be mapped to the C buttons and you can call it a day. Or there are so many games that don't use the D-Pad at all that it could be mapped to the C buttons on those. All in all, I don't see how the controller could be an issue since Nintendo's own N64 emulators use a similarly-specced controller.

b- commented 8 years ago

I guess what I'm saying is that remapping can totally take care of the number of buttons issue.

drewcovi commented 8 years ago

agreed with @b- Many N64 games suffered very little when ported to Gamecube... the C buttons were intended for the "camera" in the first place, weren't they? makes it almost ideal for a mapping to the second joystick...

Andorbast commented 8 years ago

The MFI controller works great for N64 games on OpenEmu for MacOS. You are able to map the c buttons to the right analog stick. When airplayed to the Apple TV there is a small lag but to big for comfortable gaming tough. Any news about the N64 provenance?

QuarterSwede commented 7 years ago

I don't see the controller being an issue either. Map Z to L2 and/or R2 and the C buttons to the right analog stick. That takes care of every button and is usable with two hands at the same time (unlike mapping C to the D-Pad) if you need to move the character and the camera simultaneously, for instance.

JoeMatt commented 7 years ago

I wouldn't spend too much concern on controller mappings at all right now. There are much more difficult technical hurtles to overcome.

JoeMatt commented 7 years ago

My branch is up to date with master after the recent core merges.

https://github.com/JoeMatt/Provenance/tree/mupen

It should build in Xcode 8.1 in non release configuration. GL issues are still present, I just made changes to get it to build again with the updated project framework architecture.

drewcovi commented 7 years ago

:+1:

JoeMatt commented 7 years ago

Core is running games now, kind of. Screenshot

tldr; Progress but don't get your hopes up for non-JB devices anytime soon.

appletv4 commented 7 years ago

@JoeMatt with icade working on Apple TV now

Maybe this will work too when you get n64 running http://www.8bitdo.com/n64/

jasarien commented 7 years ago

@appletv4 😂 I wonder how long until Nintendo starts noticing these controllers and decides whether or not this counts as copyright infringement

mattmagi commented 7 years ago

The day N64 is compatible I will be so happy...007 and Mario Kart here we come! Id be willing to donate if that helps!

ankh2054 commented 7 years ago

I would also be willing to donate. I just want to play Killer Instinct N64 :)

jasarien commented 7 years ago

A note on donations: https://github.com/jasarien/Provenance/issues/513#issuecomment-272658255

arteaga323 commented 7 years ago

Just want to say thank you guys for an awesome work! Also I would love to play N64 again on my phone! Can't wait! Thanks for everything!