openMSX
SG1000Pause.hh
Go to the documentation of this file.
1 #ifndef SG1000PAUSE_HH
2 #define SG1000PAUSE_HH
3 
4 #include "MSXDevice.hh"
5 #include "MSXEventListener.hh"
6 #include "Schedulable.hh"
7 
8 namespace openmsx {
9 
14 class SG1000Pause final : public MSXDevice,
15  private MSXEventListener, private Schedulable
16 {
17 public:
18  explicit SG1000Pause(const DeviceConfig& config);
19  ~SG1000Pause();
20 
21  template<typename Archive>
22  void serialize(Archive& ar, unsigned version);
23 
24 private:
25  // MSXEventListener
26  void signalMSXEvent(const Event& event,
27  EmuTime::param time) noexcept override;
28 
29  // Schedulable
30  void executeUntil(EmuTime::param time) override;
31 };
32 
33 } // namespace openmsx
34 
35 #endif
An MSXDevice is an emulated hardware component connected to the bus of the emulated MSX.
Definition: MSXDevice.hh:33
This button is labeled "hold" on SG-1000, "pause" on SG-1000 mk 2 and "reset" on SC-3000.
Definition: SG1000Pause.hh:16
SG1000Pause(const DeviceConfig &config)
Definition: SG1000Pause.cc:12
void serialize(Archive &ar, unsigned version)
Definition: SG1000Pause.cc:46
Every class that wants to get scheduled at some point must inherit from this class.
Definition: Schedulable.hh:34
This file implemented 3 utility functions:
Definition: Autofire.cc:9