diff --git a/config.toml b/config.toml index c30397a..5e1f28c 100644 --- a/config.toml +++ b/config.toml @@ -10,7 +10,7 @@ themeVariant = [ "relearn-light", "relearn-dark" ] collapsibleMenu = true disableLandingPageButton = true disableShortcutsTitle=true -custom_css = [ "css/custom.css" ] +disableNextPrev = true [markup] [markup.goldmark] @@ -18,9 +18,17 @@ custom_css = [ "css/custom.css" ] unsafe = true +[[menu.shortcuts]] +name = " Acknowledgements" +url = "/acknowledgements" +weight = 1 [[menu.shortcuts]] -name = " GitHub repo" -identifier = "ds" -url = "https://github.com/MarcRiera/ddgo-controller-docs" +name = " References" +url = "/references" weight = 1 + +[[menu.shortcuts]] +name = " GitHub repository" +url = "https://github.com/MarcRiera/ddgo-controller-docs" +weight = 3 diff --git a/content/acknowledgements/_index.md b/content/acknowledgements/_index.md index 142add8..6cf6041 100644 --- a/content/acknowledgements/_index.md +++ b/content/acknowledgements/_index.md @@ -1,6 +1,7 @@ --- title: "Acknowledgements" -weight: 9 +_build: + list: never --- - [GMMan](https://github.com/GMMan), who has provided the internal details of the DGOC-44U and has conducted extensive research on the Densha de GO! Plug and Play. diff --git a/content/adapters/_index.md b/content/adapters/_index.md index b073c35..13bdc15 100644 --- a/content/adapters/_index.md +++ b/content/adapters/_index.md @@ -1,50 +1,9 @@ --- title: "Adapters and hacks" -weight: 3 +weight: 4 +chapter: true --- -Besides the official compatibility, it is possible to use unofficial adapters, tools and hacks to use controllers with games which is unsupported officially. +# Adapters and hacks -## Converter tool by Autotraintas - -[Autotraintas](https://autotraintas.hariko.com) has created a tool that makes it possible to use nearly any Densha de GO! controller with the PC versions of the games. This includes the classic console controllers (USB adapter required) and the USB controllers for the PlayStation 2. The tool patches the game memory on the fly to reflect the input from the controller. - -## PlayStation 2 cheat codes for PlayStation controllers - -While **Densha de GO! 3** and **Densha de GO! Shinkansen** officially support the original (non-USB) PlayStation controllers, other games are only compatible with USB controllers. Via cheat codes, it is possible to use the original PlayStation controllers on real hardware, either with retail discs or via OPL. - -The codes emulate a Type 2 controller. You will need to connect the controller as follows: - -- Port 1: Dualshock or Dualshock 2 (D-pad, **SELECT**) -- Port 2: PlayStation controller (handles and buttons, **SELECT** is mapped to **D**) - -**Note:** Other controllers may be used like this with an adapter (Titan One/Two + Brook/PADEMU). In this case, buttons are not remapped and the Dualshock on port 1 is not needed. [More information](https://github.com/MarcRiera/ddgo-scripts/tree/main/Densha%20de%20GO!%20(PS1-PS2)) - -Each game requires a specific cheat code: - -- [Densha de GO! Ryojouhen](cheats/controller-cheat_ryojouhen.txt) -- [Densha de GO! Professional 2](cheats/controller-cheat_pro2.txt) -- [Densha de GO! Professional 2 (Taito Best)](cheats/controller-cheat_pro2best.txt) -- [Densha de GO! Final](cheats/controller-cheat_final.txt) - -There are also cheat codes available for games in the **Train Simulator** series, emulating a Multi Train Controller (MTC): - -- [Train Simulator: Midosuji Line](cheats/controller-cheat_midosuji.txt) -- [Train Simulator + Densha de GO!](cheats/controller-cheat_tsddgo.txt) - -For retail discs, the codes can be loaded with [ps2rd](https://github.com/mlafeldt/ps2rd) or [Cheat Device](https://github.com/root670/CheatDevicePS2). If you are using OPL, it already includes ps2rd and you just need to copy the codes and enable cheats. - -## Input plugins for BVE Trainsim/OpenBVE - -BVE Trainsim and OpenBVE both support **input plugins**, which allow expanding the controllers compatible with the program. - -BVE Trainsim requires installing external input plugins, depending on the controller: - -- [Classic controllers](http://saha209kame.web.fc2.com/BVE_ATSPI.html) (電GO PS - JC_PS101Uインターフェイス/電GO PS - JC_PS201Uインターフェイス by saha209, USB adapter required) -- [DGC-255/DGOC-44U/DRC-184](http://saha209kame.web.fc2.com/BVE_ATSPI.html) (電GO PCインターフェイス by saha209) -- [TCPP-20009/TCPP-20014/MTC with P5/B8 cassette](http://saha209kame.web.fc2.com/BVE_ATSPI.html) (電GO PS2インターフェイス by saha209) -- [MTC (other cassettes)](http://saha209kame.web.fc2.com/BVE_ATSPI.html) (TrainSimulator PS2 MultiTrainController(MTC)インターフェイス by saha209) -- [ZKNS-001](http://saha209kame.web.fc2.com/BVE_ATSPI.html) (電GO SWインターフェイス by saha209) -- [OHC-PC01](http://www.konkyu.net/SanYingControllerInterface.aspx) - -OpenBVE includes built-in input plugins for all classic and USB Densha de GO! controllers, the MTC with P5/B8 cassette and the OHC-PC01. They can be enabled and configured in the program's settings. Note that a USB adapter is required for classic controllers. +Besides official compatibility, it is possible to use unofficial adapters, tools and hacks to use controllers with software which does not normally support controllers. diff --git a/content/adapters/autotraintas/_index.md b/content/adapters/autotraintas/_index.md new file mode 100644 index 0000000..c4cc7c1 --- /dev/null +++ b/content/adapters/autotraintas/_index.md @@ -0,0 +1,6 @@ +--- +title: "Converter tool by Autotraintas" +weight: 1 +--- + +Autotraintas has created a tool that makes it possible to use nearly any Densha de GO! controller with the PC versions of the games. This includes classic console controllers (USB adapter required) and USB controllers. The tool patches the game memory on the fly to reflect the input from the controller. diff --git a/content/adapters/cheats/_index.md b/content/adapters/cheats/_index.md new file mode 100644 index 0000000..3ad29c4 --- /dev/null +++ b/content/adapters/cheats/_index.md @@ -0,0 +1,157 @@ +--- +title: "PlayStation 2 cheat codes" +weight: 3 +--- + +## Overview + +While **Densha de GO! 3** and **Densha de GO! Shinkansen** officially support the original (non-USB) PlayStation controllers, other games are only compatible with USB controllers. Via cheat codes, it is possible to use the original PlayStation controllers on real hardware, either with retail discs or via OPL. + +The codes emulate a Type 2 controller. You will need to connect the controller as follows: + +- Port 1: Dualshock or Dualshock 2 (D-pad, **SELECT**) +- Port 2: PlayStation controller (handles and buttons, **SELECT** is mapped to **D**) + +{{% notice note %}} +Other controllers may be used like this with an adapter (Titan One/Two + Brook/PADEMU). In this case, buttons are not remapped and the Dualshock on port 1 is not needed. [More information](https://github.com/MarcRiera/ddgo-scripts/tree/main/Densha%20de%20GO!%20(PS1-PS2)) +{{% /notice %}} + +Each game requires a specific cheat code: + +- [Densha de GO! Ryojouhen](controller-cheat_ryojouhen.txt) +- [Densha de GO! Professional 2](controller-cheat_pro2.txt) +- [Densha de GO! Professional 2 (Taito Best)](controller-cheat_pro2best.txt) +- [Densha de GO! Final](controller-cheat_final.txt) + +There are also cheat codes available for games in the **Train Simulator** series, emulating a Multi Train Controller (MTC): + +- [Train Simulator: Midosuji Line](controller-cheat_midosuji.txt) +- [Train Simulator + Densha de GO!](controller-cheat_tsddgo.txt) + +For retail discs, the codes can be loaded with [ps2rd](https://github.com/mlafeldt/ps2rd) or [Cheat Device](https://github.com/root670/CheatDevicePS2). If you are using OPL, it already includes ps2rd and you just need to copy the codes and enable cheats. + +## Technical description + +These cheat codes have become possible after disassembling and inspecting each game with [Ghidra](https://ghidra-sre.org/) and the [ghidra-emotionengine](https://github.com/beardypig/ghidra-emotionengine) plugin. The format of cheat codes is described [here](https://github.com/root670/CheatDevicePS2/wiki/Code-Types). + +Here you can find a commented version of the cheat code for ***Densha de GO! Professional 2 (Taito Best)***. Input data is copied to 0xFE000 (two bytes for button data and one byte for D-pad data) before processing. + +``` +202D3CAC 00000000 // By default, set number of connected USB devices to 0 +D02DBA32 58010001 // If there's a controller connected to P2, run the following 0x58 lines (everything) +502DB9C2 00000002 // Copy button data to 0xFE000 +000FE000 00000000 +D00FE000 55400050 // If the controller in P2 has UP+DOWN pressed, run the following 0x55 lines (everything) +203790F0 40000202 // Set USB controller model to Type 2 +202D3CAC 00000001 // Set number of connected USB devices to 1 + +// Remapping +D02DB9C1 07010041 // If the controller in P2 is a digital gamepad (PS1 mascon), run the following 0x7 lines +D00FE000 01400001 // Remap SELECT to L3 (for use as "D") +700FE000 00500002 +700FE000 00100001 // Clear SELECT +D02DBAC2 01400001 // Remap P1 SELECT to SELECT +700FE000 00500001 +502DBAC2 00000001 // Remap P1 D-pad to D-pad +000FE002 00000000 +D02DB9C1 09010073 // If the controller in P2 is a Dualshock (mascon connected via adapter or PADEMU), run the following 0x9 lines +000FE002 000000FF // Clear D-pad data +D02DB9C6 01010000 // LEFT +700FE002 00400080 +D02DB9C6 010100FF // RIGHT +700FE002 00400020 +D02DB9C7 01010000 // UP +700FE002 00400010 +D02DB9C7 010100FF // DOWN +700FE002 00400040 + +// Buttons +2012BDC0 34420000 // ASM patch (disables game function that reads input from P2) +003794C6 00000000 // Clear button data for Type 2 controller +D00FE000 01408000 // A +703794C6 00000002 +D00FE000 01404000 // B +703794C6 00000001 +D00FE000 01402000 // C +703794C6 00000004 +D00FE000 01400002 // D (L3) +703794C6 00000008 +D00FE000 01400008 // START +703794C6 00000020 +D00FE000 01400001 // SELECT +703794C6 00000010 + +// D-Pad +D00FE002 010100EF // N +003794C5 00000000 +D00FE002 010100CF // NE +003794C5 00000001 +D00FE002 010100DF // E +003794C5 00000002 +D00FE002 0101009F // SE +003794C5 00000003 +D00FE002 010100BF // S +003794C5 00000004 +D00FE002 0101003F // SW +003794C5 00000005 +D00FE002 0101007F // W +003794C5 00000006 +D00FE002 0101006F // NW +003794C5 00000007 +D00FE002 010100FF // CENTER +003794C5 00000008 + +// Power handle +D00FE000 01401000 // P5 +003794C3 00000005 +D00FE000 01400080 // P4 +003794C3 00000004 +D00FE000 01401080 // P3 +003794C3 00000003 +D00FE000 01400020 // P2 +003794C3 00000002 +D00FE000 01401020 // P1 +003794C3 00000001 +D00FE000 014000A0 // P0 +003794C3 00000000 + +// Brake handle +700FE000 00300F00 // Bitmask: discard all button data besides the 4 bits for brake notches +D00FE000 01000F00 // EB +003794C2 00000009 +D00FE000 01000600 // B8 +003794C2 00000008 +D00FE000 01000200 // B7 +003794C2 00000007 +D00FE000 01000D00 // B6 +003794C2 00000006 +D00FE000 01000900 // B5 +003794C2 00000005 +D00FE000 01000C00 // B4 +003794C2 00000004 +D00FE000 01000800 // B3 +003794C2 00000003 +D00FE000 01000500 // B2 +003794C2 00000002 +D00FE000 01000100 // B1 +003794C2 00000001 +D00FE000 01000400 // B0 +003794C2 00000000 +``` + +### Memory addresses + +| | Professional 2 (Taito Best) | Professional 2 | Ryojōhen | Final | Notes | +|:-----------------------------------|:----------------------------|:---------------|:----------|:---------|:----------------------------------------------------------------------------| +| **USB mascon count (int32)** | 0x2D3CAC | 0x2C852C | 0x24B6DC | 0x2C1464 | | +| **USB mascon model (int32)** | 0x3790F0 | 0x36EAF0 | 0x2F24E0 | 0x3DEA10 | 0x40000202=Type 2 | +| **Type 2 brake notch (byte)** | 0x3794C2 | 0x36EEC2 | 0x2F28C2 | 0x3DF242 | Preprocessed, 0 to 9 | +| **Type 2 power notch (byte)** | 0x3794C3 | 0x36EEC3 | 0x2F28C3 | 0x3DF243 | Preprocessed, 0 to 5 | +| **Type 2 D-pad data (byte)** | 0x3794C5 | 0x36EEC5 | 0x2F28C5 | 0x3DF245 | Raw USB data | +| **Type 2 button data (byte)** | 0x3794C6 | 0x36EEC6 | 0x2F28C6 | 0x3DF246 | Raw USB data | +| **P2 controller connected (byte)** | 0x2DBA32 | 0x2D14F2 | 0x2548F2 | 0x2C8172 | 0x00=Disconnected, 0x01=Connected | +| **P2 controller type (byte)** | 0x2DB9C1 | 0x2D1481 | 0x254881 | 0x2C8101 | 0x41=Digital, 0x73=Dualshock | +| **P2 button input (int16)** | 0x2DB9C2 | 0x2D1482 | 0x254882 | 0x2C8102 | | +| **P2 L-stick input (int16)** | 0x2DB9C6 | 0x2D1486 | 0x254886 | 0x2C8106 | | +| **P1 button input (int16)** | 0x2DBAC2 | 0x2D1582 | 0x254982 | 0x2C8202 | | +| **ASM patch** | 0x12BDC0 | 0x12CB60 | 0x135B90 | 0x148928 | Leftover game code binds the C button to the horn and needs to be disabled. | diff --git a/content/adapters/plugins/_index.md b/content/adapters/plugins/_index.md new file mode 100644 index 0000000..5ec1876 --- /dev/null +++ b/content/adapters/plugins/_index.md @@ -0,0 +1,17 @@ +--- +title: "Input plugins for BVE Trainsim/OpenBVE" +weight: 2 +--- + +BVE Trainsim and OpenBVE both support **input plugins**, which allow expanding the controllers compatible with the program. + +BVE Trainsim requires installing external input plugins, depending on the controller: + +- [Classic console controllers](http://saha209kame.web.fc2.com/BVE_ATSPI.html) (電GO PS - JC_PS101Uインターフェイス/電GO PS - JC_PS201Uインターフェイス by saha209, USB adapter required) +- [DGC-255/DGOC-44U/DRC-184](http://saha209kame.web.fc2.com/BVE_ATSPI.html) (電GO PCインターフェイス by saha209) +- [TCPP-20009/TCPP-20014/MTC with P5/B8 cassette](http://saha209kame.web.fc2.com/BVE_ATSPI.html) (電GO PS2インターフェイス by saha209) +- [MTC (other cassettes)](http://saha209kame.web.fc2.com/BVE_ATSPI.html) (TrainSimulator PS2 MultiTrainController(MTC)インターフェイス by saha209) +- [ZKNS-001](http://saha209kame.web.fc2.com/BVE_ATSPI.html) (電GO SWインターフェイス by saha209) +- [OHC-PC01](http://www.konkyu.net/SanYingControllerInterface.aspx) + +OpenBVE includes built-in input plugins for all classic and USB Densha de GO! controllers, the MTC with P5/B8 cassette and the OHC-PC01. They can be enabled and configured in the program's settings. Note that a USB adapter is required for classic console controllers. diff --git a/content/adapters/titan/_index.md b/content/adapters/titan/_index.md new file mode 100644 index 0000000..9c16d2a --- /dev/null +++ b/content/adapters/titan/_index.md @@ -0,0 +1,14 @@ +--- +title: "Titan One/Two adapters" +weight: 4 +--- + +[ConsoleTuner](https://www.consoletuner.com) sells the Titan One and Titan Two USB devices. They support scripts to remap buttons or change the behaviour of a controller entirely. There are many repositories available with scripts to make a *Densha de GO!* controller behave like a different one: + +- [tylau0/DenGo](https://github.com/tylau0/DenGo) +- [arnauos/densha-de-go](https://github.com/arnauos/densha-de-go) +- [mikaeltarquin/densha-de-go](https://github.com/mikaeltarquin/densha-de-go) +- [thmalex/DenshaDeGoPS1toPS4](https://github.com/thmalex/DenshaDeGoPS1toPS4) +- [MarcRiera/ddgo-scripts](https://github.com/MarcRiera/ddgo-scripts) + +Before using a script, check whether it was designed for the Titan One or the Titan Two. They share the same extension (.GPC) but are different. The Titan Two is backwards compatible with many Titan One scripts, but not viceversa. diff --git a/content/compatibility/_index.md b/content/compatibility/_index.md index 2fa1f74..2ce2700 100644 --- a/content/compatibility/_index.md +++ b/content/compatibility/_index.md @@ -1,46 +1,47 @@ --- -title: "Software compatibility (WIP)" -weight: 2 +title: "Compatibility chart" +weight: 4 +hidden: true --- The following table lists the compatibility between each controller (first row) and each software (first column). Additional software compatible with the controllers is also listed. The column for the Multi Train Controller (MTC) specifies the supported cassettes. Scroll to the right to see the full table. -| Software | Classic
console
controller | DGOC-44 | DGC-255
DGOC-44U | DRC-184
DYC-288 | TCPP-20009
TCPP-20012 | TCPP-20011 | TCPP-20014 | TCPP-20017 | MTC | ZKNS-001 | OHC-PC01 | -|:------------------------------------------------------------------------------------------------------------------------:|:-------------------------------------------------------------------------------------:|:-------:|:--------------------------------------------------------:|:--------------------------------------------------------:|:--------------------------------------------------------:|:--------------------------------------------------------:|:--------------------------------------------------------:|:----------:|:----------------------------------------------------------:|:--------------------------------------------------------:|:--------------------------------------------------------:| -| ***Densha de GO!***
(Microsoft Windows) | [Unofficial](../adapters#converter-tool-by-autotraintas) | Yes | Yes (1) | No | [Unofficial](../adapters#converter-tool-by-autotraintas) | [Unofficial](../adapters#converter-tool-by-autotraintas) | No | No | No | [Unofficial](../adapters#converter-tool-by-autotraintas) | Yes | -| ***Densha de GO!***
(Sony PlayStation) | Yes | No | No | No | No | No | No | No | No | No | No | -| ***Densha de GO! EX***
(Sega Saturn) | Yes | No | No | No | No | No | No | No | No | No | No | -| ***Densha de GO! 2***
(Microsoft Windows) | [Unofficial](../adapters#converter-tool-by-autotraintas) | Yes | Yes (1) | No | [Unofficial](../adapters#converter-tool-by-autotraintas) | [Unofficial](../adapters#converter-tool-by-autotraintas) | No | No | No | [Unofficial](../adapters#converter-tool-by-autotraintas) | Yes | -| ***Densha de GO! 2***
(Sega Dreamcast) | Yes | No | No | No | No | No | No | No | No | No | No | -| ***Densha de GO! 2***
(Sony PlayStation) | Yes | No | No | No | No | No | No | No | No | No | No | -| ***Densha de GO! 64***
(Nintendo 64) | Yes | No | No | No | No | No | No | No | No | No | No | -| ***Kisha de GO!***
(Microsoft Windows) | [Unofficial](../adapters#converter-tool-by-autotraintas) | Yes | Yes (1) | No | [Unofficial](../adapters#converter-tool-by-autotraintas) | [Unofficial](../adapters#converter-tool-by-autotraintas) | No | No | No | [Unofficial](../adapters#converter-tool-by-autotraintas) | Yes | -| ***Kisha de GO!***
(Sony PlayStation) | Yes | No | No | No | No | No | No | No | No | No | No | -| ***Densha de GO! Professional***
(Microsoft Windows) | [Unofficial](../adapters#converter-tool-by-autotraintas) | Yes | Yes (1) | No | [Unofficial](../adapters#converter-tool-by-autotraintas) | [Unofficial](../adapters#converter-tool-by-autotraintas) | No | No | No | [Unofficial](../adapters#converter-tool-by-autotraintas) | Yes | -| ***Densha de GO! Professional***
(Sony PlayStation) | Yes | No | No | No | No | No | No | No | No | No | No | -| ***Densha de GO! Nagoya Tetsudōhen***
(Microsoft Windows) | [Unofficial](../adapters#converter-tool-by-autotraintas) | Yes | Yes (1) | No | [Unofficial](../adapters#converter-tool-by-autotraintas) | [Unofficial](../adapters#converter-tool-by-autotraintas) | No | No | No | [Unofficial](../adapters#converter-tool-by-autotraintas) | Yes | -| ***Densha de GO! Nagoya Tetsudōhen***
(Sony PlayStation) | Yes | No | No | No | No | No | No | No | P5/B8 | No | No | -| ***Densha de GO! 3***
(Microsoft Windows) | [Unofficial](../adapters#converter-tool-by-autotraintas) | Yes | Yes (1) | No | [Unofficial](../adapters#converter-tool-by-autotraintas) | [Unofficial](../adapters#converter-tool-by-autotraintas) | No | No | No | [Unofficial](../adapters#converter-tool-by-autotraintas) | Yes | -| ***Densha de GO! 3***
(Sony PlayStation 2) | Yes (2) | No | No | No | Yes | No | No | No | P5/B8 | No | No | -| ***Densha de GO! Shinkansen***
(Microsoft Windows) | [Unofficial](../adapters#converter-tool-by-autotraintas) | Unknown | Yes | No | [Unofficial](../adapters#converter-tool-by-autotraintas) | [Unofficial](../adapters#converter-tool-by-autotraintas) | No | No | No | [Unofficial](../adapters#converter-tool-by-autotraintas) | Yes | -| ***Densha de GO! Shinkansen***
(Sony PlayStation 2) | Yes (2) | No | No | No | Yes | Yes | No | No | P5/B8 | No | No | -| ***Densha de GO! Shinkansen***
(Nintendo Wii) | No | No | No | No | No | No | No | Yes | No | No | No | -| ***Densha de GO! Ryojōhen***
(Microsoft Windows) | [Unofficial](../adapters#converter-tool-by-autotraintas) | Unknown | Unknown | Yes | [Unofficial](../adapters#converter-tool-by-autotraintas) | [Unofficial](../adapters#converter-tool-by-autotraintas) | No | No | No | [Unofficial](../adapters#converter-tool-by-autotraintas) | Yes | -| ***Densha de GO! Ryojōhen***
(Sony PlayStation 2) | [Unofficial](../adapters#playstation-2-cheat-codes-for-playstation-1-controllers) (2) | No | No | No | Yes | Yes | Yes | No | P5/B8 | No | No | -| ***Densha de GO! Professional 2***
(Microsoft Windows) | [Unofficial](../adapters#converter-tool-by-autotraintas) | Unknown | Yes | Yes | [Unofficial](../adapters#converter-tool-by-autotraintas) | [Unofficial](../adapters#converter-tool-by-autotraintas) | No | No | No | [Unofficial](../adapters#converter-tool-by-autotraintas) | Yes | -| ***Densha de GO! Professional 2***
(Sony PlayStation 2) | [Unofficial](../adapters#playstation-2-cheat-codes-for-playstation-1-controllers) (2) | No | No | No | Yes | Yes | Yes | No | P5/B8 | No | No | -| ***Densha de GO! Final***
(Microsoft Windows) | [Unofficial](../adapters#converter-tool-by-autotraintas) | Unknown | Yes | Yes | [Unofficial](../adapters#converter-tool-by-autotraintas) | [Unofficial](../adapters#converter-tool-by-autotraintas) | No | No | No | [Unofficial](../adapters#converter-tool-by-autotraintas) | Yes | -| ***Densha de GO! Final***
(Sony PlayStation 2) | [Unofficial](../adapters#playstation-2-cheat-codes-for-playstation-1-controllers) (2) | No | No | No | Yes | Yes | Yes | No | P5/B8 | No | No | -| ***Densha de GO! Hashirō Yamanote‑sen***
(Sony PlayStation 4) | Yes (3) | No | Yes (4) | Untested (4) | No | No | No | No | No | No | Yes | -| ***Densha de GO! Hashirō Yamanote‑sen***
(Nintendo Switch) | Yes (3) | No | Yes (4) | Untested (4) | No | No | No | No | No | Yes | Yes | -| ***Train Simulator Real:
THE Yamanote Line***
(Sony PlayStation 2) | No | No | No | No | Yes | No | No | No | P5/B8 | No | No | -| ***Train Simulator Real:
THE Keihin Electric Express Railway***
(Sony PlayStation 2) | No | No | No | No | No | No | No | No | P5/B5 | No | No | -| ***Train Simulator: Midosuji Line***
(Sony PlayStation 2) | [Unofficial](../adapters#playstation-2-cheat-codes-for-playstation-1-controllers) (2) | No | No | No | No | No | No | No | P4/B7
(without B1) | No | No | -| ***Train Simulator + Densha de GO!
Tokyu Line***
(Sony PlayStation 2) | [Unofficial](../adapters#playstation-2-cheat-codes-for-playstation-1-controllers) (2) | No | No | No | No | No | No | No | P4/B7 | No | No | -| ***Train Simulator:
Keisei, Toei Asakusa, Keikyu Lines***
(Sony PlayStation 2) | No | No | No | No | No | No | No | No | P5/B5
P13/B7 | No | No | -| ***Train Simulator:
Kyūshū Shinkansen***
(Sony PlayStation 2) | No | No | No | No | No | Yes | No | No | P5/B7
P13/B7 | No | No | -| ***BVE Trainsim*** | [Yes](../adapters#input-plugins-for-bve-trainsimopenbve) | No | [Yes](../adapters#input-plugins-for-bve-trainsimopenbve) | [Yes](../adapters#input-plugins-for-bve-trainsimopenbve) | [Yes](../adapters#input-plugins-for-bve-trainsimopenbve) | No | [Yes](../adapters#input-plugins-for-bve-trainsimopenbve) | No | [Yes](../adapters#input-plugins-for-bve-trainsimopenbve) | [Yes](../adapters#input-plugins-for-bve-trainsimopenbve) | [Yes](../adapters#input-plugins-for-bve-trainsimopenbve) | -| ***OpenBVE*** | [Yes](../adapters#input-plugins-for-bve-trainsimopenbve) | No | [Yes](../adapters#input-plugins-for-bve-trainsimopenbve) | [Yes](../adapters#input-plugins-for-bve-trainsimopenbve) | [Yes](../adapters#input-plugins-for-bve-trainsimopenbve) | [Yes](../adapters#input-plugins-for-bve-trainsimopenbve) | [Yes](../adapters#input-plugins-for-bve-trainsimopenbve) | No | [P5/B8](../adapters#input-plugins-for-bve-trainsimopenbve) | [Yes](../adapters#input-plugins-for-bve-trainsimopenbve) | [Yes](../adapters#input-plugins-for-bve-trainsimopenbve) | +| Software | Classic
console
controller | DGOC-44 | DGC-255
DGOC-44U | DRC-184
DYC-288 | TCPP-20009
TCPP-20012 | TCPP-20011 | TCPP-20014 | TCPP-20017 | MTC | ZKNS-001 | OHC-PC01 | +|:------------------------------------------------------------------------------------------------------------------------:|:--------------------------------------:|:-------:|:--------------------------:|:--------------------------:|:--------------------------------------:|:--------------------------------------:|:--------------------------:|:----------:|:----------------------------:|:--------------------------------------:|:--------------------------:| +| ***Densha de GO!***
(Microsoft Windows) | [Unofficial](../adapters/autotraintas) | Yes | Yes (1) | No | [Unofficial](../adapters/autotraintas) | [Unofficial](../adapters/autotraintas) | No | No | No | [Unofficial](../adapters/autotraintas) | Yes | +| ***Densha de GO!***
(Sony PlayStation) | Yes | No | No | No | No | No | No | No | No | No | No | +| ***Densha de GO! EX***
(Sega Saturn) | Yes | No | No | No | No | No | No | No | No | No | No | +| ***Densha de GO! 2***
(Microsoft Windows) | [Unofficial](../adapters/autotraintas) | Yes | Yes (1) | No | [Unofficial](../adapters/autotraintas) | [Unofficial](../adapters/autotraintas) | No | No | No | [Unofficial](../adapters/autotraintas) | Yes | +| ***Densha de GO! 2***
(Sega Dreamcast) | Yes | No | No | No | No | No | No | No | No | No | No | +| ***Densha de GO! 2***
(Sony PlayStation) | Yes | No | No | No | No | No | No | No | No | No | No | +| ***Densha de GO! 64***
(Nintendo 64) | Yes | No | No | No | No | No | No | No | No | No | No | +| ***Kisha de GO!***
(Microsoft Windows) | [Unofficial](../adapters/autotraintas) | Yes | Yes (1) | No | [Unofficial](../adapters/autotraintas) | [Unofficial](../adapters/autotraintas) | No | No | No | [Unofficial](../adapters/autotraintas) | Yes | +| ***Kisha de GO!***
(Sony PlayStation) | Yes | No | No | No | No | No | No | No | No | No | No | +| ***Densha de GO! Professional***
(Microsoft Windows) | [Unofficial](../adapters/autotraintas) | Yes | Yes | No | [Unofficial](../adapters/autotraintas) | [Unofficial](../adapters/autotraintas) | No | No | No | [Unofficial](../adapters/autotraintas) | Yes | +| ***Densha de GO! Professional***
(Sony PlayStation) | Yes | No | No | No | No | No | No | No | No | No | No | +| ***Densha de GO! Nagoya Tetsudōhen***
(Microsoft Windows) | [Unofficial](../adapters/autotraintas) | Yes | Yes (1) | No | [Unofficial](../adapters/autotraintas) | [Unofficial](../adapters/autotraintas) | No | No | No | [Unofficial](../adapters/autotraintas) | Yes | +| ***Densha de GO! Nagoya Tetsudōhen***
(Sony PlayStation) | Yes | No | No | No | No | No | No | No | P5/B8 | No | No | +| ***Densha de GO! 3***
(Microsoft Windows) | [Unofficial](../adapters/autotraintas) | Yes | Yes | No | [Unofficial](../adapters/autotraintas) | [Unofficial](../adapters/autotraintas) | No | No | No | [Unofficial](../adapters/autotraintas) | Yes | +| ***Densha de GO! 3***
(Sony PlayStation 2) | Yes (2) | No | No | No | Yes | No | No | No | P5/B8 | No | No | +| ***Densha de GO! Shinkansen***
(Microsoft Windows) | [Unofficial](../adapters/autotraintas) | Yes | Yes | No | [Unofficial](../adapters/autotraintas) | [Unofficial](../adapters/autotraintas) | No | No | No | [Unofficial](../adapters/autotraintas) | Yes | +| ***Densha de GO! Shinkansen***
(Sony PlayStation 2) | Yes (2) | No | No | No | Yes | Yes | No | No | P5/B8 | No | No | +| ***Densha de GO! Shinkansen***
(Nintendo Wii) | No | No | No | No | No | No | No | Yes | No | No | No | +| ***Densha de GO! Ryojōhen***
(Microsoft Windows) | [Unofficial](../adapters/autotraintas) | No | Yes | Yes | [Unofficial](../adapters/autotraintas) | [Unofficial](../adapters/autotraintas) | No | No | No | [Unofficial](../adapters/autotraintas) | Yes | +| ***Densha de GO! Ryojōhen***
(Sony PlayStation 2) | [Unofficial](../adapters/cheats) (2) | No | No | No | Yes | Yes | Yes | No | P5/B8 | No | No | +| ***Densha de GO! Professional 2***
(Microsoft Windows) | [Unofficial](../adapters/autotraintas) | No | Yes | Yes | [Unofficial](../adapters/autotraintas) | [Unofficial](../adapters/autotraintas) | No | No | No | [Unofficial](../adapters/autotraintas) | Yes | +| ***Densha de GO! Professional 2***
(Sony PlayStation 2) | [Unofficial](../adapters/cheats) (2) | No | No | No | Yes | Yes | Yes | No | P5/B8 | No | No | +| ***Densha de GO! Final***
(Microsoft Windows) | [Unofficial](../adapters/autotraintas) | No | Yes | Yes | [Unofficial](../adapters/autotraintas) | [Unofficial](../adapters/autotraintas) | No | No | No | [Unofficial](../adapters/autotraintas) | Yes | +| ***Densha de GO! Final***
(Sony PlayStation 2) | [Unofficial](../adapters/cheats) (2) | No | No | No | Yes | Yes | Yes | No | P5/B8 | No | No | +| ***Densha de GO! Hashirō Yamanote‑sen***
(Sony PlayStation 4) | Yes (3) | No | Yes (4) | Untested (4) | No | No | No | No | No | No | Yes | +| ***Densha de GO! Hashirō Yamanote‑sen***
(Nintendo Switch) | Yes (3) | No | Yes (4) | Untested (4) | No | No | No | No | No | Yes | Yes | +| ***Train Simulator Real:
THE Yamanote Line***
(Sony PlayStation 2) | No | No | No | No | Yes | No | No | No | P5/B8 | No | No | +| ***Train Simulator Real:
THE Keihin Electric Express Railway***
(Sony PlayStation 2) | No | No | No | No | No | No | No | No | P5/B5 | No | No | +| ***Train Simulator: Midosuji Line***
(Sony PlayStation 2) | [Unofficial](../adapters/cheats) (2) | No | No | No | No | No | No | No | P4/B7
(without B1) | No | No | +| ***Train Simulator + Densha de GO!
Tokyu Line***
(Sony PlayStation 2) | [Unofficial](../adapters/cheats) (2) | No | No | No | No | No | No | No | P4/B7 | No | No | +| ***Train Simulator:
Keisei, Toei Asakusa, Keikyu Lines***
(Sony PlayStation 2) | No | No | No | No | No | No | No | No | P5/B5
P13/B7 | No | No | +| ***Train Simulator:
Kyūshū Shinkansen***
(Sony PlayStation 2) | No | No | No | No | No | Yes | No | No | P5/B7
P13/B7 | No | No | +| ***BVE Trainsim*** | [Yes](../adapters/plugins) | No | [Yes](../adapters/plugins) | [Yes](../adapters/plugins) | [Yes](../adapters/plugins) | No | [Yes](../adapters/plugins) | No | [Yes](../adapters/plugins) | [Yes](../adapters/plugins) | [Yes](../adapters/plugins) | +| ***OpenBVE*** | [Yes](../adapters/plugins) | No | [Yes](../adapters/plugins) | [Yes](../adapters/plugins) | [Yes](../adapters/plugins) | [Yes](../adapters/plugins) | [Yes](../adapters/plugins) | No | [P5/B8](../adapters/plugins) | [Yes](../adapters/plugins) | [Yes](../adapters/plugins) | 1. Only republished versions. 2. Only the classic controllers for the Sony PlayStation. diff --git a/content/controllers/_index.md b/content/controllers/_index.md index b1fc79d..8f54681 100644 --- a/content/controllers/_index.md +++ b/content/controllers/_index.md @@ -1,5 +1,10 @@ --- title: "Controllers" weight: 1 -alwaysopen: true +chapter: true --- + +# Controllers + +This section lists all the controllers compatible with software in the *Densha de GO!* series or other software. The controllers are grouped by type. You will also find technical details, if they are known. + diff --git a/content/controllers/classic/_index.md b/content/controllers/classic/_index.md index 1f42a28..8b001be 100644 --- a/content/controllers/classic/_index.md +++ b/content/controllers/classic/_index.md @@ -1,80 +1,10 @@ --- title: "Classic consoles" weight: 1 +alwaysopen: false +chapter: true --- -The information in this section applies to the following controllers: +# Classic console controllers -- **SLPH-00051:** two-handle controller (Sony PlayStation) -- **TC-5175290:** two-handle controller (Sega Saturn) -- **TCPP-20001:** single-handle controller (Sony PlayStation) -- **TCPP-20002:** gamepad controller (Sony PlayStation) -- **TCPP-20003:** two-handle controller (Nintendo 64) -- **TCPP-20004:** two-handle controller (Sega Dreamcast) -- **TCPP-20008:** two-handle controller, golden (Sony PlayStation) - -These controllers all have five physical buttons (**SELECT**, **START**, **A**, **B**, **C**) 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 [here](https://sites.google.com/site/consoleprotocols/home/nintendo-joy-bus-documentation/n64-specific/train-controller)). - -## Power handle bit usage - -The power handle uses a combination of three bits (buttons) to represent each notch. When using the TCPP-20001 controller, the equivalent of **N** is reported for power whenever a brake notch is applied. - -| Position | POWER 1 | POWER 2 | POWER 3 | -|:----------:|:-------:|:-------:|:-------:| -| N | - | X | X | -| P1 | X | - | X | -| P2 | - | - | X | -| P3 | X | X | - | -| P4 | - | X | - | -| P5 | X | - | - | -| Transition | - | - | - | - -## Brake handle bit usage - -The brake handle uses a combination of four bits (buttons) to represent each notch. When using the TCPP-20001 controller, the equivalent of **Released** is reported for brake whenever a power notch is applied. - -| Position | BRAKE 1 | BRAKE 2 | BRAKE 3 | BRAKE 4 | -|:----------:|:-------:|:-------:|:-------:|:-------:| -| Released | - | X | X | X | -| B1 | X | - | X | X | -| B2 | - | - | X | X | -| B3 | X | X | - | X | -| B4 | - | X | - | X | -| B5 | X | - | - | X | -| B6 | - | - | - | X | -| B7 | X | X | X | - | -| B8 | - | X | X | - | -| Unmarked 1 | X | - | X | - | -| Unmarked 2 | - | - | X | - | -| Unmarked 3 | X | X | - | - | -| Unmarked 4 | - | X | - | - | -| Unmarked 5 | X | - | - | - | -| Emergency | - | - | - | - | -| Transition | X | X | X | X | - -The unmarked positions can be found between **B8** and **Emergency** 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. - -## Button mapping to a standard controller - -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: - -| Densha de GO! | Nintendo 64 | Sony PlayStation 1 | Sega Dreamcast | Sega Saturn | -|:-------------:|:-----------:|:------------------:|:--------------:|:-----------:| -| SELECT | R | SELECT | D | ?? | -| START | START | START | START | START | -| A | B | SQUARE | A | A | -| B | A | CROSS | ?? | B | -| C | L | CIRCLE | C | C | -| POWER 1 | RIGHT | TRIANGLE | Z | X | -| POWER 2 | UP | LEFT | Y | Y | -| POWER 3 | Z | RIGHT | X | Z | -| BRAKE 1 | C RIGHT | L1 | UP | L | -| BRAKE 2 | C LEFT | L2 | DOWN | R | -| BRAKE 3 | C DOWN | R1 | LEFT | DOWN | -| BRAKE 4 | C UP | R2 | RIGHT | LEFT | - -This is useful when using a USB adapter to read the controller input from a PC. - -## PlayStation-specific information - -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. +This section includes controllers for consoles which use a non-USB connector and usually pose as standard controllers from their corresponding console. diff --git a/content/controllers/classic/slph00051/_index.md b/content/controllers/classic/slph00051/_index.md new file mode 100644 index 0000000..3e8c0a8 --- /dev/null +++ b/content/controllers/classic/slph00051/_index.md @@ -0,0 +1,9 @@ +--- +title: "Two handle controller (Sony PlayStation)" +--- + +{{% controller-page "slph00051" %}} + +The controller follows the same standard [internal operation](../tech) as other classic controllers. + +To allow PlayStation software to distinguish the controller from a standard controller, **UP** and **DOWN** on the D-pad are pressed permanently. This combination is impossible on an unmodified digital gamepad or Dualshock. diff --git a/content/controllers/classic/tc5175290/_index.md b/content/controllers/classic/tc5175290/_index.md new file mode 100644 index 0000000..f4a8c32 --- /dev/null +++ b/content/controllers/classic/tc5175290/_index.md @@ -0,0 +1,7 @@ +--- +title: "Two handle controller (Sega Saturn)" +--- + +{{% controller-page "tc5175290" %}} + +The controller follows the same standard [internal operation](../tech) as other classic controllers. diff --git a/content/controllers/classic/tcpp20001/_index.md b/content/controllers/classic/tcpp20001/_index.md new file mode 100644 index 0000000..f419410 --- /dev/null +++ b/content/controllers/classic/tcpp20001/_index.md @@ -0,0 +1,9 @@ +--- +title: "One handle controller (Sony PlayStation)" +--- + +{{% controller-page "tcpp20001" %}} + +The controller follows the same standard [internal operation](../tech) as other classic controllers. As the controller only has one handle, brake and power cannot be set separately. In addition, only the first and fourth unmarked positions are available. + +To allow PlayStation software to distinguish the controller from a standard controller, **UP** and **DOWN** on the D-pad are pressed permanently. This combination is impossible on an unmodified digital gamepad or Dualshock. diff --git a/content/controllers/classic/tcpp20002/_index.md b/content/controllers/classic/tcpp20002/_index.md new file mode 100644 index 0000000..9a40b7d --- /dev/null +++ b/content/controllers/classic/tcpp20002/_index.md @@ -0,0 +1,9 @@ +--- +title: "Mamecon (Sony PlayStation)" +--- + +{{% controller-page "tcpp20002" %}} + +The controller follows the same standard [internal operation](../tech) as other classic controllers. In addition, only the first and fourth unmarked positions are available. + +To allow PlayStation software to distinguish the controller from a standard controller, **UP** and **DOWN** on the D-pad are pressed permanently. This combination is impossible on an unmodified digital gamepad or Dualshock. diff --git a/content/controllers/classic/tcpp20003/_index.md b/content/controllers/classic/tcpp20003/_index.md new file mode 100644 index 0000000..f7389ea --- /dev/null +++ b/content/controllers/classic/tcpp20003/_index.md @@ -0,0 +1,7 @@ +--- +title: "Two handle controller (Nintendo 64)" +--- + +{{% controller-page "tcpp20003" %}} + +The controller follows the same standard [internal operation](../tech) as other classic controllers. diff --git a/content/controllers/classic/tcpp20004/_index.md b/content/controllers/classic/tcpp20004/_index.md new file mode 100644 index 0000000..5ad7dd3 --- /dev/null +++ b/content/controllers/classic/tcpp20004/_index.md @@ -0,0 +1,7 @@ +--- +title: "Two handle controller (Sega Dreamcast)" +--- + +{{% controller-page "tcpp20004" %}} + +The controller follows the same standard [internal operation](../tech) as other classic controllers. diff --git a/content/controllers/classic/tech.md b/content/controllers/classic/tech.md new file mode 100644 index 0000000..936ee10 --- /dev/null +++ b/content/controllers/classic/tech.md @@ -0,0 +1,67 @@ +--- +title: "Classic controllers - Technical details" +weight: 1 +hidden: true +--- + +Internally, these controllers 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 [here](https://sites.google.com/site/consoleprotocols/home/nintendo-joy-bus-documentation/n64-specific/train-controller)). + +## Power handle bit usage + +The power handle uses a combination of three bits (buttons) to represent each notch. + +| Position | POWER 1 | POWER 2 | POWER 3 | +|:----------:|:-------:|:-------:|:-------:| +| N | - | X | X | +| P1 | X | - | X | +| P2 | - | - | X | +| P3 | X | X | - | +| P4 | - | X | - | +| P5 | X | - | - | +| Transition | - | - | - | + +## Brake handle bit usage + +The brake handle uses a combination of four bits (buttons) to represent each notch. + +| Position | BRAKE 1 | BRAKE 2 | BRAKE 3 | BRAKE 4 | +|:----------:|:-------:|:-------:|:-------:|:-------:| +| Released | - | X | X | X | +| B1 | X | - | X | X | +| B2 | - | - | X | X | +| B3 | X | X | - | X | +| B4 | - | X | - | X | +| B5 | X | - | - | X | +| B6 | - | - | - | X | +| B7 | X | X | X | - | +| B8 | - | X | X | - | +| Unmarked 1 | X | - | X | - | +| Unmarked 2 | - | - | X | - | +| Unmarked 3 | X | X | - | - | +| Unmarked 4 | - | X | - | - | +| Unmarked 5 | X | - | - | - | +| Emergency | - | - | - | - | +| Transition | X | X | X | X | + +The unmarked positions can be found between **B8** and **Emergency** and produce no click when moving the handle. + +## Button mapping to a standard controller + +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: + +| Densha de GO! | Nintendo 64 | Sony PlayStation 1 | Sega Dreamcast | Sega Saturn | +|:-------------:|:-----------:|:------------------:|:--------------:|:-----------:| +| SELECT | R | SELECT | D | ?? | +| START | START | START | START | START | +| A | B | SQUARE | A | A | +| B | A | CROSS | ?? | B | +| C | L | CIRCLE | C | C | +| POWER 1 | RIGHT | TRIANGLE | Z | X | +| POWER 2 | UP | LEFT | Y | Y | +| POWER 3 | Z | RIGHT | X | Z | +| BRAKE 1 | C RIGHT | L1 | UP | L | +| BRAKE 2 | C LEFT | L2 | DOWN | R | +| BRAKE 3 | C DOWN | R1 | LEFT | DOWN | +| BRAKE 4 | C UP | R2 | RIGHT | LEFT | + +This can be used with a USB adapter to read the controller input from a PC. diff --git a/content/controllers/gameport/_index.md b/content/controllers/gameport/_index.md new file mode 100644 index 0000000..f4155d4 --- /dev/null +++ b/content/controllers/gameport/_index.md @@ -0,0 +1,10 @@ +--- +title: "Game port" +weight: 2 +alwaysopen: false +chapter: true +--- + +# Game port controllers + +This section includes controllers for Microsoft Windows which use a [game port](https://en.wikipedia.org/wiki/Game_port). diff --git a/content/controllers/gameport/dgoc44/_index.md b/content/controllers/gameport/dgoc44/_index.md new file mode 100644 index 0000000..46cb781 --- /dev/null +++ b/content/controllers/gameport/dgoc44/_index.md @@ -0,0 +1,22 @@ +--- +title: "Two handle controller, game port (PC)" +--- + +{{% controller-page "dgoc44" %}} + +This is the original controller for the Microsoft Windows releases. This controller has two handles (5 power notches and 8+emergency brake notches) and 3 buttons (A, B, C). + +The buttons and handles are mapped to game port buttons and axes, respectively, as follows: + +| Game port | Controller | +|-------------|------------| +| B1 | B | +| B2 | A | +| B3 | *Unused* | +| B4 | C | +| X1 | Brake | +| Y1 | Power | +| X2 | *Unused* | +| Y2 | *Unused* | + +The controller needs to be calibrated before it can be used. diff --git a/content/controllers/serial/_index.md b/content/controllers/serial/_index.md deleted file mode 100644 index 50eaa1c..0000000 --- a/content/controllers/serial/_index.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: "Serial port" -weight: 2 ---- - -The information in this section applies to the following controllers: - -- **DGOC-44:** two-handle controller (Microsoft Windows) - -This is the original controller for the Microsoft Windows releases. No details are available regarding internal functioning. diff --git a/content/controllers/standalone/_index.md b/content/controllers/standalone/_index.md index 827e189..7c65813 100644 --- a/content/controllers/standalone/_index.md +++ b/content/controllers/standalone/_index.md @@ -1,14 +1,10 @@ --- title: "Standalone" weight: 5 +alwaysopen: false +chapter: true --- -The information in this section applies to the following controllers: +# Standalone controllers -- **Densha de GO! Plug and Play** - -This controller is different from traditional controllers in the sense that it contains the game (an improved version of *Densha de GO! Final*) and does not connect to a PC or console. Externally, it looks similar to a TCPP-20009, except it does not include a pedal connection. Internally, it contains an ARM board running Linux. It requires a micro USB cable for power and a HDMI cable for video output. - -The micro USB port supports USB OTG with a powered adapter and is used by Taito to install software updates. - -It is possible to update the Linux kernel on the board to enable USB gadget mode and emulate traditional controllers, such as the [DGOC-44U](/models/usb/#dgoc-44u). This makes it possible to control other software. You can find more information [here](https://github.com/GMMan/dengo-plug-and-play-controller). +This section includes self-contained controllers with software included in them. Instead of connecting to a PC or console, they can be connected directly to a TV via HDMI. diff --git a/content/controllers/standalone/pnp/_index.md b/content/controllers/standalone/pnp/_index.md new file mode 100644 index 0000000..2444580 --- /dev/null +++ b/content/controllers/standalone/pnp/_index.md @@ -0,0 +1,12 @@ +--- +title: "Densha de GO! Plug and Play" +weight: 1 +--- + +{{% standalone_controller-page "pnp" %}} + +This controller is different from traditional controllers in the sense that it contains the game (an improved version of *Densha de GO! Final*) and does not connect to a PC or console. Externally, it looks similar to a TCPP-20009, except it does not include a pedal connection. Internally, it contains an ARM board running Linux. It requires a micro USB cable for power and a HDMI cable for video output. + +The micro USB port supports USB OTG with a powered adapter and is used by Taito to install software updates. + +It is possible to update the Linux kernel on the board to enable USB gadget mode and emulate traditional controllers, such as the [DGOC-44U](/controllers/usb/dgoc44u). This makes it possible to control other software. You can find more information [here](https://github.com/GMMan/dengo-plug-and-play-controller). diff --git a/content/controllers/usb/_index.md b/content/controllers/usb/_index.md index 500705f..d92cd04 100644 --- a/content/controllers/usb/_index.md +++ b/content/controllers/usb/_index.md @@ -1,302 +1,10 @@ --- title: "USB" weight: 3 +alwaysopen: false +chapter: true --- -The information in this section applies to the following controllers: +# USB controllers -- **DGC-255:** one-handle controller (Microsoft Windows) -- **DGOC-44U:** two-handle controller (Microsoft Windows) -- **DRC-184/DYC-288:** Ryojōhen controller (Microsoft Windows) -- **TCPP-20009:** two-handle controller "Type 2" (Sony PlayStation 2) -- **TCPP-20011:** Shinkansen controller (Sony PlayStation 2) -- **TCPP-20012:** two-handle controller "Type 2", purple skeleton (Sony PlayStation 2) -- **TCPP-20014:** Ryojōhen controller (Sony PlayStation 2) -- **MTC:** Multi Train Controller (Sony PlayStation 2) -- **ZKNS-001:** one-handle controller (Nintendo Switch) - -### DGC-255 - -This controller has one handle (5 power notches and 8+emergency brake notches), a D-Pad and 6 buttons (Select, Start, A, B, C, D). - -Internally, it is a HID-compliant joystick with two axes, 6 buttons and a PoV hat switch (the handle positions are reported via axes). - -Besides the PoV hat switch, it reports the same data as a DGOC-44U controller. The games check if the controller has a PoV hat switch to distinguish between a DGC-255 and a DGOC-44U. - -### DGOC-44U - -This controller has two handles (5 power notches and 8+emergency brake notches) and 6 buttons (Select, Start, A, B, C, D). - -Internally, it is a HID-compliant joystick with two axes and 6 buttons (the handle positions are reported via axes). - -| | | -|-----------------------------|-------------------------------------------| -| **Product name** | 電車でGO! コントローラ USB版 | -| **Manufacturer** | TAITO | -| **Vendor ID** | 0x0AE4 | -| **Product ID** | 0x0003 | -| **Serial number** | TCPP20009 | -| **USB standard descriptor** | Unavailable | -| **HID report descriptor** | [Link](descriptors/dgoc44u_hid-report-descriptor.txt) | - -The controller sends reports to the host (PC) formed by 6 bytes: - -| Byte 1 | Byte 2 | Byte 3 | Byte 4 | Byte 5 | Byte 6 | -|:------:|:------:|:------:|:-------:|:------:|:------:| -| Brake | Power | Null | Buttons | Null | Null | - -The values for the brake notch byte are the following. There are 5 unmarked positions between **B8** and **Emergency**, but unlike classic controllers, they are all report the value for **Emergency**. - -| Released | B1 | B2 | B3 | B4 | B5 | B6 | B7 | B8 | Emergency | Transition | -|:--------:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:---------:|:----------:| -| 0x79 | 0x8A | 0x94 | 0x9A | 0xA2 | 0xA8 | 0xAF | 0xB2 | 0xB5 | 0xB9 | 0xFF | - -The values for the power notch byte are listed below. - -| N | P1 | P2 | P3 | P4 | P5 | Transition | -|:----:|:----:|:----:|:----:|:----:|:----:|:----------:| -| 0x81 | 0x6D | 0x54 | 0x3F | 0x21 | 0x00 | 0xFF | - -The button byte uses six bits to represent the state of the physical buttons. **0** means that the button is released and **1** that it is pressed. - -| Button 1 | Button 2 | Button 3 | Button 4 | Button 5 | Button 6 | -|:--------:|:--------:|:--------:|:--------:|:--------:|:--------:| -| B | A | C | D | SELECT | START | - -### DRC-184/DYC-288 - -No details are available regarding internal functioning. - -### TCPP-20009/TCPP-20012 - -This controller has two handles (5 power notches and 8+emergency brake notches), a D-Pad and 6 buttons (Select, Start, A, B, C, D). In addition, it provides a door lamp and a 3.5 mm jack connector to plug a horn pedal. There are two rumble motors, one in each handle. - -Internally, it is a HID device with a vendor-specific class. - -| | | -|-----------------------------|-------------------------------------------| -| **Product name** | TAITO_DENSYA_CON_T01 | -| **Manufacturer** | TAITO | -| **Vendor ID** | 0x0AE4 | -| **Product ID** | 0x0004 | -| **Serial number** | TCPP20010 | -| **USB standard descriptor** | [Link](descriptors/tcpp20009_standard-descriptor.txt) | -| **HID report descriptor** | Unavailable | - -#### Input - -The controller sends reports to the host (PS2) formed by 6 bytes: - -| Byte 1 | Byte 2 | Byte 3 | Byte 4 | Byte 5 | Byte 6 | -|:------:|:------:|:------:|:------:|:------:|:-------:| -| 0x01 | Brake | Power | Pedal | D-Pad | Buttons | - -The values for the brake notch byte are the following. - -| Released | B1 | B2 | B3 | B4 | B5 | B6 | B7 | B8 | Emergency | Transition | -|:--------:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:---------:|:----------:| -| 0x79 | 0x8A | 0x94 | 0x9A | 0xA2 | 0xA8 | 0xAF | 0xB2 | 0xB5 | 0xB9 | 0xFF | - -The values for the power notch byte are listed below. - -| N | P1 | P2 | P3 | P4 | P5 | Transition | -|:----:|:----:|:----:|:----:|:----:|:----:|:----------:| -| 0x81 | 0x6D | 0x54 | 0x3F | 0x21 | 0x00 | 0xFF | - -The pedal byte has two possible values depending on the state of the pedal. - -| Released | Pressed | -|:--------:|:-------:| -| 0xFF | 0x00 | - -The D-pad byte represents the state of the arrow buttons. If two opposite directions are pressed simultaneously, the result is **Center** unless a third button is pressed. - -| N | NE | E | SE | S | SW | W | NW | None/Center | -|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:-----------:| -| 0x00 | 0x01 | 0x02 | 0x03 | 0x04 | 0x05 | 0x06 | 0x07 | 0x08 | - -The button byte uses six bits to represent the state of the physical buttons. **0** means that the button is released and **1** that it is pressed. A bitmask can be used to retrieve the buttons. - -| Button 1 | Button 2 | Button 3 | Button 4 | Button 5 | Button 6 | -|:--------:|:--------:|:--------:|:--------:|:--------:|:--------:| -| B | A | C | D | SELECT | START | - -#### Output - -The controller supports receiving data via a control transfer to turn on/off the door lamp and provide rumble. The setup packet is as follows: - -| bmRequestType | bRequest | wValue | wIndex | wLength | -|:-------------:|:--------:|:------:|:------:|:-------:| -| 0x40 | 0x09 | 0x0301 | 0x0000 | 0x0002 | - -The data sent to the controller follows the structure below. - -| Byte 1 | Byte 2 | -|:------:|:--------:| -| Status | Function | - -* **Status:** defines whether the function specified in byte 2 is **Off** (**0x00**) or **On** (**0x01**). -* **Function:** **0x01** is **Left rumble**, **0x02** is **Right rumble**, **0x03** is **Door lamp**. - -### TCPP-20011 - -This controller has two handles (13 power notches and 7+emergency brake notches), a D-Pad and 6 buttons (Select, Start, A, B, C, D). In addition, it provides a simple display, a door lamp and a 3.5 mm jack connector to plug a horn pedal. There are two rumble motors, one in each handle. - -Internally, it is a HID device with a vendor-specific class. - -| | | -|-----------------------------|-------------------------------------------| -| **Product name** | TAITO_DENSYA_CON_T02 | -| **Manufacturer** | TAITO | -| **Vendor ID** | 0x0AE4 | -| **Product ID** | 0x0005 | -| **Serial number** | TCPP20011 | -| **USB standard descriptor** | [Link](descriptors/tcpp20011_standard-descriptor.txt) | -| **HID report descriptor** | Unavailable | - -#### Input - -The controller sends reports to the host (PS2) formed by 6 bytes: - -| Byte 1 | Byte 2 | Byte 3 | Byte 4 | Byte 5 | Byte 6 | -|:------:|:------:|:------:|:------:|:-------:|:------:| -| Brake | Power | Pedal | D-Pad | Buttons | Null | - -The values for the brake notch byte are the following. - -| Released | B1 | B2 | B3 | B4 | B5 | B6 | B7 | Emergency | Transition | -|:--------:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:---------:|:----------:| -| 0x1C | 0x38 | 0x54 | 0x70 | 0x8B | 0xA7 | 0xC3 | 0xDF | 0xFB | 0xFF | - -The values for the power notch byte are listed below. - -| N | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | P12 | P13 | Transition | -|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----------:| -| 0x12 | 0x24 | 0x36 | 0x48 | 0x5A | 0x6C | 0x7E | 0x90 | 0xA2 | 0xB4 | 0xC6 | 0xD7 | 0xE9 | 0xFB | 0xFF | - -The pedal byte has two possible values depending on the state of the pedal. - -| Released | Pressed | -|:--------:|:-------:| -| 0xFF | 0x00 | - -The D-pad byte represents the state of the arrow buttons. If two opposite directions are pressed simultaneously, the result is **Center** unless a third button is pressed. - -| N | NE | E | SE | S | SW | W | NW | None/Center | -|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:-----------:| -| 0x00 | 0x01 | 0x02 | 0x03 | 0x04 | 0x05 | 0x06 | 0x07 | 0x08 | - -The button byte uses six bits to represent the state of the physical buttons. **0** means that the button is released and **1** that it is pressed. A bitmask can be used to retrieve the buttons. - -| Button 1 | Button 2 | Button 3 | Button 4 | Button 5 | Button 6 | -|:--------:|:--------:|:--------:|:--------:|:--------:|:--------:| -| D | C | B | A | SELECT | START | - -#### Output - -The controller supports receiving data via a control transfer to update the screen, turn on/off the door lamp and provide rumble. The setup packet is as follows: - -| bmRequestType | bRequest | wValue | wIndex | wLength | -|:-------------:|:--------:|:------:|:------:|:-------:| -| 0x40 | 0x09 | 0x0301 | 0x0000 | 0x0008 | - -The data sent to the controller follows the structure below. - -| Byte 1 | Byte 2 | Byte 3 | Byte 4 | Bytes 5-6 | Bytes 7-8 | -|:-----------:|:-----------:|:--------------------------:|:-----------:|:-----------:|:---------:| -| Left rumble | Right rumble| Door lamp + Limit approach | Speed gauge | Speedometer | ATC limit | - -* **Left/right rumble:** **0x00** is **Off**, **0x01** is **On**. -* **Door lamp:** **0x0?** is **Off**, **0x8?** is **On**. -* **Limit approach:** values between **0x?0** and **0x?A** representing the number of LEDs lit above the speedometer. In-game, these mark the 10 km/h right below the speed limit. -* **Speed gauge:** values between **0x00** and **0x16** representing the number of LEDs lit on the speed gauge. LED #23 cannot be lit. In-game, these mark 15 km/h increments in the current speed, with one lit when speed is 1-15 km/h, two when 16-30 km/h, etc. -* **Speedometer:** values between **0x0000** and **0x0999** representing the current speed. Values are encoded with **BCD 8421** (i.e. **120 km/h** should be represented as **0x0120**, NOT **0x0078**). -* **ATC limit:** values between **0x0000** and **0x0999** representing the ATC speed limit. Values are encoded with **BCD 8421** (i.e. **120 km/h** should be represented as **0x0120**, NOT **0x0078**). - -Multi-byte values should be stored in **Little Endian**. - -### TCPP-20014 - -This controller has two handles (4 power notches and an analogue brake handle with three areas), a D-Pad and 7 buttons (Select, Start, Horn, Announce, Camera, Left doors, Right doors). In addition, it provides a 3.5 mm jack connector to plug a horn pedal. - -Internally, it is a HID device with a vendor-specific class. - -| | | -|-----------------------------|-------------------------------------------| -| **Product name** | TAITO_DENSYA_CON_T03 | -| **Manufacturer** | TAITO | -| **Vendor ID** | 0x0AE4 | -| **Product ID** | 0x0007 | -| **Serial number** | TCPP20014 | -| **USB standard descriptor** | [Link](descriptors/tcpp20014_standard-descriptor.txt) | -| **HID report descriptor** | Unavailable | - -#### Input - -The controller sends reports to the host (PS2) formed by 8 bytes: - -| Byte 1 | Byte 2 | Byte 3 | Byte 4 | Byte 5 | Bytes 6-8 | -|:------:|:------:|:------:|:------:|:-------:|:---------:| -| Brake | Power | Pedal | D-Pad | Buttons | Unused | - -Unlike traditional controllers, the brake handle is analogue and the brake byte reflects the position of the handle precisely. There are three areas with the ranges listed below, plus the emergency notch. - -| Reduce pressure | Keep pressure | Increase pressure | Emergency | -|:---------------:|:-------------:|:-----------------:|:---------:| -| 0x23-0x64 | 0x65-0x89 | 0x8A-0xD6 | 0xD7 | - -When using the controller with **Densha de GO! Professional 2** or **Densha de GO! Final**, the brake handle is interpreted as having 6 brake notches + emergency. The aproximate byte range for each notch is listed below (taken from **Densha de GO! Professional 2**). - -| Released | B1 | B2 | B3 | B4 | B5 | B6 | Emergency | -|:---------:|:---------:|:---------:|:---------:|:---------:|:---------:|:---------:|:---------:| -| 0x23-0x2A | 0x2B-0x3C | 0x3D-0x4E | 0x4F-0x63 | 0x64-0x8A | 0x8B-0xB0 | 0xB1-0xD6 | 0xD7 | - -The values for the power notch byte are listed below. - -| N | P1 | P2 | P3 | P4 | Transition | -|:----:|:----:|:----:|:----:|:----:|:----------:| -| 0x00 | 0x3C | 0x78 | 0xB4 | 0xF0 | 0xFF | - -The pedal byte has two possible values depending on the state of the pedal. - -| Released | Pressed | -|:--------:|:-------:| -| 0xFF | 0x00 | - -The D-pad byte represents the state of the arrow buttons. If two opposite directions are pressed simultaneously, the result is **Center** unless a third button is pressed. - -| N | NE | E | SE | S | SW | W | NW | None/Center | -|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:-----------:| -| 0x00 | 0x01 | 0x02 | 0x03 | 0x04 | 0x05 | 0x06 | 0x07 | 0x08 | - -The button byte uses seven bits to represent the state of the physical buttons. **0** means that the button is released and **1** that it is pressed. A bitmask can be used to retrieve the buttons. - -| Button 1 | Button 2 | Button 3 | Button 4 | Button 5 | Button 6 | Button 7 | -|:--------:|:--------:|:--------:|:-----------:|:----------:|:--------:|:--------:| -| Horn | Announce | Camera | Right doors | Left doors | SELECT | START | - -### MTC - -No details are available regarding internal functioning. - -### ZKNS-001 - -This controller has one handle (5 power notches and 8+emergency brake notches) and 16 buttons (the same as a Nintendo Switch Pro Controller, except the stick buttons). - -Internally, it is a HID-compliant joystick mimicking a Nintendo Switch Pro Controller. The stick buttons and the right stick are unused, and only the Y axis of the left stick is used. - -| | | -|-----------------------------|-------------------------------------------| -| **Product name** | One Handle MasCon for Nintendo Switch | -| **Manufacturer** | *None* | -| **Vendor ID** | 0x0F0D | -| **Product ID** | 0x00C1 | -| **Serial number** | *None* | -| **USB standard descriptor** | [Link](descriptors/zkns001_standard-descriptor.txt) | -| **HID report descriptor** | [Link](descriptors/zkns001_hid-report-descriptor.txt) | - -The power/brake handle notches are reported in the Y axis of the left stick. There are no transition values between notches. In addition, when the handle is set to **Emergency**, **ZL** is pressed. - -| Emergency | B8 | B7 | B6 | B5 | B4 | B3 | B2 | B1 | N | P1 | P2 | P3 | P4 | P5 | -|:---------:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:| -| 0x00 | 0x05 | 0x13 | 0x20 | 0x2E | 0x3C | 0x49 | 0x57 | 0x65 | 0x80 | 0x9F | 0xB7 | 0xCE | 0xE6 | 0xFF | +This section includes controllers for Microsoft Windows and consoles which use a USB-A connector. diff --git a/content/controllers/usb/cotm02001/_index.md b/content/controllers/usb/cotm02001/_index.md new file mode 100644 index 0000000..0f24e7b --- /dev/null +++ b/content/controllers/usb/cotm02001/_index.md @@ -0,0 +1,7 @@ +--- +title: "Train Mascon (Sony PlayStation 2)" +--- + +{{% controller-page "cotm02001" %}} + +No details are available regarding internal functioning. diff --git a/content/controllers/usb/dgc255/_index.md b/content/controllers/usb/dgc255/_index.md new file mode 100644 index 0000000..cc228fe --- /dev/null +++ b/content/controllers/usb/dgc255/_index.md @@ -0,0 +1,11 @@ +--- +title: "One handle controller (PC)" +--- + +{{% controller-page "dgc255" %}} + +This controller has one handle (5 power notches and 8+emergency brake notches), a D-Pad and 6 buttons (Select, Start, A, B, C, D). + +Internally, it is a HID-compliant joystick with two axes, 6 buttons and a PoV hat switch (the handle positions are reported via axes). + +Besides the PoV hat switch, it reports the same data as a DGOC-44U controller. The games check if the controller has a PoV hat switch to distinguish between a DGC-255 and a DGOC-44U. diff --git a/content/controllers/usb/dgoc44u/_index.md b/content/controllers/usb/dgoc44u/_index.md new file mode 100644 index 0000000..8e73ed3 --- /dev/null +++ b/content/controllers/usb/dgoc44u/_index.md @@ -0,0 +1,43 @@ +--- +title: "Two handle controller (PC)" +--- + +{{% controller-page "dgoc44u" %}} + +This controller has two handles (5 power notches and 8+emergency brake notches) and 6 buttons (Select, Start, A, B, C, D). + +Internally, it is a HID-compliant joystick with two axes and 6 buttons (the handle positions are reported via axes). + +| | | +|-----------------------------|-------------------------------------------| +| **Product name** | 電車でGO! コントローラ USB版 | +| **Manufacturer** | TAITO | +| **Vendor ID** | 0x0AE4 | +| **Product ID** | 0x0003 | +| **Serial number** | TCPP20009 | +| **USB standard descriptor** | Unavailable | +| **HID report descriptor** | [Link](/controllers/usb/descriptors/dgoc44u_hid-report-descriptor.txt) | + +The controller sends reports to the host (PC) formed by 6 bytes: + +| Byte 1 | Byte 2 | Byte 3 | Byte 4 | Byte 5 | Byte 6 | +|:------:|:------:|:------:|:-------:|:------:|:------:| +| Brake | Power | Null | Buttons | Null | Null | + +The values for the brake notch byte are the following. There are 5 unmarked positions between **B8** and **Emergency**, but unlike classic controllers, they are all report the value for **Emergency**. + +| Released | B1 | B2 | B3 | B4 | B5 | B6 | B7 | B8 | Emergency | Transition | +|:--------:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:---------:|:----------:| +| 0x79 | 0x8A | 0x94 | 0x9A | 0xA2 | 0xA8 | 0xAF | 0xB2 | 0xB5 | 0xB9 | 0xFF | + +The values for the power notch byte are listed below. + +| N | P1 | P2 | P3 | P4 | P5 | Transition | +|:----:|:----:|:----:|:----:|:----:|:----:|:----------:| +| 0x81 | 0x6D | 0x54 | 0x3F | 0x21 | 0x00 | 0xFF | + +The button byte uses six bits to represent the state of the physical buttons. **0** means that the button is released and **1** that it is pressed. + +| Button 1 | Button 2 | Button 3 | Button 4 | Button 5 | Button 6 | +|:--------:|:--------:|:--------:|:--------:|:--------:|:--------:| +| B | A | C | D | SELECT | START | diff --git a/content/controllers/usb/dyc288/_index.md b/content/controllers/usb/dyc288/_index.md new file mode 100644 index 0000000..ed22ed0 --- /dev/null +++ b/content/controllers/usb/dyc288/_index.md @@ -0,0 +1,7 @@ +--- +title: "Ryojōhen controller (PC)" +--- + +{{% controller-page "dyc288" %}} + +No details are available regarding internal functioning. diff --git a/content/controllers/usb/ohcpc01/_index.md b/content/controllers/usb/ohcpc01/_index.md new file mode 100644 index 0000000..6fd98bf --- /dev/null +++ b/content/controllers/usb/ohcpc01/_index.md @@ -0,0 +1,7 @@ +--- +title: "Sangying one handle controller (PC)" +--- + +{{% controller-page "ohcpc01" %}} + +No details are available regarding internal functioning. diff --git a/content/controllers/usb/sotp031201/_index.md b/content/controllers/usb/sotp031201/_index.md new file mode 100644 index 0000000..ac1621a --- /dev/null +++ b/content/controllers/usb/sotp031201/_index.md @@ -0,0 +1,7 @@ +--- +title: "Multi Train Controller (Sony PlayStation 2)" +--- + +{{% controller-page "sotp031201" %}} + +No details are available regarding internal functioning. diff --git a/content/controllers/usb/tcpp20009/_index.md b/content/controllers/usb/tcpp20009/_index.md new file mode 100644 index 0000000..3bab26b --- /dev/null +++ b/content/controllers/usb/tcpp20009/_index.md @@ -0,0 +1,74 @@ +--- +title: 'Two handle controller "Type 2" (Sony PlayStation 2)' +--- + +{{% controller-page "tcpp20009" %}} + +This controller has two handles (5 power notches and 8+emergency brake notches), a D-Pad and 6 buttons (Select, Start, A, B, C, D). In addition, it provides a door lamp and a 3.5 mm jack connector to plug a horn pedal. There are two rumble motors, one in each handle. + +Internally, it is a HID device with a vendor-specific class. + +| | | +|-----------------------------|-------------------------------------------| +| **Product name** | TAITO_DENSYA_CON_T01 | +| **Manufacturer** | TAITO | +| **Vendor ID** | 0x0AE4 | +| **Product ID** | 0x0004 | +| **Serial number** | TCPP20010 | +| **USB standard descriptor** | [Link](/controllers/usb/descriptors/tcpp20009_standard-descriptor.txt) | +| **HID report descriptor** | Unavailable | + +### Input + +The controller sends reports to the host (PS2) formed by 6 bytes: + +| Byte 1 | Byte 2 | Byte 3 | Byte 4 | Byte 5 | Byte 6 | +|:------:|:------:|:------:|:------:|:------:|:-------:| +| 0x01 | Brake | Power | Pedal | D-Pad | Buttons | + +The values for the brake notch byte are the following. + +| Released | B1 | B2 | B3 | B4 | B5 | B6 | B7 | B8 | Emergency | Transition | +|:--------:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:---------:|:----------:| +| 0x79 | 0x8A | 0x94 | 0x9A | 0xA2 | 0xA8 | 0xAF | 0xB2 | 0xB5 | 0xB9 | 0xFF | + +The values for the power notch byte are listed below. + +| N | P1 | P2 | P3 | P4 | P5 | Transition | +|:----:|:----:|:----:|:----:|:----:|:----:|:----------:| +| 0x81 | 0x6D | 0x54 | 0x3F | 0x21 | 0x00 | 0xFF | + +The pedal byte has two possible values depending on the state of the pedal. + +| Released | Pressed | +|:--------:|:-------:| +| 0xFF | 0x00 | + +The D-pad byte represents the state of the arrow buttons. If two opposite directions are pressed simultaneously, the result is **Center** unless a third button is pressed. + +| N | NE | E | SE | S | SW | W | NW | None/Center | +|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:-----------:| +| 0x00 | 0x01 | 0x02 | 0x03 | 0x04 | 0x05 | 0x06 | 0x07 | 0x08 | + +The button byte uses six bits to represent the state of the physical buttons. **0** means that the button is released and **1** that it is pressed. A bitmask can be used to retrieve the buttons. + +| Button 1 | Button 2 | Button 3 | Button 4 | Button 5 | Button 6 | +|:--------:|:--------:|:--------:|:--------:|:--------:|:--------:| +| B | A | C | D | SELECT | START | + +### Output + +The controller supports receiving data via a control transfer to turn on/off the door lamp and provide rumble. The setup packet is as follows: + +| bmRequestType | bRequest | wValue | wIndex | wLength | +|:-------------:|:--------:|:------:|:------:|:-------:| +| 0x40 | 0x09 | 0x0301 | 0x0000 | 0x0002 | + +The data sent to the controller follows the structure below. + +| Byte 1 | Byte 2 | +|:------:|:--------:| +| Status | Function | + +* **Status:** defines whether the function specified in byte 2 is **Off** (**0x00**) or **On** (**0x01**). +* **Function:** **0x01** is **Left rumble**, **0x02** is **Right rumble**, **0x03** is **Door lamp**. diff --git a/content/controllers/usb/tcpp20011/_index.md b/content/controllers/usb/tcpp20011/_index.md new file mode 100644 index 0000000..c33c7dc --- /dev/null +++ b/content/controllers/usb/tcpp20011/_index.md @@ -0,0 +1,80 @@ +--- +title: "Shinkansen controller (Sony PlayStation 2)" +--- + +{{% controller-page "tcpp20011" %}} + +This controller has two handles (13 power notches and 7+emergency brake notches), a D-Pad and 6 buttons (Select, Start, A, B, C, D). In addition, it provides a simple display, a door lamp and a 3.5 mm jack connector to plug a horn pedal. There are two rumble motors, one in each handle. + +Internally, it is a HID device with a vendor-specific class. + +| | | +|-----------------------------|-------------------------------------------| +| **Product name** | TAITO_DENSYA_CON_T02 | +| **Manufacturer** | TAITO | +| **Vendor ID** | 0x0AE4 | +| **Product ID** | 0x0005 | +| **Serial number** | TCPP20011 | +| **USB standard descriptor** | [Link](/controllers/usb/descriptors/tcpp20011_standard-descriptor.txt) | +| **HID report descriptor** | Unavailable | + +### Input + +The controller sends reports to the host (PS2) formed by 6 bytes: + +| Byte 1 | Byte 2 | Byte 3 | Byte 4 | Byte 5 | Byte 6 | +|:------:|:------:|:------:|:------:|:-------:|:------:| +| Brake | Power | Pedal | D-Pad | Buttons | Null | + +The values for the brake notch byte are the following. + +| Released | B1 | B2 | B3 | B4 | B5 | B6 | B7 | Emergency | Transition | +|:--------:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:---------:|:----------:| +| 0x1C | 0x38 | 0x54 | 0x70 | 0x8B | 0xA7 | 0xC3 | 0xDF | 0xFB | 0xFF | + +The values for the power notch byte are listed below. + +| N | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | P12 | P13 | Transition | +|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----------:| +| 0x12 | 0x24 | 0x36 | 0x48 | 0x5A | 0x6C | 0x7E | 0x90 | 0xA2 | 0xB4 | 0xC6 | 0xD7 | 0xE9 | 0xFB | 0xFF | + +The pedal byte has two possible values depending on the state of the pedal. + +| Released | Pressed | +|:--------:|:-------:| +| 0xFF | 0x00 | + +The D-pad byte represents the state of the arrow buttons. If two opposite directions are pressed simultaneously, the result is **Center** unless a third button is pressed. + +| N | NE | E | SE | S | SW | W | NW | None/Center | +|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:-----------:| +| 0x00 | 0x01 | 0x02 | 0x03 | 0x04 | 0x05 | 0x06 | 0x07 | 0x08 | + +The button byte uses six bits to represent the state of the physical buttons. **0** means that the button is released and **1** that it is pressed. A bitmask can be used to retrieve the buttons. + +| Button 1 | Button 2 | Button 3 | Button 4 | Button 5 | Button 6 | +|:--------:|:--------:|:--------:|:--------:|:--------:|:--------:| +| D | C | B | A | SELECT | START | + +### Output + +The controller supports receiving data via a control transfer to update the screen, turn on/off the door lamp and provide rumble. The setup packet is as follows: + +| bmRequestType | bRequest | wValue | wIndex | wLength | +|:-------------:|:--------:|:------:|:------:|:-------:| +| 0x40 | 0x09 | 0x0301 | 0x0000 | 0x0008 | + +The data sent to the controller follows the structure below. + +| Byte 1 | Byte 2 | Byte 3 | Byte 4 | Bytes 5-6 | Bytes 7-8 | +|:-----------:|:-----------:|:--------------------------:|:-----------:|:-----------:|:---------:| +| Left rumble | Right rumble| Door lamp + Limit approach | Speed gauge | Speedometer | ATC limit | + +* **Left/right rumble:** **0x00** is **Off**, **0x01** is **On**. +* **Door lamp:** **0x0?** is **Off**, **0x8?** is **On**. +* **Limit approach:** values between **0x?0** and **0x?A** representing the number of LEDs lit above the speedometer. In-game, these mark the 10 km/h right below the speed limit. +* **Speed gauge:** values between **0x00** and **0x16** representing the number of LEDs lit on the speed gauge. LED #23 cannot be lit. In-game, these mark 15 km/h increments in the current speed, with one lit when speed is 1-15 km/h, two when 16-30 km/h, etc. +* **Speedometer:** values between **0x0000** and **0x0999** representing the current speed. Values are encoded with **BCD 8421** (i.e. **120 km/h** should be represented as **0x0120**, NOT **0x0078**). +* **ATC limit:** values between **0x0000** and **0x0999** representing the ATC speed limit. Values are encoded with **BCD 8421** (i.e. **120 km/h** should be represented as **0x0120**, NOT **0x0078**). + +Multi-byte values should be stored in **Little Endian**. diff --git a/content/controllers/usb/tcpp20014/_index.md b/content/controllers/usb/tcpp20014/_index.md new file mode 100644 index 0000000..3fcfc75 --- /dev/null +++ b/content/controllers/usb/tcpp20014/_index.md @@ -0,0 +1,63 @@ +--- +title: "Ryojōhen controller (Sony PlayStation 2)" +--- + +{{% controller-page "tcpp20014" %}} + +This controller has two handles (4 power notches and an analogue brake handle with three areas), a D-Pad and 7 buttons (Select, Start, Horn, Announce, Camera, Left doors, Right doors). In addition, it provides a 3.5 mm jack connector to plug a horn pedal. + +Internally, it is a HID device with a vendor-specific class. + +| | | +|-----------------------------|-------------------------------------------| +| **Product name** | TAITO_DENSYA_CON_T03 | +| **Manufacturer** | TAITO | +| **Vendor ID** | 0x0AE4 | +| **Product ID** | 0x0007 | +| **Serial number** | TCPP20014 | +| **USB standard descriptor** | [Link](/controllers/usb/descriptors/tcpp20014_standard-descriptor.txt) | +| **HID report descriptor** | Unavailable | + +### Input + +The controller sends reports to the host (PS2) formed by 8 bytes: + +| Byte 1 | Byte 2 | Byte 3 | Byte 4 | Byte 5 | Bytes 6-8 | +|:------:|:------:|:------:|:------:|:-------:|:---------:| +| Brake | Power | Pedal | D-Pad | Buttons | Unused | + +Unlike traditional controllers, the brake handle is analogue and the brake byte reflects the position of the handle precisely. There are three areas with the ranges listed below, plus the emergency notch. + +| Reduce pressure | Keep pressure | Increase pressure | Emergency | +|:---------------:|:-------------:|:-----------------:|:---------:| +| 0x23-0x64 | 0x65-0x89 | 0x8A-0xD6 | 0xD7 | + +When using the controller with **Densha de GO! Professional 2** or **Densha de GO! Final**, the brake handle is interpreted as having 6 brake notches + emergency. The aproximate byte range for each notch is listed below (taken from **Densha de GO! Professional 2**). + +| Released | B1 | B2 | B3 | B4 | B5 | B6 | Emergency | +|:---------:|:---------:|:---------:|:---------:|:---------:|:---------:|:---------:|:---------:| +| 0x23-0x2A | 0x2B-0x3C | 0x3D-0x4E | 0x4F-0x63 | 0x64-0x8A | 0x8B-0xB0 | 0xB1-0xD6 | 0xD7 | + +The values for the power notch byte are listed below. + +| N | P1 | P2 | P3 | P4 | Transition | +|:----:|:----:|:----:|:----:|:----:|:----------:| +| 0x00 | 0x3C | 0x78 | 0xB4 | 0xF0 | 0xFF | + +The pedal byte has two possible values depending on the state of the pedal. + +| Released | Pressed | +|:--------:|:-------:| +| 0xFF | 0x00 | + +The D-pad byte represents the state of the arrow buttons. If two opposite directions are pressed simultaneously, the result is **Center** unless a third button is pressed. + +| N | NE | E | SE | S | SW | W | NW | None/Center | +|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:-----------:| +| 0x00 | 0x01 | 0x02 | 0x03 | 0x04 | 0x05 | 0x06 | 0x07 | 0x08 | + +The button byte uses seven bits to represent the state of the physical buttons. **0** means that the button is released and **1** that it is pressed. A bitmask can be used to retrieve the buttons. + +| Button 1 | Button 2 | Button 3 | Button 4 | Button 5 | Button 6 | Button 7 | +|:--------:|:--------:|:--------:|:-----------:|:----------:|:--------:|:--------:| +| Horn | Announce | Camera | Right doors | Left doors | SELECT | START | diff --git a/content/controllers/usb/zkns001/_index.md b/content/controllers/usb/zkns001/_index.md new file mode 100644 index 0000000..5630f68 --- /dev/null +++ b/content/controllers/usb/zkns001/_index.md @@ -0,0 +1,23 @@ +--- +title: "One handle controller (Nintendo Switch)" +--- + +{{% controller-page "zkns001" %}} + +This controller has one handle (5 power notches and 8+emergency brake notches) and 16 buttons (the same as a Nintendo Switch Pro Controller, except the stick buttons). Internally, it is a HID-compliant joystick mimicking a Nintendo Switch Pro Controller. The stick buttons and the right stick are unused, and only the Y axis of the left stick is used. + +| | | +|-----------------------------|-------------------------------------------| +| **Product name** | One Handle MasCon for Nintendo Switch | +| **Manufacturer** | *None* | +| **Vendor ID** | 0x0F0D | +| **Product ID** | 0x00C1 | +| **Serial number** | *None* | +| **USB standard descriptor** | [Link](/controllers/usb/descriptors/zkns001_standard-descriptor.txt) | +| **HID report descriptor** | [Link](/controllers/usb/descriptors/zkns001_hid-report-descriptor.txt) | + +The power/brake handle notches are reported in the Y axis of the left stick. There are no transition values between notches. In addition, when the handle is set to **Emergency**, **ZL** is pressed. + +| Emergency | B8 | B7 | B6 | B5 | B4 | B3 | B2 | B1 | N | P1 | P2 | P3 | P4 | P5 | +|:---------:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:| +| 0x00 | 0x05 | 0x13 | 0x20 | 0x2E | 0x3C | 0x49 | 0x57 | 0x65 | 0x80 | 0x9F | 0xB7 | 0xCE | 0xE6 | 0xFF | diff --git a/content/controllers/wii/_index.md b/content/controllers/wii/_index.md index e5d1246..ab4c8bd 100644 --- a/content/controllers/wii/_index.md +++ b/content/controllers/wii/_index.md @@ -1,10 +1,10 @@ --- title: "Nintendo Wii" weight: 4 +alwaysopen: false +chapter: true --- -The information in this section applies to the following controllers: +# Wii controllers -- **TCPP-20017:** Shinkansen controller - -This controller is similar externally to the PlayStation 2 version of the Shinkansen controller. However, the screen has been replaced by a sticker and there is no pedal, so the only functioning parts are the handles, the buttons and the door lamp. In addition, instead of USB, it connects to a Wiimote using its extension port, like other accessories made for the console. No details are available regarding internal functioning. +This section includes controllers for the Nintendo Wii which use a Wii expansion cable and connect to a [Wiimote's extension port](https://wiibrew.org/wiki/Wiimote/Extension_Controllers). diff --git a/content/controllers/wii/tcpp20017/_index.md b/content/controllers/wii/tcpp20017/_index.md new file mode 100644 index 0000000..dd12203 --- /dev/null +++ b/content/controllers/wii/tcpp20017/_index.md @@ -0,0 +1,8 @@ +--- +title: "Shinkansen controller" +weight: 1 +--- + +{{% controller-page "tcpp20017" %}} + +This controller is similar externally to the PlayStation 2 version of the Shinkansen controller. However, the screen has been replaced by a sticker and there is no pedal, so the only functioning parts are the handles, the buttons and the door lamp. In addition, instead of USB, it connects to a Wiimote using its extension port, like other accessories made for the console. No details are available regarding internal functioning. diff --git a/content/references/_index.md b/content/references/_index.md index f1ffa18..f27b973 100644 --- a/content/references/_index.md +++ b/content/references/_index.md @@ -1,6 +1,7 @@ --- title: "References" -weight: 10 +_build: + list: never --- - General information: diff --git a/content/software/_index.md b/content/software/_index.md new file mode 100644 index 0000000..96a3cb9 --- /dev/null +++ b/content/software/_index.md @@ -0,0 +1,9 @@ +--- +title: "Main series software" +weight: 2 +chapter: true +--- + +# Main series software + +This section lists software from the main *Densha de GO!* series compatible with dedicated controllers. Software is grouped by platform and sorted by release date. diff --git a/content/software/dc/_index.md b/content/software/dc/_index.md new file mode 100644 index 0000000..ea54c68 --- /dev/null +++ b/content/software/dc/_index.md @@ -0,0 +1,6 @@ +--- +title: "Sega Dreamcast" +alwaysopen: false +--- + +{{% select-software %}} diff --git a/content/software/dc/densha2/_index.md b/content/software/dc/densha2/_index.md new file mode 100644 index 0000000..9cd1a71 --- /dev/null +++ b/content/software/dc/densha2/_index.md @@ -0,0 +1,6 @@ +--- +title: "Densha de GO! 2 Kōsoku-hen 3000 Bandai" +weight: 1 +--- + +{{% software-page "dc_densha2" %}} diff --git a/content/software/n64/_index.md b/content/software/n64/_index.md new file mode 100644 index 0000000..d2b717b --- /dev/null +++ b/content/software/n64/_index.md @@ -0,0 +1,6 @@ +--- +title: "Nintendo 64" +alwaysopen: false +--- + +{{% select-software %}} diff --git a/content/software/n64/densha2/_index.md b/content/software/n64/densha2/_index.md new file mode 100644 index 0000000..7f02dcc --- /dev/null +++ b/content/software/n64/densha2/_index.md @@ -0,0 +1,6 @@ +--- +title: "Densha de GO! 64" +weight: 1 +--- + +{{% software-page "n64_densha2" %}} diff --git a/content/software/pc/_index.md b/content/software/pc/_index.md new file mode 100644 index 0000000..8920703 --- /dev/null +++ b/content/software/pc/_index.md @@ -0,0 +1,6 @@ +--- +title: "PC" +alwaysopen: false +--- + +{{% select-software %}} diff --git a/content/software/pc/densha/_index.md b/content/software/pc/densha/_index.md new file mode 100644 index 0000000..fac5769 --- /dev/null +++ b/content/software/pc/densha/_index.md @@ -0,0 +1,6 @@ +--- +title: "Densha de GO!" +weight: 1 +--- + +{{% software-page "pc_densha" %}} diff --git a/content/software/pc/densha2/_index.md b/content/software/pc/densha2/_index.md new file mode 100644 index 0000000..d8319fe --- /dev/null +++ b/content/software/pc/densha2/_index.md @@ -0,0 +1,6 @@ +--- +title: "Densha de GO! 2" +weight: 2 +--- + +{{% software-page "pc_densha2" %}} diff --git a/content/software/pc/densha3/_index.md b/content/software/pc/densha3/_index.md new file mode 100644 index 0000000..6e3f743 --- /dev/null +++ b/content/software/pc/densha3/_index.md @@ -0,0 +1,6 @@ +--- +title: "Densha de GO! 3 Tsūkin-hen" +weight: 6 +--- + +{{% software-page "pc_densha3" %}} diff --git a/content/software/pc/final/_index.md b/content/software/pc/final/_index.md new file mode 100644 index 0000000..9236558 --- /dev/null +++ b/content/software/pc/final/_index.md @@ -0,0 +1,6 @@ +--- +title: "Densha de GO! Final" +weight: 10 +--- + +{{% software-page "pc_final" %}} diff --git a/content/software/pc/kisha/_index.md b/content/software/pc/kisha/_index.md new file mode 100644 index 0000000..10427dc --- /dev/null +++ b/content/software/pc/kisha/_index.md @@ -0,0 +1,6 @@ +--- +title: "Kisha de GO!" +weight: 5 +--- + +{{% software-page "pc_kisha" %}} diff --git a/content/software/pc/nagoya/_index.md b/content/software/pc/nagoya/_index.md new file mode 100644 index 0000000..8c0f7db --- /dev/null +++ b/content/software/pc/nagoya/_index.md @@ -0,0 +1,6 @@ +--- +title: "Densha de GO! Nagoya Tetsudōhen" +weight: 4 +--- + +{{% software-page "pc_nagoya" %}} diff --git a/content/software/pc/pro/_index.md b/content/software/pc/pro/_index.md new file mode 100644 index 0000000..1879563 --- /dev/null +++ b/content/software/pc/pro/_index.md @@ -0,0 +1,6 @@ +--- +title: "Densha de GO! Professional" +weight: 3 +--- + +{{% software-page "pc_pro" %}} diff --git a/content/software/pc/pro2/_index.md b/content/software/pc/pro2/_index.md new file mode 100644 index 0000000..6bfccc7 --- /dev/null +++ b/content/software/pc/pro2/_index.md @@ -0,0 +1,6 @@ +--- +title: "Densha de GO! Professional 2" +weight: 9 +--- + +{{% software-page "pc_pro2" %}} diff --git a/content/software/pc/ryojouhen/_index.md b/content/software/pc/ryojouhen/_index.md new file mode 100644 index 0000000..9a070ed --- /dev/null +++ b/content/software/pc/ryojouhen/_index.md @@ -0,0 +1,6 @@ +--- +title: "Densha de GO! Ryojōhen" +weight: 8 +--- + +{{% software-page "pc_ryojouhen" %}} diff --git a/content/software/pc/shinkansen/_index.md b/content/software/pc/shinkansen/_index.md new file mode 100644 index 0000000..8360b53 --- /dev/null +++ b/content/software/pc/shinkansen/_index.md @@ -0,0 +1,6 @@ +--- +title: "Densha de GO! Shinkansen San'yō Shinkansen-hen" +weight: 7 +--- + +{{% software-page "pc_shinkansen" %}} diff --git a/content/software/ps1/_index.md b/content/software/ps1/_index.md new file mode 100644 index 0000000..68032da --- /dev/null +++ b/content/software/ps1/_index.md @@ -0,0 +1,6 @@ +--- +title: "Sony PlayStation" +alwaysopen: false +--- + +{{% select-software %}} diff --git a/content/software/ps1/densha/_index.md b/content/software/ps1/densha/_index.md new file mode 100644 index 0000000..cfe51b4 --- /dev/null +++ b/content/software/ps1/densha/_index.md @@ -0,0 +1,6 @@ +--- +title: "Densha de GO!" +weight: 1 +--- + +{{% software-page "ps1_densha" %}} diff --git a/content/software/ps1/densha2/_index.md b/content/software/ps1/densha2/_index.md new file mode 100644 index 0000000..7bc658f --- /dev/null +++ b/content/software/ps1/densha2/_index.md @@ -0,0 +1,6 @@ +--- +title: "Densha de GO! 2" +weight: 2 +--- + +{{% software-page "ps1_densha2" %}} diff --git a/content/software/ps1/kisha/_index.md b/content/software/ps1/kisha/_index.md new file mode 100644 index 0000000..8a47070 --- /dev/null +++ b/content/software/ps1/kisha/_index.md @@ -0,0 +1,6 @@ +--- +title: "Kisha de GO!" +weight: 5 +--- + +{{% software-page "ps1_kisha" %}} diff --git a/content/software/ps1/nagoya/_index.md b/content/software/ps1/nagoya/_index.md new file mode 100644 index 0000000..03cc76e --- /dev/null +++ b/content/software/ps1/nagoya/_index.md @@ -0,0 +1,6 @@ +--- +title: "Densha de GO! Nagoya Tetsudōhen" +weight: 4 +--- + +{{% software-page "ps1_nagoya" %}} diff --git a/content/software/ps1/pro/_index.md b/content/software/ps1/pro/_index.md new file mode 100644 index 0000000..3fb3f7c --- /dev/null +++ b/content/software/ps1/pro/_index.md @@ -0,0 +1,6 @@ +--- +title: "Densha de GO! Professional" +weight: 3 +--- + +{{% software-page "ps1_pro" %}} diff --git a/content/software/ps2/_index.md b/content/software/ps2/_index.md new file mode 100644 index 0000000..16ed7cb --- /dev/null +++ b/content/software/ps2/_index.md @@ -0,0 +1,6 @@ +--- +title: "Sony PlayStation 2" +alwaysopen: false +--- + +{{% select-software %}} diff --git a/content/software/ps2/densha3/_index.md b/content/software/ps2/densha3/_index.md new file mode 100644 index 0000000..ad77514 --- /dev/null +++ b/content/software/ps2/densha3/_index.md @@ -0,0 +1,6 @@ +--- +title: "Densha de GO! 3 Tsūkin-hen" +weight: 1 +--- + +{{% software-page "ps2_densha3" %}} diff --git a/content/software/ps2/final/_index.md b/content/software/ps2/final/_index.md new file mode 100644 index 0000000..bdfca45 --- /dev/null +++ b/content/software/ps2/final/_index.md @@ -0,0 +1,6 @@ +--- +title: "Densha de GO! Final" +weight: 5 +--- + +{{% software-page "ps2_final" %}} diff --git a/content/software/ps2/pro2/_index.md b/content/software/ps2/pro2/_index.md new file mode 100644 index 0000000..5d858f6 --- /dev/null +++ b/content/software/ps2/pro2/_index.md @@ -0,0 +1,6 @@ +--- +title: "Densha de GO! Professional 2" +weight: 4 +--- + +{{% software-page "ps2_pro2" %}} diff --git a/content/software/ps2/ryojouhen/_index.md b/content/software/ps2/ryojouhen/_index.md new file mode 100644 index 0000000..ff7213c --- /dev/null +++ b/content/software/ps2/ryojouhen/_index.md @@ -0,0 +1,6 @@ +--- +title: "Densha de GO! Ryojōhen" +weight: 3 +--- + +{{% software-page "ps2_ryojouhen" %}} diff --git a/content/software/ps2/shinkansen/_index.md b/content/software/ps2/shinkansen/_index.md new file mode 100644 index 0000000..37243ca --- /dev/null +++ b/content/software/ps2/shinkansen/_index.md @@ -0,0 +1,6 @@ +--- +title: "Densha de GO! Shinkansen San'yō Shinkansen-hen" +weight: 2 +--- + +{{% software-page "ps2_shinkansen" %}} diff --git a/content/software/ps4/_index.md b/content/software/ps4/_index.md new file mode 100644 index 0000000..e176a93 --- /dev/null +++ b/content/software/ps4/_index.md @@ -0,0 +1,6 @@ +--- +title: "Sony PlayStation 4" +alwaysopen: false +--- + +{{% select-software %}} diff --git a/content/software/ps4/yamanote/_index.md b/content/software/ps4/yamanote/_index.md new file mode 100644 index 0000000..94e565f --- /dev/null +++ b/content/software/ps4/yamanote/_index.md @@ -0,0 +1,6 @@ +--- +title: "Densha de GO! Hashirō Yamanote‑sen" +weight: 1 +--- + +{{% software-page "ps4_yamanote" %}} diff --git a/content/software/ss/_index.md b/content/software/ss/_index.md new file mode 100644 index 0000000..f2949e6 --- /dev/null +++ b/content/software/ss/_index.md @@ -0,0 +1,6 @@ +--- +title: "Sega Saturn" +alwaysopen: false +--- + +{{% select-software %}} diff --git a/content/software/ss/densha/_index.md b/content/software/ss/densha/_index.md new file mode 100644 index 0000000..d05e39a --- /dev/null +++ b/content/software/ss/densha/_index.md @@ -0,0 +1,6 @@ +--- +title: "Densha de GO! EX" +weight: 1 +--- + +{{% software-page "ss_densha" %}} diff --git a/content/software/switch/_index.md b/content/software/switch/_index.md new file mode 100644 index 0000000..d855c2e --- /dev/null +++ b/content/software/switch/_index.md @@ -0,0 +1,6 @@ +--- +title: "Nintendo Switch" +alwaysopen: false +--- + +{{% select-software %}} diff --git a/content/software/switch/yamanote/_index.md b/content/software/switch/yamanote/_index.md new file mode 100644 index 0000000..a4a6bf9 --- /dev/null +++ b/content/software/switch/yamanote/_index.md @@ -0,0 +1,6 @@ +--- +title: "Densha de GO! Hashirō Yamanote‑sen" +weight: 1 +--- + +{{% software-page "switch_yamanote" %}} diff --git a/content/software/wii/_index.md b/content/software/wii/_index.md new file mode 100644 index 0000000..0d4a8ed --- /dev/null +++ b/content/software/wii/_index.md @@ -0,0 +1,6 @@ +--- +title: "Nintendo Wii" +alwaysopen: false +--- + +{{% select-software %}} diff --git a/content/software/wii/shinkansen/_index.md b/content/software/wii/shinkansen/_index.md new file mode 100644 index 0000000..bda94f7 --- /dev/null +++ b/content/software/wii/shinkansen/_index.md @@ -0,0 +1,6 @@ +--- +title: "Densha de GO! Shinkansen EX San'yō Shinkansen-hen" +weight: 1 +--- + +{{% software-page "wii_shinkansen" %}} diff --git a/content/software_other/_index.md b/content/software_other/_index.md new file mode 100644 index 0000000..92801c0 --- /dev/null +++ b/content/software_other/_index.md @@ -0,0 +1,9 @@ +--- +title: "Other software" +weight: 3 +chapter: true +--- + +# Other software + +This section lists other software compatible with dedicated controllers in some way. Software is grouped by platform and sorted by release date. diff --git a/content/software_other/pc/_index.md b/content/software_other/pc/_index.md new file mode 100644 index 0000000..8920703 --- /dev/null +++ b/content/software_other/pc/_index.md @@ -0,0 +1,6 @@ +--- +title: "PC" +alwaysopen: false +--- + +{{% select-software %}} diff --git a/content/software_other/pc/bve/_index.md b/content/software_other/pc/bve/_index.md new file mode 100644 index 0000000..310817f --- /dev/null +++ b/content/software_other/pc/bve/_index.md @@ -0,0 +1,6 @@ +--- +title: "BVE Trainsim" +weight: 1 +--- + +{{% software-page "pc_bve" %}} diff --git a/content/software_other/pc/openbve/_index.md b/content/software_other/pc/openbve/_index.md new file mode 100644 index 0000000..bf37c25 --- /dev/null +++ b/content/software_other/pc/openbve/_index.md @@ -0,0 +1,6 @@ +--- +title: "OpenBVE" +weight: 2 +--- + +{{% software-page "pc_openbve" %}} diff --git a/content/software_other/pc/traincrew/_index.md b/content/software_other/pc/traincrew/_index.md new file mode 100644 index 0000000..a16987c --- /dev/null +++ b/content/software_other/pc/traincrew/_index.md @@ -0,0 +1,6 @@ +--- +title: "Train Crew" +weight: 3 +--- + +{{% software-page "pc_traincrew" %}} diff --git a/content/software_other/ps2/_index.md b/content/software_other/ps2/_index.md new file mode 100644 index 0000000..16ed7cb --- /dev/null +++ b/content/software_other/ps2/_index.md @@ -0,0 +1,6 @@ +--- +title: "Sony PlayStation 2" +alwaysopen: false +--- + +{{% select-software %}} diff --git a/content/software_other/ps2/traindensha/_index.md b/content/software_other/ps2/traindensha/_index.md new file mode 100644 index 0000000..0054831 --- /dev/null +++ b/content/software_other/ps2/traindensha/_index.md @@ -0,0 +1,6 @@ +--- +title: "Train Simulator + Densha de GO! Tokyu Line" +weight: 4 +--- + +{{% software-page "ps2_traindensha" %}} diff --git a/content/software_other/ps2/trainkeihin/_index.md b/content/software_other/ps2/trainkeihin/_index.md new file mode 100644 index 0000000..ccd2ea8 --- /dev/null +++ b/content/software_other/ps2/trainkeihin/_index.md @@ -0,0 +1,6 @@ +--- +title: "Train Simulator Real: THE Keihin Electric Express Railway" +weight: 2 +--- + +{{% software-page "ps2_trainkeihin" %}} diff --git a/content/software_other/ps2/trainkeitokei/_index.md b/content/software_other/ps2/trainkeitokei/_index.md new file mode 100644 index 0000000..d6bf5f9 --- /dev/null +++ b/content/software_other/ps2/trainkeitokei/_index.md @@ -0,0 +1,6 @@ +--- +title: "Train Simulator: Keisei, Toei Asakusa, Keikyu Lines" +weight: 6 +--- + +{{% software-page "ps2_trainkeitokei" %}} diff --git a/content/software_other/ps2/trainmidosuji/_index.md b/content/software_other/ps2/trainmidosuji/_index.md new file mode 100644 index 0000000..b17ebba --- /dev/null +++ b/content/software_other/ps2/trainmidosuji/_index.md @@ -0,0 +1,6 @@ +--- +title: "Train Simulator: Midosuji Line" +weight: 3 +--- + +{{% software-page "ps2_trainmidosuji" %}} diff --git a/content/software_other/ps2/trainshinkansen/_index.md b/content/software_other/ps2/trainshinkansen/_index.md new file mode 100644 index 0000000..18bb5ed --- /dev/null +++ b/content/software_other/ps2/trainshinkansen/_index.md @@ -0,0 +1,6 @@ +--- +title: "Train Simulator: Kyūshū Shinkansen" +weight: 5 +--- + +{{% software-page "ps2_trainshinkansen" %}} diff --git a/content/software_other/ps2/trainyamanote/_index.md b/content/software_other/ps2/trainyamanote/_index.md new file mode 100644 index 0000000..45cf362 --- /dev/null +++ b/content/software_other/ps2/trainyamanote/_index.md @@ -0,0 +1,6 @@ +--- +title: "Train Simulator Real: THE Yamanote Line" +weight: 1 +--- + +{{% software-page "ps2_trainyamanote" %}} diff --git a/content/software_other/ps4/_index.md b/content/software_other/ps4/_index.md new file mode 100644 index 0000000..e176a93 --- /dev/null +++ b/content/software_other/ps4/_index.md @@ -0,0 +1,6 @@ +--- +title: "Sony PlayStation 4" +alwaysopen: false +--- + +{{% select-software %}} diff --git a/content/software_other/ps4/japankyoto/_index.md b/content/software_other/ps4/japankyoto/_index.md new file mode 100644 index 0000000..56df999 --- /dev/null +++ b/content/software_other/ps4/japankyoto/_index.md @@ -0,0 +1,6 @@ +--- +title: "Japanese Rail Sim: Journey to Kyoto" +weight: 1 +--- + +{{% software-page "ps4_japankyoto" %}} diff --git a/content/software_other/switch/_index.md b/content/software_other/switch/_index.md new file mode 100644 index 0000000..d855c2e --- /dev/null +++ b/content/software_other/switch/_index.md @@ -0,0 +1,6 @@ +--- +title: "Nintendo Switch" +alwaysopen: false +--- + +{{% select-software %}} diff --git a/content/software_other/switch/japanakechi/_index.md b/content/software_other/switch/japanakechi/_index.md new file mode 100644 index 0000000..3317981 --- /dev/null +++ b/content/software_other/switch/japanakechi/_index.md @@ -0,0 +1,6 @@ +--- +title: "Japanese Rail Sim: Akechi Railway" +weight: 3 +--- + +{{% software-page "switch_japanakechi" %}} diff --git a/content/software_other/switch/japankyoto/_index.md b/content/software_other/switch/japankyoto/_index.md new file mode 100644 index 0000000..2c7f350 --- /dev/null +++ b/content/software_other/switch/japankyoto/_index.md @@ -0,0 +1,6 @@ +--- +title: "Japanese Rail Sim: Journey to Kyoto" +weight: 1 +--- + +{{% software-page "switch_japankyoto" %}} diff --git a/content/software_other/switch/japansangi/_index.md b/content/software_other/switch/japansangi/_index.md new file mode 100644 index 0000000..6668fe9 --- /dev/null +++ b/content/software_other/switch/japansangi/_index.md @@ -0,0 +1,6 @@ +--- +title: "Japanese Rail Sim: Sangi Railway" +weight: 2 +--- + +{{% software-page "switch_japansangi" %}} diff --git a/data/adapters.yml b/data/adapters.yml new file mode 100644 index 0000000..b238003 --- /dev/null +++ b/data/adapters.yml @@ -0,0 +1,9 @@ +ps2_cheats: + notes: "Requires use of cheat codes." + ref: "/adapters/cheats" +bve_plugin: + notes: "Supported via input plugin." + ref: "/adapters/plugins" +titan: + notes: "Requires use of Titan One/Two device." + ref: "/adapters/titan" diff --git a/data/controllers.yml b/data/controllers.yml new file mode 100644 index 0000000..01d8a55 --- /dev/null +++ b/data/controllers.yml @@ -0,0 +1,121 @@ +cotm02001: + name: "Train Mascon (Sony PlayStation 2)" + date: 2002-10-31 + code: "COTM-02001" + image: "cotm02001.jpg" + ref: "/controllers/usb/cotm02001" + +dgc255: + name: "One handle controller (PC)" + date: 2004-12-17 + code: "DGC-255" + ref: "/controllers/usb/dgc255" + +dgoc44: + name: "Two handle controller, game port (PC)" + date: 1999-03-18 + code: "DGOC-44" + ref: "/controllers/gameport/dgoc44" + +dgoc44u: + name: "Two handle controller (PC)" + date: 2001-06-15 + code: "DGOC-44U" + ref: "/controllers/usb/dgoc44u" + +dyc288: + name: "Ryojōhen controller (PC)" + date: 2003-06-05 + code: "DYC-288" + ref: "/controllers/usb/dyc288" + notes: "Also packaged with serial code DRC-184." + +ohcpc01: + name: "Sangying one handle controller (PC)" + date: 2018-02-28 + code: "OHC-PC01" + ref: "/controllers/usb/ohcpc01" + +pnp: + name: "Densha de GO! Plug and Play" + date: 2018-02-08 + image: "pnp.jpg" + ref: "/controllers/standalone/pnp" + +sotp031201: + name: "Multi Train Controller (Sony PlayStation 2)" + date: 2003-12-18 + code: "SOTP-031201" + image: "sotp031201.jpg" + ref: "/controllers/usb/sotp031201" + notes: "Released with 4 cassettes: P4-B7, P4-B7 (without B1), P5-B5 and P5-B8. Additional cassettes sold separately: P5-B7 and P13-B7." + +slph00051: + name: "Two handle controller (Sony PlayStation)" + date: 1997-12-18 + code: "SLPH-00051" + ref: "/controllers/classic/slph00051" + notes: "Also available in golden colour (TCPP-20008)." + +tc5175290: + name: "Two handle controller (Sega Saturn)" + date: 1998-10-01 + code: "TC-5175290" + ref: "/controllers/classic/tc5175290" + +tcpp20001: + name: "One handle controller (Sony PlayStation)" + date: 1999-03-18 + code: "TCPP-20001" + ref: "/controllers/classic/tcpp20001" + +tcpp20002: + name: "Mamecon (Sony PlayStation)" + date: 1999-03-11 + code: "TCPP-20002" + ref: "/controllers/classic/tcpp20002" + +tcpp20003: + name: "Two handle controller (Nintendo 64)" + date: 1999-07-30 + code: "TCPP-20003" + ref: "/controllers/classic/tcpp20003" + +tcpp20004: + name: "Two handle controller (Sega Dreamcast)" + date: 2000-01-20 + code: "TCPP-20004" + ref: "/controllers/classic/tcpp20004" + +tcpp20009: + name: 'Two handle controller "Type 2" (Sony PlayStation 2)' + date: 2001-03-15 + code: "TCPP-20009" + ref: "/controllers/usb/tcpp20009" + notes: "Also available in purple skeleton colour (TCPP-20012)." + +tcpp20011: + name: "Shinkansen controller (Sony PlayStation 2)" + date: 2001-09-20 + code: "TCPP-20011" + ref: "/controllers/usb/tcpp20011" + +tcpp20014: + name: "Ryojōhen controller (Sony PlayStation 2)" + date: 2002-07-25 + code: "TCPP-20014" + ref: "/controllers/usb/tcpp20014" + +tcpp20017: + name: "Shinkansen controller (Nintendo Wii)" + date: 2007-03-01 + code: "TCPP-20017" + image: "tcpp20017.jpg" + ref: "/controllers/wii/tcpp20017" + +zkns001: + name: "One handle controller (Nintendo Switch)" + date: 2021-08-05 + code: "ZKNS-001" + image: "zkns001.jpg" + ref: "/controllers/usb/zkns001" diff --git a/data/platforms.yml b/data/platforms.yml new file mode 100644 index 0000000..1a4319e --- /dev/null +++ b/data/platforms.yml @@ -0,0 +1,9 @@ +dc: "Sega Dreamcast" +n64: "Nintendo 64" +pc: "PC" +ps1: "Sony PlayStation 1" +ps2: "Sony PlayStation 2" +ps4: "Sony PlayStation 4" +ss: "Sega Saturn" +switch: "Nintendo Switch" +wii: "Nintendo Wii" diff --git a/data/software.yml b/data/software.yml new file mode 100644 index 0000000..6883e1b --- /dev/null +++ b/data/software.yml @@ -0,0 +1,633 @@ +dc_densha2: + name: "Densha de GO! 2 Kōsoku-hen 3000 Bandai" + namejp: "電車でGO!2高速編3000番台" + date: 2000-01-20 + code: "T-1102M" + platform: dc + ref: "/software/dc/densha2" + controllers: + - model: tcpp20004 + +n64_densha2: + name: "Densha de GO! 64" + namejp: "電車でGO!64" + date: 1999-07-23 + code: "NUS-ND6J-JPN" + platform: n64 + ref: "/software/n64/densha2" + controllers: + - model: tcpp20003 + notes: "Connect standard controller to P1 and train controller to P3." + +ss_densha: + name: "Densha de GO! EX" + namejp: "電車でGO!EX" + date: 1998-10-01 + code: "T-10317G" + platform: ss + ref: "/software/ss/densha" + controllers: + - model: tc5175290 + notes: "Select controller on game startup." + +pc_densha: + name: "Densha de GO!" + namejp: "電車でGO!" + date: 1999-04-23 + platform: pc + ref: "/software/pc/densha" + controllers: + - model: dgc255 + notes: "Only republished version." + - model: dgoc44u + notes: "Only republished version." + - model: dgoc44 + +pc_densha2: + name: "Densha de GO! 2 Kōsoku-hen" + namejp: "電車でGO!2高速編" + date: 1999-03-18 + platform: pc + ref: "/software/pc/densha2" + controllers: + - model: dgc255 + notes: "Only republished version." + - model: dgoc44u + notes: "Only republished version." + - model: dgoc44 + +pc_pro: + name: "Densha de GO! Professional" + namejp: "電車でGO!プロフェッショナル仕様" + date: 2001-06-15 + platform: pc + ref: "/software/pc/pro" + controllers: + - model: dgc255 + - model: dgoc44u + - model: dgoc44 + +pc_nagoya: + name: "Densha de GO! Nagoya Tetsudō-hen" + namejp: "電車でGO!名古屋鉄道編" + date: 2000-12-01 + platform: pc + ref: "/software/pc/nagoya" + controllers: + - model: dgc255 + notes: "Only republished version." + - model: dgoc44u + notes: "Only republished version." + - model: dgoc44 + +pc_kisha: + name: "Kisha de GO!" + namejp: "汽車でGO!" + date: 2001-02-09 + platform: pc + ref: "/software/pc/kisha" + controllers: + - model: dgc255 + notes: "Only republished version." + - model: dgoc44u + notes: "Only republished version." + - model: dgoc44 + +pc_densha3: + name: "Densha de GO! 3 Tsūkin-hen Daiya Kaisei" + namejp: "電車でGO!3通勤編 ダイヤ改正" + date: 2002-03-21 + platform: pc + ref: "/software/pc/densha3" + controllers: + - model: dgc255 + - model: dgoc44u + - model: dgoc44 + +pc_shinkansen: + name: "Densha de GO! Shinkansen San'yō Shinkansen-hen" + namejp: "電車でGO!新幹線 山陽新幹線編" + date: 2002-12-13 + platform: pc + ref: "/software/pc/shinkansen" + controllers: + - model: dgc255 + - model: dgoc44u + - model: dgoc44 + +pc_ryojouhen: + name: "Densha de GO! Ryojōhen" + namejp: "電車でGO!旅情編" + date: 2003-06-05 + platform: pc + ref: "/software/pc/ryojouhen" + controllers: + - model: dgc255 + - model: dyc288 + - model: dgoc44u + +pc_pro2: + name: "Densha de GO! Professional 2" + namejp: "電車でGO!プロフェッショナル2" + date: 2003-04-30 + platform: pc + ref: "/software/pc/pro2" + controllers: + - model: dgc255 + - model: dyc288 + - model: dgoc44u + +pc_final: + name: "Densha de GO! Final" + namejp: "電車でGO! FINAL" + date: 2004-12-17 + platform: pc + ref: "/software/pc/final" + controllers: + - model: dgc255 + - model: dyc288 + - model: dgoc44u + +ps1_densha: + name: "Densha de GO!" + namejp: "電車でGO!" + date: 1997-12-18 + code: "SCPS-45166" + platform: ps1 + ref: "/software/ps1/densha" + controllers: + - model: tcpp20002 + - model: tcpp20001 + - model: slph00051 + +ps1_densha2: + name: "Densha de GO! 2 Kōsoku-hen" + namejp: "電車でGO!2高速編" + date: 1999-03-18 + code: "SLPM-86142" + platform: ps1 + ref: "/software/ps1/densha2" + controllers: + - model: tcpp20002 + - model: tcpp20001 + - model: slph00051 + +ps1_pro: + name: "Densha de GO! Professional" + namejp: "電車でGO!プロフェッショナル仕様" + date: 1999-12-09 + code: "SLPM-86378" + platform: ps1 + ref: "/software/ps1/pro" + controllers: + - model: tcpp20002 + - model: tcpp20001 + - model: slph00051 + +ps1_nagoya: + name: "Densha de GO! Nagoya Tetsudō-hen" + namejp: "電車でGO!名古屋鉄道編" + date: 2000-01-27 + code: "SLPM-86424" + platform: ps1 + image: "ps2_nagoya.jpg" + ref: "/software/ps1/nagoya" + controllers: + - model: tcpp20002 + - model: tcpp20001 + - model: slph00051 + +ps1_kisha: + name: "Kisha de GO!" + namejp: "汽車でGO!" + date: 2000-03-23 + code: "SLPM-86449" + platform: ps1 + ref: "/software/ps1/kisha" + controllers: + - model: tcpp20002 + - model: tcpp20001 + - model: slph00051 + +ps2_densha3: + name: "Densha de GO! 3 Tsūkin-hen" + namejp: "電車でGO!3通勤編" + date: 2001-03-15 + code: "SLPM-62049" + platform: ps2 + image: "ps2_densha3.jpg" + ref: "/software/ps2/densha3" + controllers: + - model: tcpp20002 + - model: sotp031201 + notes: "P5/B8 cassette." + - model: tcpp20001 + - model: slph00051 + - model: tcpp20009 + +ps2_shinkansen: + name: "Densha de GO! Shinkansen San'yō Shinkansen-hen" + namejp: "電車でGO!新幹線 山陽新幹線編" + date: 2001-09-20 + code: "SLPM-65039" + platform: ps2 + image: "ps2_shinkansen.jpg" + ref: "/software/ps2/shinkansen" + controllers: + - model: tcpp20002 + - model: sotp031201 + notes: "P5/B8 cassette." + - model: tcpp20001 + - model: tcpp20011 + - model: slph00051 + - model: tcpp20009 + +ps2_ryojouhen: + name: "Densha de GO! Ryojōhen" + namejp: "電車でGO!旅情編" + date: 2002-07-25 + code: "SLPM-65148" + platform: ps2 + image: "ps2_ryojouhen.jpg" + ref: "/software/ps2/ryojouhen" + controllers: + - model: tcpp20002 + unofficial: yes + adapter: ps2_cheats + - model: sotp031201 + notes: "P5/B8 cassette." + - model: tcpp20001 + unofficial: yes + adapter: ps2_cheats + - model: tcpp20014 + - model: tcpp20011 + - model: slph00051 + unofficial: yes + adapter: ps2_cheats + - model: tcpp20009 + +ps2_pro2: + name: "Densha de GO! Professional 2" + namejp: "電車でGO!プロフェッショナル2" + date: 2003-02-27 + code: "SLPM-65243" + platform: ps2 + image: "ps2_pro2.jpg" + ref: "/software/ps2/pro2" + controllers: + - model: tcpp20002 + unofficial: yes + adapter: ps2_cheats + - model: sotp031201 + notes: "P5/B8 cassette." + - model: tcpp20001 + unofficial: yes + adapter: ps2_cheats + - model: tcpp20014 + - model: tcpp20011 + - model: slph00051 + unofficial: yes + adapter: ps2_cheats + - model: tcpp20009 + +ps2_final: + name: "Densha de GO! Final" + namejp: "電車でGO! FINAL" + date: 2004-05-27 + code: "SLPM-65590" + platform: ps2 + image: "ps2_final.jpg" + ref: "/software/ps2/final" + controllers: + - model: tcpp20002 + unofficial: yes + adapter: ps2_cheats + - model: sotp031201 + notes: "P5/B8 cassette." + - model: tcpp20001 + unofficial: yes + adapter: ps2_cheats + - model: tcpp20014 + - model: tcpp20011 + - model: slph00051 + unofficial: yes + adapter: ps2_cheats + - model: tcpp20009 + +ps2_trainyamanote: + name: "Train Simulator Real: THE Yamanote Line" + namejp: "Train Simulator Real THE 山手線" + date: 2001-10-04 + code: "SCPS-15018" + platform: ps2 + ref: "/software_other/ps2/trainyamanote" + controllers: + - model: sotp031201 + notes: "P5/B8 cassette." + - model: tcpp20009 + +ps2_trainkeihin: + name: "Train Simulator Real: THE Keihin Electric Express Railway" + namejp: "Train Simulator Real THE 京浜急行" + date: 2002-10-31 + code: "SCPS-15035" + platform: ps2 + ref: "/software_other/ps2/trainkeihin" + controllers: + - model: sotp031201 + notes: "P5/B5 cassette." + - model: cotm02001 + +ps2_trainmidosuji: + name: "Train Simulator: Midosuji Line" + namejp: "Train Simulator 御堂筋線" + date: 2003-10-30 + code: "SLPM-65386" + platform: ps2 + ref: "/software_other/ps2/trainmidosuji" + controllers: + - model: sotp031201 + notes: "P4/B7 (without B1) cassette." + +ps2_traindensha: + name: "Train Simulator + Densha de GO!: Tokyu Line" + namejp: "Train Simulator+電車でGO! 東京急行編" + date: 2003-12-18 + code: "SLPM-65472" + platform: ps2 + ref: "/software_other/ps2/traindensha" + controllers: + - model: sotp031201 + notes: "P4/B7 cassette." + +ps2_trainshinkansen: + name: "Train Simulator: Kyūshū Shinkansen" + namejp: "Train Simulator 京成・都営浅草・京急線" + date: 2005-08-25 + code: "SLPM-67006" + platform: ps2 + ref: "/software_other/ps2/trainshinkansen" + controllers: + - model: sotp031201 + notes: "P5/B7, P13-B7 cassettes." + +ps2_trainkeitokei: + name: "Train Simulator: Keisei, Toei Asakusa, Keikyu Lines" + namejp: "Train Simulator 九州新幹線" + date: 2005-10-01 + code: "SLPM-67007" + platform: ps2 + ref: "/software_other/ps2/trainkeitokei" + controllers: + - model: sotp031201 + notes: "P5/B5, P13-B7 cassettes." + - model: cotm02001 + +ps4_yamanote: + name: "Densha de GO! Hashirō Yamanote‑sen" + namejp: "電車でGO!! はしろう山手線" + date: 2020-12-03 + code: "PLJM-16643" + platform: ps4 + image: "ps4_yamanote.jpg" + ref: "/software/ps4/yamanote" + controllers: + - model: dgoc44u + unofficial: yes + adapter: titan + - model: tcpp20001 + unofficial: yes + notes: "Requires USB adapter." + adapter: titan + - model: tcpp20002 + unofficial: yes + notes: "Requires USB adapter." + adapter: titan + - model: slph00051 + unofficial: yes + notes: "Requires USB adapter." + adapter: titan + - model: zkns001 + unofficial: yes + adapter: titan + - model: ohcpc01 + unofficial: yes + adapter: titan + +ps4_japankyoto: + name: "Japanese Rail Sim: Journey to Kyoto" + namejp: "電鉄道にっぽん!路線たび 叡山電車編" + date: 2020-12-10 + code: "PLJM-16754" + platform: ps4 + image: "ps4_japankyoto.jpg" + ref: "/software_other/ps4/japankyoto" + controllers: + - model: dgoc44u + unofficial: yes + adapter: titan + - model: tcpp20001 + unofficial: yes + notes: "Requires USB adapter." + adapter: titan + - model: tcpp20002 + unofficial: yes + notes: "Requires USB adapter." + adapter: titan + - model: slph00051 + unofficial: yes + notes: "Requires USB adapter." + adapter: titan + - model: zkns001 + unofficial: yes + adapter: titan + +pc_bve: + name: "BVE Trainsim" + date: 2011-09-05 + platform: pc + url: "https://bvets.net/en/" + notes: "Compatibility applies to version 5 or later." + ref: "/software_other/pc/bve" + controllers: + - model: tcpp20002 + notes: "Requires USB adapter." + adapter: bve_plugin + - model: sotp031201 + adapter: bve_plugin + - model: zkns001 + adapter: bve_plugin + - model: dgc255 + adapter: bve_plugin + - model: tcpp20001 + notes: "Requires USB adapter." + adapter: bve_plugin + - model: dyc288 + adapter: bve_plugin + - model: tcpp20014 + adapter: bve_plugin + - model: ohcpc01 + adapter: bve_plugin + - model: tcpp20003 + notes: "Requires USB adapter." + adapter: bve_plugin + - model: dgoc44u + adapter: bve_plugin + - model: tcpp20004 + notes: "Requires USB adapter." + adapter: bve_plugin + - model: slph00051 + notes: "Requires USB adapter." + adapter: bve_plugin + - model: tc5175290 + notes: "Requires USB adapter." + adapter: bve_plugin + - model: tcpp20009 + adapter: bve_plugin + +pc_openbve: + name: "OpenBVE" + date: 2009-03-23 + platform: pc + url: "https://openbve-project.net/" + notes: "Controllers are supported on version 1.8.2.0 or later via built-in input plugins." + ref: "/software_other/pc/openbve" + controllers: + - model: tcpp20002 + notes: "Requires USB adapter and calibration." + adapter: bve_plugin + - model: sotp031201 + partial: yes + notes: "Only P5/B8 cassette." + adapter: bve_plugin + - model: zkns001 + adapter: bve_plugin + - model: dgc255 + adapter: bve_plugin + - model: tcpp20001 + notes: "Requires USB adapter and calibration." + adapter: bve_plugin + - model: dyc288 + adapter: bve_plugin + - model: tcpp20014 + adapter: bve_plugin + - model: ohcpc01 + adapter: bve_plugin + - model: tcpp20011 + adapter: bve_plugin + - model: tcpp20003 + notes: "Requires USB adapter and calibration." + adapter: bve_plugin + - model: dgoc44u + adapter: bve_plugin + - model: tcpp20004 + notes: "Requires USB adapter and calibration." + adapter: bve_plugin + - model: slph00051 + notes: "Requires USB adapter and calibration." + adapter: bve_plugin + - model: tc5175290 + notes: "Requires USB adapter and calibration." + adapter: bve_plugin + - model: tcpp20009 + adapter: bve_plugin + +pc_traincrew: + name: "Train Crew" + date: 2021-09-30 + platform: pc + url: "https://acty-soft.com/traincrew/" + ref: "/software_other/pc/traincrew" + controllers: + - model: dgoc44u + unofficial: yes + adapter: titan + - model: zkns001 + - model: ohcpc01 + +switch_yamanote: + name: "Densha de GO! Hashirō Yamanote‑sen" + namejp: "電車でGO!! はしろう山手線" + date: 2021-03-18 + code: "HAC-P-A2BGA" + platform: switch + image: "switch_yamanote.jpg" + ref: "/software/switch/yamanote" + controllers: + - model: dgoc44u + unofficial: yes + adapter: titan + - model: tcpp20001 + unofficial: yes + notes: "Requires USB adapter." + adapter: titan + - model: tcpp20002 + unofficial: yes + notes: "Requires USB adapter." + adapter: titan + - model: slph00051 + unofficial: yes + notes: "Requires USB adapter." + adapter: titan + - model: zkns001 + - model: ohcpc01 + unofficial: yes + adapter: titan + +switch_japankyoto: + name: "Japanese Rail Sim: Journey to Kyoto" + namejp: "電鉄道にっぽん!路線たび 叡山電車編" + date: 2019-11-18 + code: "HAC-P-AU9WA" + platform: switch + image: "switch_japankyoto.jpg" + ref: "/software_other/switch/japankyoto" + +switch_japansangi: + name: "Japanese Rail Sim: Sangi Railway" + namejp: "電鉄道にっぽん!路線たび 三岐鉄道編" + date: 2021-12-23 + code: "HAC-P-A6R9A" + platform: switch + image: "switch_japansangi.jpg" + ref: "/software_other/switch/japansangi" + +switch_japanakechi: + name: "Japanese Rail Sim: Akechi Railway" + namejp: "電鉄道にっぽん!路線たび 明知鉄道編" + date: 2022-08-25 + code: "HAC-P-A8YZA" + platform: switch + image: "switch_japanakechi.jpg" + ref: "/software_other/switch/japanakechi" + controllers: + - model: dgoc44u + unofficial: yes + adapter: titan + - model: tcpp20001 + unofficial: yes + notes: "Requires USB adapter." + adapter: titan + - model: tcpp20002 + unofficial: yes + notes: "Requires USB adapter." + adapter: titan + - model: slph00051 + unofficial: yes + notes: "Requires USB adapter." + adapter: titan + - model: zkns001 + - model: ohcpc01 + unofficial: yes + adapter: titan + +wii_shinkansen: + name: "Densha de GO! Shinkansen EX San'yō Shinkansen-hen" + namejp: "電車でGO!新幹線EX 山陽新幹線編" + date: 2007-03-01 + code: "RVL-P-RG4J" + platform: wii + image: "wii_shinkansen.jpg" + ref: "/software/wii/shinkansen" + controllers: + - model: tcpp20017 diff --git a/layouts/partials/custom-header.html b/layouts/partials/custom-header.html new file mode 100644 index 0000000..c136615 --- /dev/null +++ b/layouts/partials/custom-header.html @@ -0,0 +1,58 @@ + diff --git a/layouts/shortcodes/controller-page.html b/layouts/shortcodes/controller-page.html new file mode 100644 index 0000000..c4e0747 --- /dev/null +++ b/layouts/shortcodes/controller-page.html @@ -0,0 +1,57 @@ +## Overview + + + + + + + + + + + + + + + + + + + + + + + + +
{{ if (index .Site.Data.controllers (.Get 0)).image}}{{ end }}Name{{ (index .Site.Data.controllers (.Get 0)).name }}
Release date{{ (index .Site.Data.controllers (.Get 0)).date | time.Format ":date_long" }}
Serial code{{ (index .Site.Data.controllers (.Get 0)).code }}
Notes{{ (index .Site.Data.controllers (.Get 0)).notes }}
+ +## Supported software (WIP) + + + + + + + + + + + + + {{ range sort .Site.Data.software "name" }} + {{ $software_name := .name }} + {{ $software_ref := .ref }} + {{ $software_platform := .platform }} + {{ range .controllers }} + {{ if eq .model ($.Get 0) }} + + + + + + {{ end }} + {{ end }} + {{ end }} +
SoftwareSupportNotes
{{ $software_name }} ({{ index $.Site.Data.platforms $software_platform }}){{ if .unofficial }}Unofficial{{ else if .partial }}Partial{{ else }}Native{{ end }}{{ .notes }} {{ if .adapter }}{{ index $.Site.Data.adapters .adapter "notes" }}{{ end }}
+ +## Technical details diff --git a/layouts/shortcodes/select-software.html b/layouts/shortcodes/select-software.html new file mode 100644 index 0000000..582aed2 --- /dev/null +++ b/layouts/shortcodes/select-software.html @@ -0,0 +1 @@ +Select a software from the menu on the left to view its details and controller compatibility. diff --git a/layouts/shortcodes/software-page.html b/layouts/shortcodes/software-page.html new file mode 100644 index 0000000..23ca7f5 --- /dev/null +++ b/layouts/shortcodes/software-page.html @@ -0,0 +1,64 @@ +## Overview + + + + + + + + + + + + + {{ if (index .Site.Data.software (.Get 0)).namejp }} + + + + + {{ end }} + + + + + {{ if (index .Site.Data.software (.Get 0)).code }} + + + + + {{ end }} + {{ if (index .Site.Data.software (.Get 0)).url }} + + + + + {{ end }} + + + + +
{{ if (index .Site.Data.software (.Get 0)).image}}{{ end }}Name{{ (index .Site.Data.software (.Get 0)).name }}
Japanese name{{ (index .Site.Data.software (.Get 0)).namejp }}
Release date{{ (index .Site.Data.software (.Get 0)).date | time.Format ":date_long" }}
Serial code{{ (index .Site.Data.software (.Get 0)).code }}
Website{{ (index .Site.Data.software (.Get 0)).url }}
Notes{{ (index .Site.Data.software (.Get 0)).notes }}
+ +{{ with (index .Site.Data.software (.Get 0)).controllers }} +## Supported controllers + + + + + + + + + + + + + {{ range . }} + + + + + + {{ end }} +
ModelSupportNotes
{{ (index $.Site.Data.controllers .model).name }}{{ if .unofficial }}Unofficial{{ else if .partial }}Partial{{ else }}Native{{ end }}{{ .notes }} {{ if .adapter }}{{ index $.Site.Data.adapters .adapter "notes" }}{{ end }}
+{{ end }} diff --git a/layouts/shortcodes/standalone_controller-page.html b/layouts/shortcodes/standalone_controller-page.html new file mode 100644 index 0000000..240b9a0 --- /dev/null +++ b/layouts/shortcodes/standalone_controller-page.html @@ -0,0 +1,28 @@ +## Overview + + + + + + + + + + + + + + + + + + + + + + + + +
{{ if (index .Site.Data.controllers (.Get 0)).image}}{{ end }}Name{{ (index .Site.Data.controllers (.Get 0)).name }}
Release date{{ (index .Site.Data.controllers (.Get 0)).date | time.Format ":date_long" }}
Serial code{{ (index .Site.Data.controllers (.Get 0)).code }}
Notes{{ (index .Site.Data.controllers (.Get 0)).notes }}
+ +## Technical details diff --git a/static/css/custom.css b/static/css/custom.css deleted file mode 100644 index 311cb80..0000000 --- a/static/css/custom.css +++ /dev/null @@ -1,9 +0,0 @@ -#body .flex-block-wrapper { - max-width: 100%; -} - -.flex-block-wrapper table { - overflow-x: auto; - white-space: wrap; - width: 100%; -} diff --git a/static/images/controllers/cotm02001.jpg b/static/images/controllers/cotm02001.jpg new file mode 100644 index 0000000..21689df Binary files /dev/null and b/static/images/controllers/cotm02001.jpg differ diff --git a/static/images/controllers/pnp.jpg b/static/images/controllers/pnp.jpg new file mode 100644 index 0000000..dc1fa97 Binary files /dev/null and b/static/images/controllers/pnp.jpg differ diff --git a/static/images/controllers/sotp031201.jpg b/static/images/controllers/sotp031201.jpg new file mode 100644 index 0000000..f7bc19f Binary files /dev/null and b/static/images/controllers/sotp031201.jpg differ diff --git a/static/images/controllers/tcpp20017.jpg b/static/images/controllers/tcpp20017.jpg new file mode 100644 index 0000000..64b1f3b Binary files /dev/null and b/static/images/controllers/tcpp20017.jpg differ diff --git a/static/images/controllers/zkns001.jpg b/static/images/controllers/zkns001.jpg new file mode 100644 index 0000000..add2cdc Binary files /dev/null and b/static/images/controllers/zkns001.jpg differ diff --git a/static/images/software/ps2_densha3.jpg b/static/images/software/ps2_densha3.jpg new file mode 100644 index 0000000..bd02643 Binary files /dev/null and b/static/images/software/ps2_densha3.jpg differ diff --git a/static/images/software/ps2_final.jpg b/static/images/software/ps2_final.jpg new file mode 100644 index 0000000..3d552df Binary files /dev/null and b/static/images/software/ps2_final.jpg differ diff --git a/static/images/software/ps2_nagoya.jpg b/static/images/software/ps2_nagoya.jpg new file mode 100644 index 0000000..2fb65d3 Binary files /dev/null and b/static/images/software/ps2_nagoya.jpg differ diff --git a/static/images/software/ps2_pro2.jpg b/static/images/software/ps2_pro2.jpg new file mode 100644 index 0000000..be76c21 Binary files /dev/null and b/static/images/software/ps2_pro2.jpg differ diff --git a/static/images/software/ps2_ryojouhen.jpg b/static/images/software/ps2_ryojouhen.jpg new file mode 100644 index 0000000..4a947a2 Binary files /dev/null and b/static/images/software/ps2_ryojouhen.jpg differ diff --git a/static/images/software/ps2_shinkansen.jpg b/static/images/software/ps2_shinkansen.jpg new file mode 100644 index 0000000..f2a4bc3 Binary files /dev/null and b/static/images/software/ps2_shinkansen.jpg differ diff --git a/static/images/software/ps2_traindensha.jpg b/static/images/software/ps2_traindensha.jpg new file mode 100644 index 0000000..3be7606 Binary files /dev/null and b/static/images/software/ps2_traindensha.jpg differ diff --git a/static/images/software/ps2_trainkeitokei.jpg b/static/images/software/ps2_trainkeitokei.jpg new file mode 100644 index 0000000..4273667 Binary files /dev/null and b/static/images/software/ps2_trainkeitokei.jpg differ diff --git a/static/images/software/ps2_trainshinkansen.jpg b/static/images/software/ps2_trainshinkansen.jpg new file mode 100644 index 0000000..e48b5da Binary files /dev/null and b/static/images/software/ps2_trainshinkansen.jpg differ diff --git a/static/images/software/ps2_trainyamanote.jpg b/static/images/software/ps2_trainyamanote.jpg new file mode 100644 index 0000000..189fa46 Binary files /dev/null and b/static/images/software/ps2_trainyamanote.jpg differ diff --git a/static/images/software/ps4_japankyoto.jpg b/static/images/software/ps4_japankyoto.jpg new file mode 100644 index 0000000..d2203a5 Binary files /dev/null and b/static/images/software/ps4_japankyoto.jpg differ diff --git a/static/images/software/ps4_yamanote.jpg b/static/images/software/ps4_yamanote.jpg new file mode 100644 index 0000000..de7a47f Binary files /dev/null and b/static/images/software/ps4_yamanote.jpg differ diff --git a/static/images/software/switch_japanakechi.jpg b/static/images/software/switch_japanakechi.jpg new file mode 100644 index 0000000..9781c3a Binary files /dev/null and b/static/images/software/switch_japanakechi.jpg differ diff --git a/static/images/software/switch_japankyoto.jpg b/static/images/software/switch_japankyoto.jpg new file mode 100644 index 0000000..14c288f Binary files /dev/null and b/static/images/software/switch_japankyoto.jpg differ diff --git a/static/images/software/switch_japansangi.jpg b/static/images/software/switch_japansangi.jpg new file mode 100644 index 0000000..c71a80d Binary files /dev/null and b/static/images/software/switch_japansangi.jpg differ diff --git a/static/images/software/switch_yamanote.jpg b/static/images/software/switch_yamanote.jpg new file mode 100644 index 0000000..a834fe7 Binary files /dev/null and b/static/images/software/switch_yamanote.jpg differ diff --git a/static/images/software/wii_shinkansen.jpg b/static/images/software/wii_shinkansen.jpg new file mode 100644 index 0000000..98390c7 Binary files /dev/null and b/static/images/software/wii_shinkansen.jpg differ