bsnes/higan/md/controller/controller.hpp

35 lines
764 B
C++

struct Controller : Thread {
Controller(uint port);
virtual ~Controller();
static auto Enter() -> void;
virtual auto main() -> void;
virtual auto readData() -> uint8 { return 0xff; }
virtual auto writeData(uint8 data) -> void {}
const uint port;
};
struct ControllerPort {
auto connect(uint deviceID) -> void;
auto readControl() -> uint8;
auto writeControl(uint8 data) -> void;
auto power(uint port) -> void;
auto unload() -> void;
auto serialize(serializer&) -> void;
uint port;
uint8 control;
Controller* device = nullptr;
};
extern ControllerPort controllerPort1;
extern ControllerPort controllerPort2;
extern ControllerPort extensionPort;
#include "control-pad/control-pad.hpp"
#include "fighting-pad/fighting-pad.hpp"