mirror of https://github.com/bsnes-emu/bsnes.git
35 lines
764 B
C++
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"
|