[Feature Request] mGBA Player 2 Inputs

Open
#19,177 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
35/100
Issue type
Feature
Clarity
Needs clarification
Activity status
Quiet
Tech stack
c
Domain
game-dev

Research direction

The issue names no files, tests, or implementation entry points. Start by tracing mGBA's GB/GBC/GBA input handling and comparing how BGB exposes Player 2–4 inputs, then determine the required RetroArch mapping changes. Done means those inputs can be mapped and used by supported GB, GBC, and GBA games.

Written by the indexing model from the issue text.

Description

feature request

There's a feature one GB emulator (BGB) has out there that none of the Retroarch cores have yet, wherein they can access the GB/C/A's hidden "Player 2-4" inputs and map them out. This was a feature the Super Game Boy actually made use of, so there are games that have actual support for these. It's also a huge avenue for romhacking GB/C/A games, as with the inspiration for this request "Super Awakening", a Link's Awakening romhack that uses the Player 2 inputs for additional functions. However, in Retroarch, that means at the moment it can only be run in a SNES emulator in SGB mode, as none of the GB/C/A emulators at the moment currently support Player 2 inputs. This means the expanded color palette of Link's Awakening DX and the Super Awakening hack are fundamentally incompatible in every main GB Retroarch core. The hack's author even hard-locked the ROM to require Super Game Boy support, meaning the only way to even get that combination at the moment would be mGBA's "Super Game Boy Color" mode. Hence why I singled out mGBA, though this would be a welcome feature in any and all GB emulators going forwards. The potential for similar hacks for other GB/C/A games (Including the Oracle games) is severely hamstrung by the lack of these options in most emulators, with BGB being the only prominent example that allows it. It would open a huge realm of potential to allow for these inputs to be mapped, starting with mGBA so that GB, GBC, and GBA games can all begin to see these features utilized.

Dominant language
C
Stars
14.1k
Forks
2.2k
Avg merge
7h 35m
Merged PRs (30d)
51

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from libretro/RetroArch

All issues in libretro/RetroArch

Similar issues

More C issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.