OXYGENHUB
◆ main openmsx / src / input / NinjaTap.hh
705 B · C++ · last changed chore(): initial commit 1 month ago source blame history raw
1
#ifndef NINJATAP_HH
2
#define NINJATAP_HH
3
4
#include "JoyTap.hh"
5
#include <array>
6
7
namespace openmsx {
8
9
class NinjaTap final : public JoyTap
10
{
11
public:
12
	NinjaTap(PluggingController& pluggingController, std::string name);
13
14
	// Pluggable
15
	[[nodiscard]] zstring_view getDescription() const override;
16
	void plugHelper(Connector& connector, EmuTime time) override;
17
18
	// JoystickDevice
19
	[[nodiscard]] uint8_t read(EmuTime time) override;
20
	void write(uint8_t value, EmuTime time) override;
21
22
	template<typename Archive>
23
	void serialize(Archive& ar, unsigned version);
24
25
private:
26
	uint8_t status = 0x3F; // TODO check initial value
27
	uint8_t previous = 0;
28
	std::array<uint8_t, 4> buf;
29
};
30
31
} // namespace openmsx
32
33
#endif