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.93k stars 686 forks source link

iCade Rehaul (8bitdo, etc) #741

Open sevdestruct opened 6 years ago

sevdestruct commented 6 years ago

To simplify all the 8bitdo/iCade related posts and reposts… Will use this for all incoming iCade related bugs, especially those concerning 8bitdo, which seem to be the favored ones since they are super retro.

Known Issues (since i've wrote this a bunch of times in replies… thinking we start a FAQ section…):

To Do:

Can't Fix:

Please add to comments if you have new, additional or discrepant information to help…

justinweiss commented 6 years ago

582 doesn’t require any remapping or anything, that was a discussion in the comments for people trying to find a workaround. #713 includes #582, but fixes a bug when switching controllers, I think.

Is there a downgraded firmware available for the SF30 Pro that supports icade? I couldn’t find one, and if it exists, it would be worth linking to from the eventual FAQ.

MarZab commented 6 years ago

I tried to run 2 Zero's on a iPad Pro, one in START+B and the other in START+B+R mode.

They work at the same time and produce this keyboard output:

    PU  PR  PD  PL  SE  ST  Y   B   A   X   L   R
1   p   a   q   r   x   y   t   u   b   s   v   w
2   c   f   d   e   n   o   i   j   g   h   k   m

Could this be used ?

sevdestruct commented 6 years ago

@justinweiss: updated OP - as for the firmware for SF30Pro, i would have to go check against mine again.. will try to remember (maybe i can do this over the weekend) but i upgraded the firmware on mine and left it, seemed to work better with OpenEMu that way.. but i downgraded it once before, pretty sure.. so i think it's possible. current firmware wouldnt allow it to connect to to tvOS at all whatsoever, non detectable...

sevdestruct commented 6 years ago

@MarZab what are START+B , START+B+R modes? - i realized you had a link now, but i'm barely running on fumes for lack of sleep..

womble25 commented 6 years ago

51z6pld6eel _sl1024_

requesting the gamesir 3gs be supported

Grandtheft430 commented 6 years ago

I wrote an addition to #582, not sure if it is visible (i'm kinda new to Github). "8bitdo Zero" switch in the latest Provenance beta doesn't work - once selected, the buttons doesn't register. Works fine with "8bitdo controller" tho, but as mentioned in #582, it has to be remapped.

Tatzelworm commented 6 years ago

@sevdestruct I hope this helps in some way.

I'm running the ios 11.4-? Public beta on my iPhone SE and I've been using the buildstore builds.io for the signing and updating of provenance and any other useful emulators and sideloaded apps. Thankfully I have the 1.4 version of provenance installed and I'm glad that they didn't have the new beta builds replace the 1.4 or any subsequent betas when they started to use the beta 1.5-* github builds when they listed a new update.

I have found that Kirby crystal shards 64 will work with the nes30 pro (though the button mapping is still wonky.) I threw a few n64 games at the 1.5-6 build and I noticed that the controls fail in the games that use the analog stick, and I was happy to see that one of my favorite Kirby games (which is the only n64 game that only used the dpad that comes to mind) works.

https://drive.google.com/open?id=11ZojJr3pjj0lA1gO36gylslNR-1BVtI5

Or download.8bitdo.com for the entire 8bitdo file and directory rabbit hole.

I have the nes30 pro and I have compiled a good lot of the various firmware updates and PDF guides for it from the 8bitdo site. I believe that the last icade compatible fw version is 2.2 which falls under the 'legacy' firmware updates. I have also added the various 1.7.1 extended fw releases that allow support for the original Nintendo Wii, ps3, or the retron5 I believe. And also have support for icade and Windows (though I don't remember if it has xinput or d input in those versions), and Android and I think osx. I had most of these on my PC still, but I was able to just go to the 8bitdo website and navigate through their documents folder tree via download.8bitdo.com . You're able to go and download pretty much all of their devices fw updates and other information. It is not the most intuitive user experience, but it is still there.

Grandtheft430 commented 6 years ago

@Tatzelworm i had been using buildstore too, but i've found their betas for Provenance are quite outdated. I've resolved my issue which i described above with building it via xcode (i mean i've updated to the latest beta possible).

Tatzelworm commented 6 years ago

@Grandtheft430 I currently have beta 1.5-7 that I installed end of April,lemme check, yeah April 30th. I like the changes to the pause menu and the ability to access your rom and bios directories from the actual phone, rather than just a USB or html/ftp access. I'm not sure how I feel about the start and select buttons being swapped while I'm playing pcengine games. I don't have the same issue with megadrive games and I haven't loaded any other systems yet, 32 dinky gigs just ain't enough. And if I recall, short of setting up another pain of a hackintosh or setting up an osx virtual machine, xcode is still an OSX only programming environment. And I built my tower with Windows in mind 😕 I don't have any other options for compiling and signing the code. I don't know, if you have any ideas for me I'm more than willing to give it a shot. So far as the actual programming though, I've definitely got to give anyone who has the ability to create anything like this props. I'm able to read hundreds of books and not think much of it, but I started with Ti Basic on my 83+ and then took a year of C++ and then a bit more than a year of Java when starting my first bachelors degree choice and I was murdered by Java. I'm can understand up to a point… and then I was just totally stuck. I'm more capable when it comes to electronics and computing from a hardware standpoint.

And I have to apologize for this wall of text 🤐

,Will

sevdestruct commented 6 years ago

@Tatzelworm / @Grandtheft430 we don't support 3rd party builds of the app whatsoever. so stop supporting them, please. also we don't have the resources or funding to support beta iOS, and highly recommend you aren't using that or reporting bugs against it. as for the firmware for 8bitdo, yeah. got it. but should be available without hosting externally. i believe their rollbacks are available still as legacy on their support page.

…the buttons you are talking about should have - it doesnt help us to report bugs against old beta builds. please join the discord and talk there.

Also, as for windows users, i just posted a new wiki about vitualizing macOS, with help from one of our Discord users who provided the steps. start there.

—lastly, this isn't a discussion board. move to Discord—this topic is specifically for the 8bitdo support issues we are tracking and solving.

Yamilquery commented 6 years ago

Edit: 8bitdo RB8 N64 Controller Support pushed to #987

Tatzelworm commented 6 years ago

@sevdestruct I do apologize for my wall of text tangents. I also want to clarify that the download.8bitdo.com link that I provided isn't an externally hosted link to their files. That is the official source for all of the downloads for the 8bitdo products. I felt that it would be useful to provide due to the various changes to the 8bitdo website over the years which have made it more difficult to find the right firmware files and PDF guides for their devices. The Google drive link I provided was simply for convenience for the nes and fc 30pro controllers.

And I only stated the source and nature of my provenance installations and ios version in the interest of providing additional information in the event that you or anyone else may find it helpful.

I will have to give the xcode tutorial you mentioned above a try, as currently I have not been able to use it to build the most recent betas provided here on the github.

Thank you again, and I hope this clears things up.

kriboogh commented 6 years ago

Would it be possible to have:

One of the reasons for these suggestions. is the N30 has B ”under” A, not next to each other like on the original controller, making it difficult when playing old NES games. An option to swap Y and B buttons would solve that (or making he entire controller mappable as suggested above.

sevdestruct commented 6 years ago

@kriboogh both of those are already suggested in other tickets. But in other news iCade might be dead (at least for tvOS specifically), thanks Apple.

sevdestruct commented 6 years ago

@kriboogh take a look at the new Controls doc, linked in wiki, i have been adjusting all the mappings based on a more physical based logic for a mapping methodology as relative to original layouts as possible, but have only gotten through MFi, not iCade yet, but will be also adjusting all iCade maps similarly/accordingly in time.

Later I'll update the wiki here with the visual references of how the logic of the remaps has gone (they were previously shared on our Discord when i was workign on it)

frntz commented 6 years ago

Don't know if I have to put it here or on https://github.com/Provenance-Emu/Provenance/issues/871 but I have issues with Provenance 1.4 version with a FC30 Pro controller (Firmware Legacy v2) on PSX emulation:

Physical buttons (on controller) > PSX Buttons (recognized) L2 > L1 R2 > R1 L3 > R2 R3 > L2 Select > R2 Start > L2

Other buttons are working. If there's a version with bug fixes related to this, I can test it against this version if possible. :)

sevdestruct commented 6 years ago

@frntz get yourself the latest beta if you are going to bug report. Also, please take a look at issue usage and FAQs on our wiki. Thank you.

rbreaves commented 5 years ago

I appear to be able sync 2 8bitdo controllers and an actual keyboard all at the same time, on an ipad mini 2 and iphone se running ios 12, and as someone mentioned earlier, the 8bitdo controller has two different key combos to hit during sync so that when it is in keyboard mode their mappings won't overlap. It makes no sense on why these controllers cannot technically be supported in 2 player mode. Would MFi and official support by 8bitdo be ideal? Sure, but like with the emulator itself - all these things are hacks.

I love what you guys have created, but it seems weird to me to only support mfi for 2 player when different keymaps for the 3.00 firmware could be easily enough supported.

This document mentions the sync modes for 2 players. http://download.8bitdo.com/Manual/SNES30-Manual-v1.0.pdf

JoeMatt commented 5 years ago

I can't find any docs on what the keyboard input mappings are on the second controller. @rbreaves if you tell me what they are I can try to add it. I don't have a controller to test but I'm assuming if i just make an either or for each letter to button it should work.

You can just pair the controllers and open an app with a text field and report back which button maps to which keyboard entry I can try it.

rbreaves commented 5 years ago

Thanks!! That'd be awesome, I definitely would prefer to use your emulator over RetroArch for most games. I also noticed the keymappings for the second controller requires that I remap a lot of the defaults in RetroArch as it activates all sorts of hotkeys unintentionally.

For the 8bitdo SNES30 controllers in keyboard mode on firmware 3.00 (only firmware with iOS support before they dropped it)

Secondary Controller - START+B+R

B = u Y = t Select = x Start = y Up = p Down = q Left = r Right = a A = b X = s L = v R = w

Primary Controller - START+B mode

B = j Y = i Select = n Start = o Up = c Down = d Left = e Right = f A = g X = h L = k R = m

JoeMatt commented 5 years ago

I wasted a lot of time not realizing you can't upgrade past 3.0 and still work with iOS. I thought 2 play was a new feature but appears to be not. I moved the 2nd player 8bitdo support to it's own issue #1004

rbreaves commented 5 years ago

I apologize about that I should have led with what firmware version I was on instead of mentioning near the end of my initial post.

I have been trying to find if 8bitdo has any interest in bringing back keyboard based support at the very least, but so far it looks like they want to support other platforms like the Switch so it leaves me wondering if they have limited space on the firmware or something. I am also not really finding much information on decompiling/reverse engineering their firmware to be updated with more sync options, but I am finding nothing so far.

Also it seems that the main reason they dropped iOS support is that 8bitdo could actually support MFi, but they won't because Apple requires that MFi should be the only supported protocol, and obviously that's a non-starter for them. It's still odd to remove the keyboard mode, because it seems like that is a cross-platform solution.

JoeMatt commented 5 years ago

Working on this in

https://github.com/Provenance-Emu/Provenance/tree/feature/1004-8bitdo_2nd_player

Originally was looking just to add 2nd player mode for the controllers that support it (8Bitdo Zero, Ne30 maybe some others).

But hated the iCade code and did a wholesale conversion to swift so I can now do more advanced processing easier (non standard key codes, multiple chars, maybe happy chick we'll see)

VrtlBrown commented 5 years ago

I just got a 8bitdo SN30 controller (firmware 3.0) and for the life of me can't get it to work with Provenance.

Its giving what looks to be the right keystrokes if I'm in the notes app and its working with iNDS so I'm confident I'm in the right mode (start + A when turning on, have also tried start + B).

I've tried all the settings and re-selecting 8bitdo in the Provenance app...

I'm on 1.5 beta 10 iOS 12.1 on a new iPad Pro

franciscolourenco commented 5 years ago

Is simultaneous iCade + MFi currently supported? Or are there any outstanding bugs? thanks!

zeronoun commented 5 years ago

Here is a direct link to the final tvOS compatible SN30/SFC30 firmware, direct from 8bitdo:

http://download.8bitdo.com/Firmware/Controller/SN30+SF30/SN30+SF30_Firmware_Legacy_V3.00.zip

franciscolourenco commented 5 years ago

@zeronoun thanks! With final you mean the last version which supports tvOS?

zeronoun commented 5 years ago

@zeronoun thanks! With final you mean the last version which supports tvOS?

Yes. Following firmware 3.0, 8bitdo removed iOS/tvOS compatibility en lieu of Nintendo Switch support.