Open putnam opened 1 year ago
Hello! Both DDG 3 and Shinkansen support the PS1 controllers natively. No cheats/second controller are needed (that's why they appear as "Native" instead of "Unofficial" like the later games).
You should plug the PS1 controller to port 1 and nothing to port 2 (just in case) and it should work directly. In DDG 3 there's actually a setting to change the controller type in the options, but it's just for changing between one handle, two handle and mamecon. Try moving the handles on the main menu, does the game react at all?
Thanks for your reply! So, poking around I get menu interaction on Shinkansen, but I can't proceed by selecting anything. If I manually start the game with a controller and then attach the PS1 DDG controller, then it works OK. Is the typical selection button Start? A/B/C? Could it be one of my buttons?
I've just tested Shinkansen with my mamecon. Power handle for selecting menu options, C to accept, B to cancel. There's a setting in the game's options, just like DDG 3, to define the specific controller model so the menus have the correct icons.
Thanks. Something may be wonky on my end. Looking at the technical docs, I see the state of the brake/power is effectively a bitmask. I opened the game in an emulator to try to reproduce there. I know I need to have up+down held for the game to behave like a controller is connected. Is there some other state that the game needs for A/B/C to behave? Start worked OK in the emulator, but the cross/square/circle cease to function whenever up+down are held. It doesn't matter if I have up+down held in software, on a keyboard, on a gamepad, whatever. Maybe it is a limitation of PCSX2. I can definitely browse the menu using the "bitmask" power settings with triangle/left/right though.
The Up+Down combo is the only check the games run. Internally, the PS1 DDG controllers are a PS1 digital controller, where Start and Select are mapped normally; A, B and C are mapped to Square, Cross and Circle, respectively; the power handle uses a bitmask on Left, Right and Triangle; and the brake handle uses a bitmask on L1, L2, R1 and R2. It's physically (not electrically) impossible to press Up+Down on a regular digital controller, that's why it's used. Nothing else is checked.
Now that you mention an emulator, there are a couple of places where the issue could be:
I hope this helps you find the issue!
Thanks so much for all the info and your docs. I definitely left out a good bit of context I should have mentioned. I am helping a friend setup a train-themed stream and they picked up one of the PS1 two-handle controllers. The problem is he wants to use emulators, and he has a basic USB adapter. As you already guessed, he has one that maps the d-pad to axes and it's not configurable.
So, to help him, I built my own USB adapter using an STM32, and although I don't have a controller here, I faked it by having the STM32 hold down Up+Down and otherwise passed through a real controller to the emulator. I was manually inputting the "chords" to trigger various power/brake states. It worked in Duckstation with the PS1 titles just fine, and it also worked fine in PCSX2 with DDG3. The problem is in DDG Shinkansen on PS2 -- while scrolling in the menus works with the controller, the C button (circle) just doesn't want to work.
In the meantime I sent him a Raphnet USB adapter to avoid having to clean up my ugly bench project. Those adapters can be configured to map the d-pad to discrete buttons, so no arduino/stm32 setup is required. He confirmed that the results are the same as what I experienced here with my homebuilt adapter. I feel like this could be very useful in your docs for the old controllers -- the Raphnet adapter is designed for this, and is available to buy online for a not-horrible price.
I appreciate you confirming the mamecon works on the PS2 with Shinkansen. I feel like this narrows it down specifically to PCSX2, so I'll have to bark up that tree next. It's out of scope here I suppose, but I'll update with my findings if they are useful for you. I get the sense there may be internal limitations with certain button combinations in PCSX2.
By the way, a friend of mine in Tokyo picked up DDG3 and Shinkansen for me specifically to scan the manuals (I wondered if there was anything special I had to do for the old controller to work right). If you'd like the manual scans let me know, though I'm sure you have physical copies of probably every train game in existence!
Good! I'll run some tests with DDG Shinkansen in PCSX2 to try to find anything odd there. The fact that DDG3 works but Shinkansen has issues is suspicious, it may be a game-specific problem.
By the way, a friend of mine in Tokyo picked up DDG3 and Shinkansen for me specifically to scan the manuals (I wondered if there was anything special I had to do for the old controller to work right). If you'd like the manual scans let me know, though I'm sure you have physical copies of probably every train game in existence!
Thanks, I have both games with the manuals. Not even close to every single train game, but a good part... ;)
Okay, so I have good news and bad news:
Good news: I've recreated the issue with Shinkansen on PCSX2. I grabbed a controller, an adapter (I have an unbranded PS2 to Dualshock 3 converter), mapped the buttons normally and ran the game. On the menus, I can only move up and down, I'm unable to select anything. If I switch to a regular controller, get in game and switch, I can control everything. It's just the menu.
Bad news: the menu isn't working with a DDG controller on PCSX2. My suspicion is that the menu has glitchy code that prevents selection buttons from working if the controller has Up+Down selected but internally isn't a digital controller (0x41, vs 0x73 for the Dualshock). PCSX2 only emulates Dualshocks, so that's why it's working on a real console but not in the emulator. I have disassembled the game's code but haven't found a cause. A good test would be with another PS2 emulator that does support digital gamepads (if that even exists).
For the time being, I'm afraid you'll have to use a regular controller to navigate the menus and change to the controller once in game.
Hi, can you confirm the 2-handle PS1 controller should actually work in DDG 3 and Shinkansen for the PS2? I don't see any menu entries to enable it; is it meant to be in a specific port while you use a controller on another? I tried both DualShock+DDG and DDG+DualShock and neither seemed to work. The controller works fine on the PS1 titles. What am I missing?
There's a very old thread here with some compatibility discussion: https://www.tapatalk.com/groups/densha_de_go_forums/compatility-list-of-all-the-controllers-t400.html
They say only the Type 2 works on those PS2 titles, and the Type 1 only works on PS1 titles.
Maybe there's a setting or something I am missing?