@@ -228,7 +228,7 @@ is guaranteed to return zeros. Simply write to push and read to pull.
228228Extended Registers (XREG)
229229-------------------------
230230
231- The :doc: `RIA ` is both the host of the PIX bus (documented below)
231+ The :doc: `ria ` is both the host of the PIX bus (documented below)
232232and device 0 on the PIX bus.
233233
234234.. list-table ::
@@ -407,29 +407,35 @@ Mouse buttons are a bitfield:
407407Gamepads
408408========
409409
410- NOTICE: Sega-style, NES-style, SNES-style, and other retro-style gamepads
411- are not supported. You will have problems with button mappings on most
412- of those. Rumbledethumps will not respond to support requests about this
413- type of gamepad, but pull reqeusts for pad.c are accepted.
414-
415410The :doc: `ria ` supports up to four gamepads. There are drivers for Generic HID,
416- XInput, and Playstation controllers. Unfortunately, the TinyUSB stack
417- that the RIA uses is unstable on the Pi Pico and the information needed
418- to fix it is not part of the Pi Pico documentation. XInput is currently
411+ XInput, and Playstation gamepads. Unfortunately, the TinyUSB stack
412+ that the RIA uses is unstable on the Pi Pico so XInput is currently
419413disabled and you may find USB instability on other devices.
420414
421415Some gamepads let you select between HID/DInput/Android, XInput, and
422- other systems. Choose HID/DInput/Android for the best chance of working.
416+ other systems. Choose HID/DInput/Android (all the same) for the best chance
417+ of working.
423418
424419Modern gamepads have all evolved to the same four face buttons, d-pad,
425- dual analog sticks, and quad shoulders. The minor variations of the four
426- face buttons are XY/AB, YX/BA, or Square/Triangle/Cross/Circle. This is
427- generally of no consequence to the application unless those buttons are
428- intended to represent a direction. In that case, the
420+ dual analog sticks, select, start, and quad shoulders. The minor variations
421+ of the four face buttons are XY/AB, YX/BA, or Square/Triangle/Cross/Circle.
422+ This is generally of no consequence to the application unless those buttons
423+ are intended to represent a direction. In that case, the
429424Square/Triangle/Cross/Circle and XY/AB layouts are "the official" layout
430425of the RP6502. You can, of course, do your own thing and request players
431426use a specific gamepad or include a "AB or BA" option.
432427
428+ .. attention ::
429+ **The RP6502 expects modern gamepads. **
430+
431+ The RP6502 is not an emulation platform. Sega, NES, SNES, TG16, Atari,
432+ and other retro-style gamepads are **not supported **.
433+
434+ Retro-style gamepads are designed with button mappings for emulators while
435+ emulators expect the button layout of a modern gamepad. These do not cancel
436+ each other out. Instead, you end up with wonky button mappings that do not
437+ follow the defacto standard for modern gamepads.
438+
433439Enable and disable access to the RIA gamepad XRAM registers by setting
434440the extended register. The register value is the XRAM start address of
435441the gamepad data. Any invalid address disables the gamepads.
0 commit comments