ddgo-controller-docs/models/classic/index.html
2022-04-06 21:37:54 +00:00

8 lines
No EOL
19 KiB
HTML

<!doctype html><html lang=en><head><meta charset=utf-8><meta name=viewport content="height=device-height,width=device-width,initial-scale=1,minimum-scale=1"><meta name=generator content="Hugo 0.96.0"><meta name=generator content="Relearn 3.4.1+tip"><meta name=description content><title>Classic consoles :: Densha de GO! controller documentation</title><link rel=alternate type=application/rss+xml href=https://marcriera.github.io/ddgo-controller-docs/models/classic/index.xml title="Densha de GO! controller documentation"><link href=https://marcriera.github.io/ddgo-controller-docs/css/nucleus.css?1649281073 rel=stylesheet><link href=https://marcriera.github.io/ddgo-controller-docs/css/fontawesome-all.min.css?1649281073 rel=stylesheet><link href=https://marcriera.github.io/ddgo-controller-docs/css/featherlight.min.css?1649281073 rel=stylesheet><link href=https://marcriera.github.io/ddgo-controller-docs/css/perfect-scrollbar.min.css?1649281073 rel=stylesheet><link href=https://marcriera.github.io/ddgo-controller-docs/css/auto-complete.css?1649281073 rel=stylesheet><link href=https://marcriera.github.io/ddgo-controller-docs/css/theme.css?1649281073 rel=stylesheet><link href=https://marcriera.github.io/ddgo-controller-docs/css/theme-relearn-light.css?1649281073 rel=stylesheet id=variant-style><link href=https://marcriera.github.io/ddgo-controller-docs/css/variant.css?1649281073 rel=stylesheet><link href=https://marcriera.github.io/ddgo-controller-docs/css/print.css?1649281073 rel=stylesheet media=print><link href=https://marcriera.github.io/ddgo-controller-docs/css/custom.css?1649281073 rel=stylesheet><script src=https://marcriera.github.io/ddgo-controller-docs/js/variant.js?1649281073></script>
<script>var index_url="https://marcriera.github.io/ddgo-controller-docs/index.json",baseUriFull,root_url="https://marcriera.github.io/ddgo-controller-docs/",baseUri=root_url.replace(/\/$/,'');window.T_Copy_to_clipboard="Copy to clipboard",window.T_Copied_to_clipboard="Copied to clipboard!",window.T_Copy_link_to_clipboard="Copy link to clipboard",window.T_Link_copied_to_clipboard="Copied link to clipboard!",baseUriFull="https://marcriera.github.io/ddgo-controller-docs/",variants.init(["relearn-light","relearn-dark"])</script><script src=https://marcriera.github.io/ddgo-controller-docs/js/jquery.min.js?1649281073></script></head><body class=mobile-support data-url=https://marcriera.github.io/ddgo-controller-docs/models/classic/><div id=body class=default-animation><div id=sidebar-overlay></div><div id=toc-overlay></div><nav id=topbar class=highlightable><div><div class=navigation><a class="nav nav-next" href=https://marcriera.github.io/ddgo-controller-docs/models/serial/ title="Serial port"><i class="fas fa-chevron-right fa-fw"></i></a></div><div class=navigation><a class="nav nav-prev" href=https://marcriera.github.io/ddgo-controller-docs/models/ title=Models><i class="fas fa-chevron-left fa-fw"></i></a></div><div id=breadcrumbs><span id=sidebar-toggle-span><a href=# id=sidebar-toggle title=Menu><i class="fas fa-bars fa-fw"></i></a></span>
<span id=toc-menu title="Table of Contents"><i class="fas fa-list-alt fa-fw"></i></span><ol class=links itemscope itemtype=http://schema.org/BreadcrumbList><meta itemprop=itemListOrder content="Descending"><li itemscope itemtype=https://schema.org/ListItem itemprop=itemListElement><meta itemprop=position content="3"><a itemprop=item href=https://marcriera.github.io/ddgo-controller-docs/><span itemprop=name>Densha de GO! controller documentation</span></a> ></li><li itemscope itemtype=https://schema.org/ListItem itemprop=itemListElement><meta itemprop=position content="2"><a itemprop=item href=https://marcriera.github.io/ddgo-controller-docs/models/><span itemprop=name>Models</span></a> ></li><li itemscope itemtype=https://schema.org/ListItem itemprop=itemListElement><meta itemprop=position content="1"><a itemprop=item href=https://marcriera.github.io/ddgo-controller-docs/models/classic/ aria-disabled=true><span itemprop=name>Classic consoles</span></a></li></ol></div><div class="default-animation progress"><div class=wrapper><nav id=TableOfContents><ul><li><a href=#power-handle-bit-usage>Power handle bit usage</a></li><li><a href=#brake-handle-bit-usage>Brake handle bit usage</a></li><li><a href=#button-mapping-to-a-standard-controller>Button mapping to a standard controller</a></li><li><a href=#playstation-specific-information>PlayStation-specific information</a></li></ul></nav></div></div></div></nav><main id=body-inner class=highlightable><div class=flex-block-wrapper><div id=head-tags></div><article><h1>Classic consoles</h1><p>The information in this section applies to the following controllers:</p><ul><li><strong>SLPH-00051:</strong> two-handle controller (Sony PlayStation)</li><li><strong>TC-5175290:</strong> two-handle controller (Sega Saturn)</li><li><strong>TCPP-20001:</strong> single-handle controller (Sony PlayStation)</li><li><strong>TCPP-20002:</strong> gamepad controller (Sony PlayStation)</li><li><strong>TCPP-20003:</strong> two-handle controller (Nintendo 64)</li><li><strong>TCPP-20004:</strong> two-handle controller (Sega Dreamcast)</li><li><strong>TCPP-20008:</strong> two-handle controller, golden (Sony PlayStation)</li></ul><p>These controllers all have five physical buttons (<strong>SELECT</strong>, <strong>START</strong>, <strong>A</strong>, <strong>B</strong>, <strong>C</strong>) and two handles (with the TCPP-20001 combining them into one). Internally, they use the same protocol as a standard controller for the corresponding console and input is reported in the data bytes corresponding to buttons (where each bit reports the state of a single button). Only the regular physical buttons have dedicated bits for them; the handles combine three and four bits for the power notches and brake notches, respectively (you can find an example with the Nintendo 64 <a href=https://sites.google.com/site/consoleprotocols/home/nintendo-joy-bus-documentation/n64-specific/train-controller>here</a>).</p><h2 id=power-handle-bit-usage>Power handle bit usage</h2><p>The power handle uses a combination of three bits (buttons) to represent each notch. When using the TCPP-20001 controller, the equivalent of <strong>N</strong> is reported for power whenever a brake notch is applied.</p><table><thead><tr><th style=text-align:center>Position</th><th style=text-align:center>POWER 1</th><th style=text-align:center>POWER 2</th><th style=text-align:center>POWER 3</th></tr></thead><tbody><tr><td style=text-align:center>N</td><td style=text-align:center>-</td><td style=text-align:center>X</td><td style=text-align:center>X</td></tr><tr><td style=text-align:center>P1</td><td style=text-align:center>X</td><td style=text-align:center>-</td><td style=text-align:center>X</td></tr><tr><td style=text-align:center>P2</td><td style=text-align:center>-</td><td style=text-align:center>-</td><td style=text-align:center>X</td></tr><tr><td style=text-align:center>P3</td><td style=text-align:center>X</td><td style=text-align:center>X</td><td style=text-align:center>-</td></tr><tr><td style=text-align:center>P4</td><td style=text-align:center>-</td><td style=text-align:center>X</td><td style=text-align:center>-</td></tr><tr><td style=text-align:center>P5</td><td style=text-align:center>X</td><td style=text-align:center>-</td><td style=text-align:center>-</td></tr><tr><td style=text-align:center>Transition</td><td style=text-align:center>-</td><td style=text-align:center>-</td><td style=text-align:center>-</td></tr></tbody></table><h2 id=brake-handle-bit-usage>Brake handle bit usage</h2><p>The brake handle uses a combination of four bits (buttons) to represent each notch. When using the TCPP-20001 controller, the equivalent of <strong>Released</strong> is reported for brake whenever a power notch is applied.</p><table><thead><tr><th style=text-align:center>Position</th><th style=text-align:center>BRAKE 1</th><th style=text-align:center>BRAKE 2</th><th style=text-align:center>BRAKE 3</th><th style=text-align:center>BRAKE 4</th></tr></thead><tbody><tr><td style=text-align:center>Released</td><td style=text-align:center>-</td><td style=text-align:center>X</td><td style=text-align:center>X</td><td style=text-align:center>X</td></tr><tr><td style=text-align:center>B1</td><td style=text-align:center>X</td><td style=text-align:center>-</td><td style=text-align:center>X</td><td style=text-align:center>X</td></tr><tr><td style=text-align:center>B2</td><td style=text-align:center>-</td><td style=text-align:center>-</td><td style=text-align:center>X</td><td style=text-align:center>X</td></tr><tr><td style=text-align:center>B3</td><td style=text-align:center>X</td><td style=text-align:center>X</td><td style=text-align:center>-</td><td style=text-align:center>X</td></tr><tr><td style=text-align:center>B4</td><td style=text-align:center>-</td><td style=text-align:center>X</td><td style=text-align:center>-</td><td style=text-align:center>X</td></tr><tr><td style=text-align:center>B5</td><td style=text-align:center>X</td><td style=text-align:center>-</td><td style=text-align:center>-</td><td style=text-align:center>X</td></tr><tr><td style=text-align:center>B6</td><td style=text-align:center>-</td><td style=text-align:center>-</td><td style=text-align:center>-</td><td style=text-align:center>X</td></tr><tr><td style=text-align:center>B7</td><td style=text-align:center>X</td><td style=text-align:center>X</td><td style=text-align:center>X</td><td style=text-align:center>-</td></tr><tr><td style=text-align:center>B8</td><td style=text-align:center>-</td><td style=text-align:center>X</td><td style=text-align:center>X</td><td style=text-align:center>-</td></tr><tr><td style=text-align:center>Unmarked 1</td><td style=text-align:center>X</td><td style=text-align:center>-</td><td style=text-align:center>X</td><td style=text-align:center>-</td></tr><tr><td style=text-align:center>Unmarked 2</td><td style=text-align:center>-</td><td style=text-align:center>-</td><td style=text-align:center>X</td><td style=text-align:center>-</td></tr><tr><td style=text-align:center>Unmarked 3</td><td style=text-align:center>X</td><td style=text-align:center>X</td><td style=text-align:center>-</td><td style=text-align:center>-</td></tr><tr><td style=text-align:center>Unmarked 4</td><td style=text-align:center>-</td><td style=text-align:center>X</td><td style=text-align:center>-</td><td style=text-align:center>-</td></tr><tr><td style=text-align:center>Unmarked 5</td><td style=text-align:center>X</td><td style=text-align:center>-</td><td style=text-align:center>-</td><td style=text-align:center>-</td></tr><tr><td style=text-align:center>Emergency</td><td style=text-align:center>-</td><td style=text-align:center>-</td><td style=text-align:center>-</td><td style=text-align:center>-</td></tr><tr><td style=text-align:center>Transition</td><td style=text-align:center>X</td><td style=text-align:center>X</td><td style=text-align:center>X</td><td style=text-align:center>X</td></tr></tbody></table><p>The unmarked positions can be found between <strong>B8</strong> and <strong>Emergency</strong> and produce no click when moving the handle. When using the TCPP-20001 or the TCPP-20002, only the first and fourth unmarked positions are available.</p><h2 id=button-mapping-to-a-standard-controller>Button mapping to a standard controller</h2><p>Because they use the same data bytes, the input between a Densha de GO! controller and a standard controller for each console can be matched as follows:</p><table><thead><tr><th style=text-align:center>Densha de GO!</th><th style=text-align:center>Nintendo 64</th><th style=text-align:center>Sony PlayStation 1</th><th style=text-align:center>Sega Dreamcast</th><th style=text-align:center>Sega Saturn</th></tr></thead><tbody><tr><td style=text-align:center>SELECT</td><td style=text-align:center>R</td><td style=text-align:center>SELECT</td><td style=text-align:center>D</td><td style=text-align:center>??</td></tr><tr><td style=text-align:center>START</td><td style=text-align:center>START</td><td style=text-align:center>START</td><td style=text-align:center>START</td><td style=text-align:center>??</td></tr><tr><td style=text-align:center>A</td><td style=text-align:center>B</td><td style=text-align:center>SQUARE</td><td style=text-align:center>A</td><td style=text-align:center>??</td></tr><tr><td style=text-align:center>B</td><td style=text-align:center>A</td><td style=text-align:center>CROSS</td><td style=text-align:center>??</td><td style=text-align:center>??</td></tr><tr><td style=text-align:center>C</td><td style=text-align:center>L</td><td style=text-align:center>CIRCLE</td><td style=text-align:center>C</td><td style=text-align:center>??</td></tr><tr><td style=text-align:center>POWER 1</td><td style=text-align:center>RIGHT</td><td style=text-align:center>TRIANGLE</td><td style=text-align:center>Z</td><td style=text-align:center>X</td></tr><tr><td style=text-align:center>POWER 2</td><td style=text-align:center>UP</td><td style=text-align:center>LEFT</td><td style=text-align:center>Y</td><td style=text-align:center>Y</td></tr><tr><td style=text-align:center>POWER 3</td><td style=text-align:center>Z</td><td style=text-align:center>RIGHT</td><td style=text-align:center>X</td><td style=text-align:center>Z</td></tr><tr><td style=text-align:center>BRAKE 1</td><td style=text-align:center>C RIGHT</td><td style=text-align:center>L1</td><td style=text-align:center>UP</td><td style=text-align:center>L</td></tr><tr><td style=text-align:center>BRAKE 2</td><td style=text-align:center>C LEFT</td><td style=text-align:center>L2</td><td style=text-align:center>DOWN</td><td style=text-align:center>R</td></tr><tr><td style=text-align:center>BRAKE 3</td><td style=text-align:center>C DOWN</td><td style=text-align:center>R1</td><td style=text-align:center>LEFT</td><td style=text-align:center>DOWN</td></tr><tr><td style=text-align:center>BRAKE 4</td><td style=text-align:center>C UP</td><td style=text-align:center>R2</td><td style=text-align:center>RIGHT</td><td style=text-align:center>LEFT</td></tr></tbody></table><p>This is useful when using a USB adapter to read the controller input from a PC.</p><h2 id=playstation-specific-information>PlayStation-specific information</h2><p>The controllers report the same data amount and structure as a standard digital PlayStation controller. UP and DOWN are pressed permanently. The games detect the controllers with these two buttons, as it is an impossible combination with a standard digital controller.</p><footer class=footline></footer></article></div></main></div><aside id=sidebar class=default-animation><div id=header-wrapper class=default-animation><div id=header class=default-animation><style>a#logo{color:#282828;color:var(--MENU-SECTIONS-BG-color);font-family:work sans,helvetica,tahoma,geneva,arial,sans-serif;font-size:20px;font-weight:400;max-width:60%;text-transform:uppercase;width:60%;margin-left:-10px}a#logo:hover{color:#282828;color:var(--MENU-SECTIONS-BG-color)}@media only all and (max-width:59.938em){a#logo{font-size:15px;margin-top:-3px}}@media all and (-ms-high-contrast:none){a#logo{margin-top:-58px}}</style><a id=logo href=https://marcriera.github.io/ddgo-controller-docs/><img src=https://marcriera.github.io/ddgo-controller-docs/images/logo_big.png><br>controller documentation</a></div></div><div id=content-wrapper class=highlightable><ul class="topics collapsible-menu"><li data-nav-id=/models/ title=Models class="dd-item parent alwaysopen"><input type=checkbox id=section-98b2523c1b6ac5b855a407580b6830bd class=toggle checked><label for=section-98b2523c1b6ac5b855a407580b6830bd></label><a href=https://marcriera.github.io/ddgo-controller-docs/models/>Models</a><ul><li data-nav-id=/models/classic/ title="Classic consoles" class="dd-item active"><a href=https://marcriera.github.io/ddgo-controller-docs/models/classic/>Classic consoles</a></li><li data-nav-id=/models/serial/ title="Serial port" class=dd-item><a href=https://marcriera.github.io/ddgo-controller-docs/models/serial/>Serial port</a></li><li data-nav-id=/models/usb/ title=USB class=dd-item><a href=https://marcriera.github.io/ddgo-controller-docs/models/usb/>USB</a></li><li data-nav-id=/models/wii/ title="Nintendo Wii" class=dd-item><a href=https://marcriera.github.io/ddgo-controller-docs/models/wii/>Nintendo Wii</a></li><li data-nav-id=/models/standalone/ title=Standalone class=dd-item><a href=https://marcriera.github.io/ddgo-controller-docs/models/standalone/>Standalone</a></li></ul></li><li data-nav-id=/compatibility/ title="Software compatibility (WIP)" class=dd-item><a href=https://marcriera.github.io/ddgo-controller-docs/compatibility/>Software compatibility (WIP)</a></li><li data-nav-id=/adapters/ title="Adapters and hacks" class=dd-item><a href=https://marcriera.github.io/ddgo-controller-docs/adapters/>Adapters and hacks</a></li><li data-nav-id=/acknowledgements/ title=Acknowledgements class=dd-item><a href=https://marcriera.github.io/ddgo-controller-docs/acknowledgements/>Acknowledgements</a></li><li data-nav-id=/references/ title=References class=dd-item><a href=https://marcriera.github.io/ddgo-controller-docs/references/>References</a></li></ul><div id=shortcuts><div class=nav-title></div><ul><li><a class=padding href=https://github.com/MarcRiera/ddgo-controller-docs><i class="fab fa-fw fa-github"></i> GitHub repo</a></li></ul></div><div class="footermargin footerLangSwitch footerVariantSwitch footerVisitedLinks footerFooter showVariantSwitch showFooter"></div><hr class="default-animation footerLangSwitch footerVariantSwitch footerVisitedLinks footerFooter showVariantSwitch showFooter"><div id=prefooter class="footerLangSwitch footerVariantSwitch footerVisitedLinks showVariantSwitch"><ul><li id=select-language-container class=footerLangSwitch><a class="padding select-container"><i class="fas fa-language fa-fw"></i>
<span>&nbsp;</span><div class=select-style><select id=select-language onchange="location=baseUri+this.value"></select></div><div class=select-clear></div></a></li><li id=select-variant-container class="footerVariantSwitch showVariantSwitch"><a class="padding select-container"><i class="fas fa-paint-brush fa-fw"></i>
<span>&nbsp;</span><div class=select-style><select id=select-variant onchange=variants.changeVariant(this.value)><option id=relearn-light value=relearn-light selected>Relearn Light</option><option id=relearn-dark value=relearn-dark>Relearn Dark</option></select></div><div class=select-clear></div></a><script>variants.markSelectedVariant()</script></li><li class=footerVisitedLinks><a class=padding href=# data-clear-history-toggle><i class="fas fa-history fa-fw"></i> Clear History</a></li></ul></div><div id=footer class="footerFooter showFooter"><p>Built with <a href=https://github.com/McShelby/hugo-theme-relearn><i class="fas fa-heart"></i></a> by <a href=https://gohugo.io/>Hugo</a></p></div></div></aside><script src=https://marcriera.github.io/ddgo-controller-docs/js/clipboard.min.js?1649281073></script>
<script src=https://marcriera.github.io/ddgo-controller-docs/js/perfect-scrollbar.min.js?1649281073></script>
<script src=https://marcriera.github.io/ddgo-controller-docs/js/featherlight.min.js?1649281073></script>
<script src=https://marcriera.github.io/ddgo-controller-docs/js/theme.js?1649281073></script></body></html>