Skip to content

Commit e94c8af

Browse files
deploy: d25a35d
1 parent e75417c commit e94c8af

File tree

3 files changed

+40
-28
lines changed

3 files changed

+40
-28
lines changed

_sources/ria.rst.txt

Lines changed: 20 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,7 @@ is guaranteed to return zeros. Simply write to push and read to pull.
228228
Extended 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)
232232
and device 0 on the PIX bus.
233233

234234
.. list-table::
@@ -407,29 +407,35 @@ Mouse buttons are a bitfield:
407407
Gamepads
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-
415410
The :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
419413
disabled and you may find USB instability on other devices.
420414

421415
Some 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

424419
Modern 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
429424
Square/Triangle/Cross/Circle and XY/AB layouts are "the official" layout
430425
of the RP6502. You can, of course, do your own thing and request players
431426
use 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+
433439
Enable and disable access to the RIA gamepad XRAM registers by setting
434440
the extended register. The register value is the XRAM start address of
435441
the gamepad data. Any invalid address disables the gamepads.

ria.html

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -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)
308308
and 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
474469
disabled 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
482478
Square/Triangle/Cross/Circle and XY/AB layouts are “the official” layout
483479
of the RP6502. You can, of course, do your own thing and request players
484480
use 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
486492
the extended register. The register value is the XRAM start address of
487493
the gamepad data. Any invalid address disables the gamepads.</p>

0 commit comments

Comments
 (0)