Comments (29)
I'd like to second that motion, I get a lot of mileage out of mine with my android tablet. It'd be a nice little bonus option.
from provenance.
I have to admit I would love being able to use my iCade with this emulator. thanks :)
from provenance.
👍
from provenance.
+1
from provenance.
is anyone working on this?
from provenance.
I don't have any plans to implement this myself. I don't have any of the listed controllers so wouldn't be able to test them. MFi game controllers are supported. If someone else wants to implement this and make a pull request I'll be happy to merge it in.
from provenance.
I just ordered a nes30 pro(which has an iCade mode), once it arrives i'll seriously consider to implement this myself. Thanks.
from provenance.
iCade mode works as a bluetooth keyboard, with events to handle the buttons pressed (https://github.com/stuartcarnie/iCade-iOS/blob/master/iCadeTest/iCade/iCadeReaderView.h)
Did some google searchs and dug a bit on the iOS sdk, and seems that detecting if a external keyboard is not possible (workarounds use UIKeyboardWillShowNotification, since the keyboard never shows i guess that it won't be the case), another way is to listed to some private API to know if an external keyboard is connected, but after a bit of though, an external keyboard doesn't mean that the user has an iCade controller.
So i'm guessing that the user could actually choose if he wants to use an iCade controller (in settings) or have the iCade controller always listening.
Also, for the actual inner working, I'm thinking on create a classes that implements the GCControllerDirectionPad and GCControllerButtonInput to make it compatible with the actual implementation of PVControllerViewController.
May i know your thoughts on this?
edit: Also, i have been trying to figure out where to put the iCade lib(3 files) and the PViCadeController code (that uses the iCade lib).
from provenance.
I have raw implementation, needs to tune some details, and add a configuration for the controller, like Listen for iCade Controller, but it works, for anyone wanting to test it out, you can get it from https://github.com/josejulio/Provenance, i'll send a PR once I finish. Would be nice to hear comments about it.
from provenance.
Great work jose! Works like a charm with my SNES 8bitdo controller!
from provenance.
Thanks, though it still needs a bit more of work.
from provenance.
I agree. It works great, with a few small issues you may already be aware of:
-
The major one that i can see is that the controller doesn't disconnect from the game when you exit, which then makes it unavailable for the next game.
-
Another issue/request is that it doesn't detect which type of controller is being connected, which then messes with button mapping. I have both the NES30 and the NES30 Pro; the NES30 works great, but the NES30 Pro buttons are all over the place.
-
The previous issue could perhaps be solved by either having controller detection, which seems a little cumbersome, or you could implement a customize button mapping feature. This could be done on a system by system basis, or a global one.
All in all, great work!
from provenance.
I'm aware of those issues, thanks for your comments. I'm going to try to guess the controller with some private API(if possible) or let the user choose which iCade layout he wants to use (Standard iCade controller, Nes30, Nes30 Pro, ...).
from provenance.
I'm not sure if this helps or not, but 8bitdo just released a firmware update for the NES30 Pro (v. 1.62) yesterday that remaps the iCade's buttons. They're now the same as the NES30, so the Pro is working great now. It would, however, be nice if, like with the MFi controllers, there was a way to access the menu from the controller, and for both types of controllers, be able to navigate that menu from it. I think there may be an issue already addressing that, though.
from provenance.
I did just notice one more small issue with the iCade controller. Since it technically is a keyboard, Provenance/iOS thinks that it is, indeed, a wireless keyboard. This then disables the software keyboard, which then makes the search basically useless.
from provenance.
Didn't know! Awesome, in that case i will only create a 8bitdo controller and icade standard.
As for the be able to navigate, I might look what can be done with that. Thanks for the info.
from provenance.
Yeah, that's an iCade controller issue, though maybe there is a private api to by-pass that.
from provenance.
@cortneytaylor I tested the 1.62 with my nes30 pro, and with the current setup A&B and X&Y are the other way around (A is B and X is Y), tested in mario rpg, so is pretty obvious there. Could you confirm that it also happens on your nes30 and nes30 pro?
from provenance.
Yep, it's the same on both controllers. I just got used to it and forgot to add that to the issue.
from provenance.
Great! I'm finish on these features and will soon push to https://github.com/josejulio/Provenance
- A, B, X & Y are correctly mapped.
- The controller "disconnects" on game finish (no longer crash when pressing a button after the game finishes and still works on next game)
- You can select what kind of iCade controller layout should use on Settings, "Disabled, Standard controller (i just made up a controller layout with this on mind josejulio#3) and 8bitdo nes30 (compatible with nes30 and nes30 pro with v1.62 firmware). Disabled is the default option, any thoughts on this?
Next i would like to try the following:
- Detect the controller (if possible) and add the "Autodetect" option (and maybe remove the disabled one)
- If the former is possible, also try to detect when you disconnect the controller
- Add an option to "disconnect" and repaint the gui.
from provenance.
Josejukio hello. Sorry for being such a noob, but how can i upload that on my provenance emulator? Would love to play it with icade and ipega
from provenance.
Hey @rimiex, this is already merged on the last version of Provenance. You can enable it on settings "iCade Controller" and choose Standard Controller. Now you can connect your iCade controller to your iOS device, start a game, and press any key on your iCade Controller, the HUD control will disappear and you will be able to control the game with your iCade. There seems to be a problem when loading a game(at least it happens with the nes30 pro), that makes the iCade Controller laggy on the first seconds, but after (about 20 seconds or so) you will be able to play without lag from the controller.
from provenance.
I would love to see an option to remap buttons so you can play NES games with the ergonomically superior B+Y (or A+X) instead of A+B.
from provenance.
Closing this issue as the feature has been implemented by josejulio via pull request.
from provenance.
is it possible to connect to icade controllers at the same time to enable multiplayer? I'm using two ipega 9017's.
from provenance.
I don't think that there is a way to do so, unless ipega 9017 supports iCade player 1 and iCade player2 configurations, like http://gamedock.tv/ (but I'm unsure if it does. I'll try to take a look at the info on the controller.
from provenance.
@josejulio can you help me with how to connect my 8Bitdo nes30 pro with provenance for tvOS?
from provenance.
Why is it when I connect my nes30 pro with provenance start is the jump button and A is start
from provenance.
Hi I use an iPega 9023 Controller, I can just used PSX game and GBA and working perfectly in Icade mode on my iPad IOS 13.1.3 , only issue is that the D-pad doesn't for ex: up, down, left, right or the Analog stick for navigation. (running Provenance 1.5 beta)
from provenance.
Related Issues (20)
- [Feature] Disable JIT enable prompt until a JIT core is used
- [Spike] Use github action caching for faster builds
- Stella/A2600 Obj C error HOT 4
- Fix SIGSEGV in objc_release
- TVOS states no cores found for newer system additions HOT 1
- Fix XCode cloud for tvOS, other builds
- Re-sign github builds
- [Spike] Investigate VisionOS support.
- Impliment DolphiniOS style JB JIT
- Feature Request button bursting/Chinese Simplified.
- Feature Request:key combination functions/Simplified Chinese
- Feature Request:simulate continuous clicking/Simplified Chinese language support HOT 1
- PVSupport Header Search issue building Provenance TV and Provenance-XL
- [Bug] Black side bars in GenesisPlusGX HOT 1
- [Spike] Investigate using @Observable through back ported libraries
- iPadOS v.17 and Mupen64Plus audio problem HOT 2
- Fix SIGSEGV in 0x183da0000 + 20096
- Crashes on pressing save and close button with iPad sometimes HOT 3
- Feature Request: EmuThrees replaced with Limon core for 3DS
- Feature Request - Unbind gamepad from the pause menu HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from provenance.