libretro / libretro/parallel-n64

Retropad's B and Y buttons should correspond to mupen64's A and B buttons respectively by default

Open
#297 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C
Stars
407
Forks
151
Avg merge
11h 53m
Merged PRs (30d)
11

Description

Check this picture: https://upload.wikimedia.org/wikipedia/commons/0/01/N64-Controller-in-Hand.jpg
Then observe the default retropad layout: http://wiki.libretro.com/images/6/68/Retropad_360pad.png

Retropad is apparently modeled after snes. For whatever reason though, the mupen64plus core routes the retropad's 'A' button to N64's 'A' button by default (possibly under the mistaken assumption that the labeling of these buttons is of any significance or represent a cross platform standard?). If you look at the picture I provided, when playing on the n64 your thumb stretches diagonally left, the middle of your thumb resting on the A key and the tip of your thumb on the B key. It's therefore highly counter intuitive, and feels unnatural to n64 players, when the default behaviour is for retropad's A and B keys to be bound to these keys forcing a diagonal downwards thumb movement between the two keys. In fact when I first ran the mupen64plus core, I sat there for a few minutes assuming the gamepad was not being recognized - as I was so intuitively expecting my xbox 360 controller's A key (which is retropad's B key, which is mupen64plus's B key) to progress the game, since n64's A key which is in the same positional location as retropad's B key is usually the main menu select key and interact key.

To fix this, default binding should be for retropad's 'B' and 'Y' keys to correspond to the N64's A & B keys. I have no idea why this isn't the case already, other than the belief that buttons labelled 'A' on the retropad mean they should be routed to buttons labelled 'A' on the n64 controller, despite the labeling not representing anything of significance (there are no cross platform controller button labeling standards as far as I know - but even if there were I'd find it extremely unlikely it resembles Super Ninendo's).

Contributor guide

No contributing guide indexed for this repository

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.

Research direction

Start by locating the parallel-n64 default retropad-to-N64 controller mapping and inspect how the A, B, and Y inputs are assigned. Done means the default retropad B and Y inputs correspond to the N64 A and B buttons respectively, without requiring manual remapping.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
game-dev
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.