openMSX
|
This device is plugged in into the joy-ports and consolidates several other joysticks plugged into it. More...
#include <JoyTap.hh>
Public Member Functions | |
JoyTap (PluggingController &pluggingController, std::string name) | |
std::string_view | getName () const override |
Name used to identify this pluggable. | |
std::string_view | getDescription () const override |
Description for this pluggable. | |
void | plugHelper (Connector &connector, EmuTime::param time) override |
void | unplugHelper (EmuTime::param time) override |
uint8_t | read (EmuTime::param time) override |
Read from the joystick device. | |
void | write (uint8_t value, EmuTime::param time) override |
Write a value to the joystick device. | |
template<typename Archive > | |
void | serialize (Archive &ar, unsigned version) |
Public Member Functions inherited from openmsx::JoystickDevice | |
std::string_view | getClass () const final |
A pluggable belongs to a certain class. | |
Public Member Functions inherited from openmsx::Pluggable | |
virtual | ~Pluggable ()=default |
void | plug (Connector &connector, EmuTime::param time) |
This method is called when this pluggable is inserted in a connector. | |
void | unplug (EmuTime::param time) |
This method is called when this pluggable is removed from a connector. | |
Connector * | getConnector () const |
Get the connector this Pluggable is plugged into. | |
bool | isPluggedIn () const |
Returns true if this pluggable is currently plugged into a connector. | |
Protected Member Functions | |
void | createPorts (std::string_view description, EmuTime::param time) |
Protected Member Functions inherited from openmsx::Pluggable | |
Pluggable () | |
void | setConnector (Connector *conn) |
Protected Attributes | |
std::array< std::optional< JoystickPort >, 4 > | slaves |
PluggingController & | pluggingController |
Additional Inherited Members | |
Static Public Attributes inherited from openmsx::JoystickDevice | |
static constexpr uint8_t | JOY_UP = 0x01 |
static constexpr uint8_t | JOY_DOWN = 0x02 |
static constexpr uint8_t | JOY_LEFT = 0x04 |
static constexpr uint8_t | JOY_RIGHT = 0x08 |
static constexpr uint8_t | JOY_BUTTONA = 0x10 |
static constexpr uint8_t | JOY_BUTTONB = 0x20 |
static constexpr uint8_t | RD_PIN1 = 0x01 |
static constexpr uint8_t | RD_PIN2 = 0x02 |
static constexpr uint8_t | RD_PIN3 = 0x04 |
static constexpr uint8_t | RD_PIN4 = 0x08 |
static constexpr uint8_t | RD_PIN6 = 0x10 |
static constexpr uint8_t | RD_PIN7 = 0x20 |
static constexpr uint8_t | WR_PIN6 = 0x01 |
static constexpr uint8_t | WR_PIN7 = 0x02 |
static constexpr uint8_t | WR_PIN8 = 0x04 |
This device is plugged in into the joy-ports and consolidates several other joysticks plugged into it.
This JoyTap simply ANDs all the joystick outputs, acting as a simple wiring of all digital joysticks into one connector. This is the base class for the NinjaTap device and the FNano2 multiplayer extension, who basically have other read and write methods
openmsx::JoyTap::JoyTap | ( | PluggingController & | pluggingController, |
std::string | name | ||
) |
|
protected |
Definition at line 17 of file JoyTap.cc.
References enumerate(), pluggingController, slaves, and strCat().
Referenced by plugHelper(), and openmsx::NinjaTap::plugHelper().
|
overridevirtual |
|
overridevirtual |
Name used to identify this pluggable.
Reimplemented from openmsx::Pluggable.
|
overridevirtual |
Implements openmsx::Pluggable.
Reimplemented in openmsx::NinjaTap.
Definition at line 38 of file JoyTap.cc.
References createPorts().
Referenced by serialize().
|
overridevirtual |
Read from the joystick device.
The bits in the read byte have following meaning: 7 6 5 4 3 2 1 0 | xx | xx | BUTTON_B | BUTTON_A | RIGHT | LEFT | DOWN | UP | | xx | xx | pin7 | pin6 | pin4 | pin3 | pin2 | pin1|
Implements openmsx::JoystickDevice.
Reimplemented in openmsx::NinjaTap.
Definition at line 51 of file JoyTap.cc.
References slaves.
void openmsx::JoyTap::serialize | ( | Archive & | ar, |
unsigned | version | ||
) |
Definition at line 68 of file JoyTap.cc.
References enumerate(), openmsx::Pluggable::getConnector(), openmsx::PluggingController::getCurrentTime(), openmsx::Pluggable::isPluggedIn(), pluggingController, plugHelper(), and slaves.
|
overridevirtual |
|
overridevirtual |
Write a value to the joystick device.
The bits in the written byte have following meaning: 7 6 5 4 3 2 1 0 | xx | xx | xx | xx | xx | pin8 | pin7 | pin6 | As an optimization, this method might not be called when the new value is the same as the previous one.
Implements openmsx::JoystickDevice.
Reimplemented in openmsx::NinjaTap.
Definition at line 60 of file JoyTap.cc.
References slaves.
|
protected |
Definition at line 45 of file JoyTap.hh.
Referenced by createPorts(), and serialize().
|
protected |
Definition at line 44 of file JoyTap.hh.
Referenced by createPorts(), read(), serialize(), unplugHelper(), write(), and openmsx::NinjaTap::write().