profi200 / open_agb_firm

open_agb_firm is a bare metal app for running GBA homebrew/games using the 3DS builtin GBA hardware.
GNU General Public License v3.0
960 stars 49 forks source link

Button remapping #25

Closed andreltrigo closed 1 year ago

andreltrigo commented 4 years ago

Using the X/Y buttons would be really useful in certain games. I tried remapping buttons by modifying the source code and compiling it, but it only affected the file browser. Is it possible to implement button remapping?

profi200 commented 4 years ago

Button remapping is not implemented. Buttons are directly wired to the GBA hardware internally however there are override regs. The button override regs would need to be updated each VBlank which might be too late and the input is delayed by one frame (coming on top of the unavoidable >1 frame output delay). Not sure if this is desirable.

seriouslyunderappreciated commented 3 years ago

Perhaps this can be implemented as a separate distribution? There are games where I would gladly eat some input delay in exchange for remapped controls.

seascape commented 1 year ago

Just as a little more context for why this would be desirable, I found my way to this issue because in official Nintendo VC emulations like on Switch and 3DS I nearly always want to remap B-A to the much more ergonomic (and SNES-like) Y-B, and hoped that option would be feasible in open_agb_firm.

Very cool project either way though.