libretro / libretro-uae

PUAE libretro
GNU General Public License v2.0
116 stars 62 forks source link

CDTV remote controller button mappings #458

Closed Gravity-Grave closed 2 years ago

Gravity-Grave commented 3 years ago

I could be wrong, but it doesn’t seem like the CDTV controller is correctly mapped within this core? Would it be possible to add a device type profile for the old CDTV remote controller? I have tried all the current device type controller profiles (RetroPad, CD32, analogue joystick and joystick) but non of these seem to have the original controller‘s ‘B’ button correctly mapped. On the original CDTV hardware, the remote controller’s A & B buttons were mapped to the left & right mouse buttons.

It obviously is possible to correctly configure the controller by going into the mapping options and remapping the 2nd fire button to R2, then save these settings on a per game basis. But these steps are not very intuitive for somebody without a reasonable knowledge of Retroarch or the original hardware.

If you want some examples of this issue, I would recommend the CDTV version of SimCity. The game selection menus show a basic visual representation of the original remote controller, and each button becomes highlighted when you press the corresponding button on your own controller. For me at least, within this core’s standard settings, the only way I can get the ‘B’ button to respond in this game is by pressing my right mouse button. Another quick example would be the CDTV version of Lemmings. Upon first loading, you are given the option of pressing A to play the game, or pressing B to view a short tech demo called Planetside. But without remapping, the only current way to get to Planetside seems to be to press the right mouse button.

Perhaps I am missing something and there is in fact a more simple way around this issue, but I haven’t yet discovered it. I would welcome the addition of a CDTV profile in the device type controller settings, as I feel it would further benefit the core and anybody else who might have encountered this issue.

Many thanks for all your diligence and hard work in keeping this core running so smoothly and efficiently.

sonninnos commented 3 years ago

For some reason the second button does work fine as is when the core is in CD32 mode, but not in CDTV..

CDTV controller is hardware-wise just a regular controller with extra keyboard/mouse emulation stuff, so there is no benefit in adding a new device type for it. The problem is somewhere else.

Gravity-Grave commented 3 years ago

Ok, understood. Thanks for having a quick look into this. Creating a manual remap seems to be at least for now a quick way around this issue. Might be of help for anybody else who may have experienced this problem.

The CDTV was a fairly dreadful piece of hardware with very little software of interest to most people. So feel free to place this very low on your list of priorities. I only mention this because I used to own this device all those years ago, so recognised that the controls weren’t quite responding correctly. But for the sake of a slightly more accurate emulation experience, I figured I should at least mention it here.

sonninnos commented 3 years ago

Sure, thanks for the tip, I will look into it.

Gravity-Grave commented 3 years ago

I could have spoken too soon. This might actually be a feature, not a bug. After you mentioning that it was just a normal controller, but with built-in mouse emulation. I figured I should try and search out a few online images to remind myself of the old remote controller. I quickly spotted that it has a joy/mouse toggle button on it. I had forgotten all about this hardware feature, and have no memory as to whether I was required to manually toggle this button, depending on the game I was playing, or whether it happened automatically.

SimCity and Lemmings are both games I owned with the original hardware. I’ve just managed to track down PDF copies of both original user guides. Lemmings makes no mention of needing to toggle the controls button. But SimCity does indeed state that the controller needs to be placed into Mouse Mode. So I guess this must be the solution. It requires manual input from the user.

So going back into P-UAE’s on-screen menu and toggling the J/M button seems to be the solution to this issue. The controller will then work as expected. This solution isn’t exactly ideal for anybody who is unfamiliar with the games, as you can never be quite sure which is the correct game mode, but it seems it is at least accurate with how the original hardware used to function.

sonninnos commented 3 years ago

Current WinUAE does the exact same thing. CDTV mode isn't reading joystick port second button, but it reads second mouse button..

Maybe it is by design, maybe it isn't. Would need someone with real hardware to confirm. But it does look like there is nothing to be done here after all.

Sure it makes sense that SimCity wants mouse/keyboard mode, since there aren't enough buttons in two button joystick to play the game properly. Same thing does not apply to Lemmings, because the game itself won't even use the second button, and the gameplay will be horrible without a real mouse anyway..