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

[FEATURE REQUEST] 1:1 Button Mapping Option #81

Open
jdeath opened this issue May 15, 2022 · 20 comments
Open

[FEATURE REQUEST] 1:1 Button Mapping Option #81

jdeath opened this issue May 15, 2022 · 20 comments

Comments

@jdeath
Copy link

jdeath commented May 15, 2022

Hello. Can you add the option to have a 1:1 customized button mapping for controllers with enough buttons?
I have the retronic adapters that allow using the standard intv controllers. The adapter treats the 1-9 keypad as separate buttons, not an analog stick, so cannot use the diagonals 1,3,7,9 with freeintv. I can use all other buttons by mapping the controller buttons using your scheme (e.g. map 5 button to rt). Thank you

edit: I was able to hack the code to force 1, 3 , 7, 9 to start, select, left, right. Basically works, but needs some fine tuning .

@msheehan79
Copy link
Contributor

@jdeath if its helpful, I have a fork of this core with this feature enabled on my dev2 branch here - https://github.com/msheehan79/FreeIntv/tree/dev2.

It defines a second controller type that can be selected in the UI, that omits the On Screen Keypad feature in lieu of having all controller keys available for remapping.

@jdeath
Copy link
Author

jdeath commented May 15, 2022

@msheehan79 Awesome. I'll try it. Probably way better than my hackjob!
edit: got it compiled and running in batocera. Controller doesn't work in retroarch menu, but fine in game. Just need to get used to only being able to hit one key at a time. Really nice job, this should be in the main core!

@anonyme-x22
Copy link

anonyme-x22 commented Dec 19, 2022

Same request by default: I should be great to be able to set a standard intv controller and snes type controller without having to mod the core! Please make available Keypad 0-9/#/clear button mapping!

@Jazzzed
Copy link

Jazzzed commented Feb 14, 2023

+1 for this feature request. I would like to use an actual Intellivision controller with this emulator.

@Jazzzed
Copy link

Jazzzed commented Feb 14, 2023

@msheehan79 I see you have done some work with this issue, but I am a newb and don't understand how the individual files in your Dev2 branch end up in the emulator. Seems that it needs to be compiled or something. That's way beyond my skills. If there is an easy way to go about this, some direction would be appreciated.

@msheehan79
Copy link
Contributor

@Jazzzed yes you would need to compile it locally as its not part of the main branch.

I will see if I can get those changes submitted to upstream if they get approved, but in the meantime if you are on Windows x64 I uploaded my locally compiled copy of the core, if it helps. Unfortunately I don't have any other compiled flavors besides Windows.

https://easyupload.io/q18qxt

@Jazzzed
Copy link

Jazzzed commented Feb 14, 2023

@msheehan79 Ah. Thank you. I'm actually running one of those Android game boxes from Amazon. But thank you for trying.

@jdeath
Copy link
Author

jdeath commented Feb 14, 2023

@msheehan79 Just to add: your core mod is awesome. I have been compiling it locally for my own use in batocera, but upstream would be great!

@RetroJoe64
Copy link

RetroJoe64 commented Nov 17, 2023

Hi, folks. I am the lucky owner of an "Ultimate PC Interface" (https://intellivision.us/interface.php) that turns Intellivision controllers (beige Model II with DB-9 connectors) and/or Colecovision controllers into bonafide Windows game controllers. Many Intv games require "kinetic" use of the 12-key numeric keypad e.g. Major League Baseball is unplayable with FreeIntv's OSD approach. So, without further ado, can I ask @Jazzzed or @msheehan79 to upload the compiled core for the branch of FreeIntv that supports direct mapping to specific controller keys, please? (there is a link upthread but it's broken). Also, is there a reason these mods can't be merged into the main FreeIntv branch? I realize I'm in the minority, but logically I am not the only one who craves the "full fat" Intellivision experience :)
IMG_3632

@jdeath
Copy link
Author

jdeath commented Nov 17, 2023

I wish it was pushed upstream as well, I am not sure if a PR was ever made. It should not interfere with people running the standard way. However, you can't ask for a compiled core without specifying a distribution. Have you tried compiling it yourself? The libretro docs have a guide to compile cores. It is pretty easy if compile on the same type of machine you have. Windows subsystem for linux will even build a linux core no problem.

edit: Maybe you meant windows as that is the core other person posted. Following the docs start to finish took like 1 hour to get to a compiled core. Give it a try: Download the core code from https://github.com/msheehan79/FreeIntv/tree/dev2 , follow the directions here to install msys2 https://docs.libretro.com/development/retroarch/compilation/windows/, start the x64 shell, go to where you unziped the code, and type make.

@RetroJoe64
Copy link

Hey, @jdeath thanks for the rapid response! Yes, Windoze (10) is the target platform. Compiling the core is a bit more than I bargained for (just wanna play the games, man!), but I am willing to give it a go. Who knows - this could be the start of a whole "learn how to code" chapter in my career :) I'll keep you posted on results.

