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