Skip to content

Arkanoid II: duplicated controls in (relative) mouse mode, limited paddle range, requests for more core options #572

Description

@StormedBubbles

There was a special version of the Arkanoid controller for Arkanoid II on the Famicom. It plugged in to the expansion port like the original version of the controller, but it had an additional expansion port to allow you to plug in another paddle and play the 2-player versus mode with dual paddles.

I could be reading the code in libretro.c incorrectly, but it looks to me like lr-fceumm is meant to include dual-paddle support. From what I see, you are meant to set port 5 to Arkanoid, which activates case RETRO_DEVICE_FC_ARKANOID that takes mouse inputs from both port 1 and port 5:

   for (port = 0; port < MAX_PORTS; port++)
   {
      switch (nes_input.type[port])
      {
         case RETRO_DEVICE_ARKANOID:
         case RETRO_DEVICE_FC_ARKANOID:
         case RETRO_DEVICE_ZAPPER:
               get_mouse_input(port, nes_input.type[port], nes_input.MouseData[port]);
            break;
      }
   }
   {
      case RETRO_DEVICE_FC_ARKANOID:
      case RETRO_DEVICE_FC_OEKAKIDS:
      case RETRO_DEVICE_FC_SHADOW:
         get_mouse_input(0, nes_input.type[4], nes_input.FamicomData);
         break;
.
.
.

However, that does not work. I can only gain control of player 1's paddle (via port 1's mouse index). I can control both players with mice by setting both port 2 and port 5 to Arkanoid, but the behavior is strange. In that case, the mice used for ports 1 and 2 both control the movement of both players. The orientation of the mouse in port 1 is correct for player 1 and reversed for player 2, while the orientation of the mouse in port 2 is correct for player 2 and reversed for player 1. In addition, only port 1's left click is allowed to select things in the menu, so it seems that support is there. The duplication of control over the movement just has to be removed, but I do not see why that is happening. Anyone have an idea?

Note: in order to even use a paddle during gameplay, you have to use the SELECT button on port 1's controller to cycle menu options and use port 1's left click to choose the currently selected option. You want a "VS" game against a "FRIEND" to activate the 2-player mode that has simultaneous play with 2 paddles. Using the START button on the controller to choose the menu options puts the game in controller mode where you have to use the d-pad to move the onscreen paddle.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions