libretro control mappings have X and O button labels reversed
Hello! Thanks for awesome emulator! I've recently been playing the libretro core on my Anbernic RG35XX. It's a similar form factor to the Miyoo Mini Plus, and someone on the [Retro Handhelds Discord](https://discord.gg/retrohandhelds) has made a recent build of the core (version 0.0.2.20).

One thing I noticed is that the X and O button labels in the RetroArch controls settings seem to be swapped vs. what actually gets sent to the game. Sorry, it's kind of a long report since there's multiple levels of input mapping (device => RetroPad => libretro core => game).

**TL;DR**: I think [these two array entries are swapped](https://github.com/jtothebell/fake-08/blob/10bd648f2ed91268c758751e3eda7708512cf065/platform/libretro/libretro.cpp#L204-L205), causing them to do the opposite of what the RetroArch controls UI says they do.

(Just to be explicit, I'm not saying the choice of which physical button position is X vs. O is wrong, since I guess that's probably subjective. The bug is just that whatever physical layout is actually used, the RetroArch UI displays the opposite layout for this core. 😄)

### Device => RetroPad

The RG35XX uses an SNES-style button layout (A button on the right, etc.), so the physical buttons on the device match the [RetroPad](https://docs.libretro.com/guides/input-and-controls/) names (which are also based on SNES):

![RG35XX physical buttons A (Right), B (Down), X (Up), Y (Left)](https://github.com/jtothebell/fake-08/assets/115921/9d03d206-46ed-46be-8ab1-4af82ef50c99)

### RetroPad => libretro core

By default, the FAKE-08 libretro core claims to map buttons as follows:

![RetroPad Button A (Right) => PICO-8 Button X, RetroPad Button B (Down) => PICO-8 Button O](https://github.com/jtothebell/fake-08/assets/115921/6acc832c-945e-4de9-a720-67d894b6d422)

### libretro core => game

I'm testing with [Celeste Classic](https://www.lexaloffle.com/bbs/?pid=11722). It uses buttons as follows:

* PICO-8 Button O (keyboard keys `Z`, `C`, `N` in the official app) => Jump
* PICO-8 Button X (keyboard keys `X`, `V`, `M` in the official app) => Dash

### End result

So in Celeste, the end-to-end mappings should be as follows:

* RG35XX Button B (Down) => RetroPad Button B (Down) => PICO-8 Button O => Jump
* RG35XX Button A (Right) => RetroPad Button A (Right) => PICO-8 Button X => Dash

But in practice, I see the opposite behavior. Device Button B dashes and device Button A jumps. The labels presented in the RetroArch control settings appear to be swapped vs. reality.

Digging into the code a bit, it looks like maybe the [mapping from RetroPad buttons to PICO-8 buttons](https://github.com/jtothebell/fake-08/blob/10bd648f2ed91268c758751e3eda7708512cf065/platform/libretro/libretro.cpp#L204-L205) has reversed X and O compared to the [indices of the PICO-8 buttons themselves](https://github.com/jtothebell/fake-08/blob/10bd648f2ed91268c758751e3eda7708512cf065/source/hostVmShared.h#L52-L53).

So that button mapping in the core should be changed (which would make the actual button mapping match what the RetroArch UI shows). Alternatively, if the button mapping is intended and the UI is just wrong, the [button labels in RetroArch settings](https://github.com/jtothebell/fake-08/blob/10bd648f2ed91268c758751e3eda7708512cf065/platform/libretro/libretro.cpp#L104-L105) should be swapped instead.