@msheehan79
Copy link
Contributor

as far merging upstream, I'm happy to submit it as I'd rather see the feature in-use too - I had opened PR #79 as there wasn't currently Core Options set up on the core and that is needed first - if that one gets merged I can open PR's for the other features I have in my dev branches, including this one.

@Jazzzed
Copy link

Jazzzed commented Nov 19, 2023

Yeah that previously submitted PR is from a year and a half ago. It seems like this project has been abandoned. I personally am looking for a Linux version with 1:1 button mapping that can run on an Android game box (Retroarch/Emuelec). Looking through those instructions for compiling for Windows though, I don’t have a clue. I don’t even know what a shell or a core is. Just someone who would like to play a game as @RetroJoe64 mentioned.

@RetroJoe64
Copy link

I guess I should confess that compiling the core is probably within my technical skillset... but barely :) As far as FreeIntv being "abandoned", how do we change that status to "loved"? :) There is still a lot of passion in the retrogaming community for the Intellivision platform (it's about as "retro" as it gets after the Atari VCS !), and the only other emu for it is "jzintv", which is really funky, has a horrible antiquated UI, and is even less well-supported / documented than FreeIntv, IMHO. In any case (again, IMHO), the days of standalone / single-system emulators is over - RetroArch is the defacto platform for creating a multi-game emulation rig with a modern, seamless UI.

@msheehan79
Copy link
Contributor

@RetroJoe64 if your on Windows, I uploaded the compiled core again below, as that is what I use also so you can at least give it a try until such time as these changes would be available in the upstream core.

https://easyupload.io/ne0fz9

@jdeath
Copy link
Author

jdeath commented Nov 21, 2023

Here is a x64 linux core: https://easyupload.io/oaftd1 (compiled under Windows Subsystem for Linux). Not sure how to cross compile for Android, but i am sure there are directions somewhere.

It works on a batocera x64 distribution. See my complicated instructions here: https://forum.batocera.org/d/7620-freeintv-using-real-intv-controller

I will keep this issue open until merged.

@RetroJoe64
Copy link

RetroJoe64 commented Nov 21, 2023

Thanks, guys - hopefully, I'll have time to give everything a go over the long week-end. P.S. Responding to some of the Batocera comments, I am currently using Launch Box on Windows as my "meta front-end" (is there a better name than that?), and despite my relative naiveté about the emulation stack, clearly stuff like this belongs in the libretro cores. Legacy emulators have way too much convoluted / pathological coupling going in, likely a result of many years of "quick and dirty" hacks (e.g. to accommodate one specific game...) that never get refactored. But, I am surprised that RetroArch's "retropad" abstraction ignores the fact that many legacy consoles had out-of-the-box numeric keypads (APF M-1000, Intellvision, Colecovision / Adam, Atari 5200), and others had optional keypads (e.g. the Star Raiders controller for the Atari 2600).

@Jazzzed
Copy link

Jazzzed commented Nov 21, 2023

Here is a x64 linux core: https://easyupload.io/oaftd1 (compiled under Windows Subsystem for Linux). Not sure how to cross compile for Android, but i am sure there are directions somewhere.

It works on a batocera x64 distribution. See my complicated instructions here: https://forum.batocera.org/d/7620-freeintv-using-real-intv-controller

I will keep this issue open until merged.

Whoa. That is awesome! Thank you so much @jdeath. A .SO file is exactly what I would need. I will give it a whirl this weekend. Thanks again.

@silvrgummy
Copy link

Hi I also need the windows 64 bit version of this but the link is down can anyone help me?

@jdeath
Copy link
Author

jdeath commented Apr 28, 2024

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants