@@ -304,7 +304,7 @@ <h3>Extended Stack (XSTACK)<a class="headerlink" href="#extended-stack-xstack" t
304304</ div >
305305< div class ="section " id ="extended-registers-xreg ">
306306< h3 > Extended Registers (XREG)< a class ="headerlink " href ="#extended-registers-xreg " title ="Permalink to this headline "> ¶</ a > </ h3 >
307- < p > The < span class ="xref std std- doc "> RIA</ span > is both the host of the PIX bus (documented below)
307+ < p > The < a class ="reference internal " href =" # " > < span class =" doc "> RP6502- RIA</ span > </ a > is both the host of the PIX bus (documented below)
308308and device 0 on the PIX bus.</ p >
309309< table class ="colwidths-given docutils align-default ">
310310< colgroup >
@@ -463,25 +463,31 @@ <h2>Mouse<a class="headerlink" href="#mouse" title="Permalink to this headline">
463463</ div >
464464< div class ="section " id ="gamepads ">
465465< h2 > Gamepads< a class ="headerlink " href ="#gamepads " title ="Permalink to this headline "> ¶</ a > </ h2 >
466- < p > NOTICE: Sega-style, NES-style, SNES-style, and other retro-style gamepads
467- are not supported. You will have problems with button mappings on most
468- of those. Rumbledethumps will not respond to support requests about this
469- type of gamepad, but pull reqeusts for pad.c are accepted.</ p >
470466< p > The < a class ="reference internal " href ="# "> < span class ="doc "> RP6502-RIA</ span > </ a > supports up to four gamepads. There are drivers for Generic HID,
471- XInput, and Playstation controllers. Unfortunately, the TinyUSB stack
472- that the RIA uses is unstable on the Pi Pico and the information needed
473- to fix it is not part of the Pi Pico documentation. XInput is currently
467+ XInput, and Playstation gamepads. Unfortunately, the TinyUSB stack
468+ that the RIA uses is unstable on the Pi Pico so XInput is currently
474469disabled and you may find USB instability on other devices.</ p >
475470< p > Some gamepads let you select between HID/DInput/Android, XInput, and
476- other systems. Choose HID/DInput/Android for the best chance of working.</ p >
471+ other systems. Choose HID/DInput/Android (all the same) for the best chance
472+ of working.</ p >
477473< p > Modern gamepads have all evolved to the same four face buttons, d-pad,
478- dual analog sticks, and quad shoulders. The minor variations of the four
479- face buttons are XY/AB, YX/BA, or Square/Triangle/Cross/Circle. This is
480- generally of no consequence to the application unless those buttons are
481- intended to represent a direction. In that case, the
474+ dual analog sticks, select, start, and quad shoulders. The minor variations
475+ of the four face buttons are XY/AB, YX/BA, or Square/Triangle/Cross/Circle.
476+ This is generally of no consequence to the application unless those buttons
477+ are intended to represent a direction. In that case, the
482478Square/Triangle/Cross/Circle and XY/AB layouts are “the official” layout
483479of the RP6502. You can, of course, do your own thing and request players
484480use a specific gamepad or include a “AB or BA” option.</ p >
481+ < div class ="admonition attention ">
482+ < p class ="admonition-title "> Attention</ p >
483+ < p > < strong > The RP6502 expects modern gamepads.</ strong > </ p >
484+ < p > The RP6502 is not an emulation platform. Sega, NES, SNES, TG16, Atari,
485+ and other retro-style gamepads are < strong > not supported</ strong > .</ p >
486+ < p > Retro-style gamepads are designed with button mappings for emulators while
487+ emulators expect the button layout of a modern gamepad. These do not cancel
488+ each other out. Instead, you end up with wonky button mappings that do not
489+ follow the defacto standard for modern gamepads.</ p >
490+ </ div >
485491< p > Enable and disable access to the RIA gamepad XRAM registers by setting
486492the extended register. The register value is the XRAM start address of
487493the gamepad data. Any invalid address disables the gamepads.</ p >
0 commit comments