diff --git a/Machines/Sinclair/ZXSpectrum/ZXSpectrum.cpp b/Machines/Sinclair/ZXSpectrum/ZXSpectrum.cpp index 4bb9ec581..c390283cc 100644 --- a/Machines/Sinclair/ZXSpectrum/ZXSpectrum.cpp +++ b/Machines/Sinclair/ZXSpectrum/ZXSpectrum.cpp @@ -12,6 +12,7 @@ #define LOG_PREFIX "[Spectrum] " +#include "../../../Activity/Source.hpp" #include "../../MachineTypes.hpp" #include "../../../Processors/Z80/Z80.hpp" @@ -46,6 +47,7 @@ namespace ZXSpectrum { using Model = Analyser::Static::ZXSpectrum::Target::Model; template class ConcreteMachine: + public Activity::Source, public Configurable::Device, public Machine, public MachineTypes::AudioProducer, @@ -447,6 +449,12 @@ template class ConcreteMachine: return &speaker_; } + // MARK: - Activity Source + void set_activity_observer(Activity::Observer *observer) override { + if constexpr (model == Model::Plus3) fdc_->set_activity_observer(observer); + tape_player_.set_activity_observer(observer); + } + private: CPU::Z80::Processor z80_;