openMSX
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
openmsx::JoyTap Class Reference

This device is pluged in into the joyports and consolidates several other joysticks plugged into it. More...

#include <JoyTap.hh>

Inheritance diagram for openmsx::JoyTap:
Inheritance graph
[legend]
Collaboration diagram for openmsx::JoyTap:
Collaboration graph
[legend]

Public Member Functions

 JoyTap (PluggingController &pluggingController, const std::string &name)
virtual ~JoyTap ()
virtual const std::string & getName () const
 Name used to identify this pluggable.
virtual string_ref getDescription () const
 Description for this pluggable.
virtual void plugHelper (Connector &connector, EmuTime::param time)
virtual void unplugHelper (EmuTime::param time)
byte read (EmuTime::param time)
 Read from the joystick device.
void write (byte value, EmuTime::param time)
 Write a value to the joystick device.
template<typename Archive >
void serialize (Archive &ar, unsigned version)
- Public Member Functions inherited from openmsx::JoystickDevice
virtual string_ref getClass () const
 A pluggable belongs to a certain class.
- Public Member Functions inherited from openmsx::Pluggable
 Pluggable ()
virtual ~Pluggable ()
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 conector.
ConnectorgetConnector () 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 (PluggingController &pluggingController, const std::string &baseDescription)

Protected Attributes

std::unique_ptr< JoystickPortslaves [4]
PluggingControllerpluggingController

Additional Inherited Members

- Static Protected Attributes inherited from openmsx::JoystickDevice
static const int JOY_UP = 0x01
static const int JOY_DOWN = 0x02
static const int JOY_LEFT = 0x04
static const int JOY_RIGHT = 0x08
static const int JOY_BUTTONA = 0x10
static const int JOY_BUTTONB = 0x20

Detailed Description

This device is pluged in into the joyports 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 basicly have other read and write methods

Definition at line 20 of file JoyTap.hh.

Constructor & Destructor Documentation

openmsx::JoyTap::JoyTap ( PluggingController pluggingController,
const std::string &  name 
)

Definition at line 11 of file JoyTap.cc.

openmsx::JoyTap::~JoyTap ( )
virtual

Definition at line 18 of file JoyTap.cc.

Member Function Documentation

void openmsx::JoyTap::createPorts ( PluggingController pluggingController,
const std::string &  baseDescription 
)
protected

Definition at line 22 of file JoyTap.cc.

References pluggingController, and slaves.

Referenced by openmsx::NinjaTap::plugHelper(), and plugHelper().

string_ref openmsx::JoyTap::getDescription ( ) const
virtual

Description for this pluggable.

Implements openmsx::Pluggable.

Reimplemented in openmsx::NinjaTap.

Definition at line 31 of file JoyTap.cc.

const std::string & openmsx::JoyTap::getName ( ) const
virtual

Name used to identify this pluggable.

Reimplemented from openmsx::Pluggable.

Definition at line 36 of file JoyTap.cc.

void openmsx::JoyTap::plugHelper ( Connector connector,
EmuTime::param  time 
)
virtual

Implements openmsx::Pluggable.

Reimplemented in openmsx::NinjaTap.

Definition at line 41 of file JoyTap.cc.

References createPorts(), and pluggingController.

byte openmsx::JoyTap::read ( EmuTime::param  time)
virtual

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 54 of file JoyTap.cc.

References slaves.

template<typename Archive >
void openmsx::JoyTap::serialize ( Archive &  ar,
unsigned  version 
)

Reimplemented in openmsx::NinjaTap.

Definition at line 71 of file JoyTap.cc.

References slaves.

void openmsx::JoyTap::unplugHelper ( EmuTime::param  time)
virtual

Implements openmsx::Pluggable.

Definition at line 46 of file JoyTap.cc.

References slaves.

void openmsx::JoyTap::write ( byte  value,
EmuTime::param  time 
)
virtual

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 63 of file JoyTap.cc.

References slaves.

Member Data Documentation

PluggingController& openmsx::JoyTap::pluggingController
protected

Definition at line 45 of file JoyTap.hh.

Referenced by createPorts(), openmsx::NinjaTap::plugHelper(), and plugHelper().

std::unique_ptr<JoystickPort> openmsx::JoyTap::slaves[4]
protected

Definition at line 44 of file JoyTap.hh.

Referenced by createPorts(), read(), serialize(), unplugHelper(), openmsx::NinjaTap::write(), and write().


The documentation for this class was generated from the following files: