OXYGENHUB
◆ main openmsx / src / serial / MusicModuleMIDI.hh
709 B · C++ · last changed chore(): initial commit 1 month ago source blame history raw
1
#ifndef MUSICMODULEMIDI_HH
2
#define MUSICMODULEMIDI_HH
3
4
#include "MC6850.hh"
5
#include "MSXDevice.hh"
6
#include "serialize_meta.hh"
7
8
namespace openmsx {
9
10
class MusicModuleMIDI final : public MSXDevice
11
{
12
public:
13
	explicit MusicModuleMIDI(const DeviceConfig& config);
14
15
	// MSXDevice
16
	void reset(EmuTime time) override;
17
	[[nodiscard]] uint8_t readIO(uint16_t port, EmuTime time) override;
18
	[[nodiscard]] uint8_t peekIO(uint16_t port, EmuTime time) const override;
19
	void writeIO(uint16_t port, uint8_t value, EmuTime time) override;
20
21
	template<typename Archive>
22
	void serialize(Archive& ar, unsigned version);
23
24
private:
25
	MC6850 mc6850;
26
};
27
SERIALIZE_CLASS_VERSION(MusicModuleMIDI, 4);
28
29
} // namespace openmsx
30
31
#endif