diff --git a/Machines/Acorn/BBCMicro/BBCMicro.cpp b/Machines/Acorn/BBCMicro/BBCMicro.cpp index a876a9345..a9091b06b 100644 --- a/Machines/Acorn/BBCMicro/BBCMicro.cpp +++ b/Machines/Acorn/BBCMicro/BBCMicro.cpp @@ -10,6 +10,8 @@ #include "Machines/MachineTypes.hpp" +#include "Processors/6502/6502.hpp" + #include "Analyser/Static/Acorn/Target.hpp" namespace BBCMicro { @@ -23,13 +25,28 @@ public: ConcreteMachine( const Analyser::Static::Acorn::BBCMicroTarget &target, const ROMMachine::ROMFetcher &rom_fetcher - ) { + ) : + m6502_(*this) + { set_clock_rate(2'000'000); (void)target; (void)rom_fetcher; } + // MARK: - 6502 bus. + Cycles perform_bus_operation( + const CPU::MOS6502::BusOperation operation, + const uint16_t address, + uint8_t *const value + ) { + (void)operation; + (void)address; + (void)value; + + return Cycles(1); + } + private: // MARK: - ScanProducer. void set_scan_target(Outputs::Display::ScanTarget *) override {} @@ -38,8 +55,12 @@ private: } // MARK: - TimedMachine. - void run_for(const Cycles) override { + void run_for(const Cycles cycles) override { + m6502_.run_for(cycles); } + + // MARK: - Components. + CPU::MOS6502::Processor m6502_; }; }