From ba516387baefbd4d5aed52f6b08abacc509acdd6 Mon Sep 17 00:00:00 2001 From: Thomas Harte Date: Thu, 23 Jan 2020 22:35:39 -0500 Subject: [PATCH] In all these instances, final => override. So no need to repeat myself. --- Inputs/Joystick.hpp | 6 +++--- Machines/AmstradCPC/AmstradCPC.cpp | 22 +++++++++++----------- Machines/Commodore/Vic-20/Vic20.cpp | 20 ++++++++++---------- Machines/Electron/Electron.cpp | 20 ++++++++++---------- Machines/MSX/MSX.cpp | 2 +- Machines/Oric/Oric.cpp | 4 ++-- Machines/ZX8081/ZX8081.cpp | 22 +++++++++++----------- 7 files changed, 48 insertions(+), 48 deletions(-) diff --git a/Inputs/Joystick.hpp b/Inputs/Joystick.hpp index b1908486c..e40494b09 100644 --- a/Inputs/Joystick.hpp +++ b/Inputs/Joystick.hpp @@ -170,11 +170,11 @@ class ConcreteJoystick: public Joystick { } } - std::vector &get_inputs() override final { + std::vector &get_inputs() final { return inputs_; } - void set_input(const Input &input, bool is_active) override final { + void set_input(const Input &input, bool is_active) final { // If this is a digital setting to a digital property, just pass it along. if(input.is_button() || stick_types_[input.info.control.index] == StickType::Digital) { did_set_input(input, is_active); @@ -193,7 +193,7 @@ class ConcreteJoystick: public Joystick { } } - void set_input(const Input &input, float value) override final { + void set_input(const Input &input, float value) final { // If this is an analogue setting to an analogue property, just pass it along. if(!input.is_button() && stick_types_[input.info.control.index] == StickType::Analogue) { did_set_input(input, value); diff --git a/Machines/AmstradCPC/AmstradCPC.cpp b/Machines/AmstradCPC/AmstradCPC.cpp index 19c68e772..a3c6de730 100644 --- a/Machines/AmstradCPC/AmstradCPC.cpp +++ b/Machines/AmstradCPC/AmstradCPC.cpp @@ -1007,7 +1007,7 @@ template class ConcreteMachine: } /// A CRTMachine function; sets the destination for video. - void set_scan_target(Outputs::Display::ScanTarget *scan_target) override final { + void set_scan_target(Outputs::Display::ScanTarget *scan_target) final { crtc_bus_handler_.set_scan_target(scan_target); } @@ -1017,21 +1017,21 @@ template class ConcreteMachine: } /// A CRTMachine function; sets the output display type. - void set_display_type(Outputs::Display::DisplayType display_type) override final { + void set_display_type(Outputs::Display::DisplayType display_type) final { crtc_bus_handler_.set_display_type(display_type); } /// @returns the speaker in use. - Outputs::Speaker::Speaker *get_speaker() override final { + Outputs::Speaker::Speaker *get_speaker() final { return ay_.get_speaker(); } /// Wires virtual-dispatched CRTMachine run_for requests to the static Z80 method. - void run_for(const Cycles cycles) override final { + void run_for(const Cycles cycles) final { z80_.run_for(cycles); } - bool insert_media(const Analyser::Static::Media &media) override final { + bool insert_media(const Analyser::Static::Media &media) final { // If there are any tapes supplied, use the first of them. if(!media.tapes.empty()) { tape_player_.set_tape(media.tapes.front()); @@ -1048,32 +1048,32 @@ template class ConcreteMachine: return !media.tapes.empty() || (!media.disks.empty() && has_fdc); } - void set_component_prefers_clocking(ClockingHint::Source *component, ClockingHint::Preference clocking) override final { + void set_component_prefers_clocking(ClockingHint::Source *component, ClockingHint::Preference clocking) final { fdc_is_sleeping_ = fdc_.preferred_clocking() == ClockingHint::Preference::None; tape_player_is_sleeping_ = tape_player_.preferred_clocking() == ClockingHint::Preference::None; } // MARK: - Keyboard - void type_string(const std::string &string) override final { + void type_string(const std::string &string) final { std::unique_ptr mapper(new CharacterMapper()); Utility::TypeRecipient::add_typer(string, std::move(mapper)); } - HalfCycles get_typer_delay() override final { + HalfCycles get_typer_delay() final { return Cycles(4000000); // Wait 1 second before typing. } - HalfCycles get_typer_frequency() override final { + HalfCycles get_typer_frequency() final { return Cycles(160000); // Type one character per frame. } // See header; sets a key as either pressed or released. - void set_key_state(uint16_t key, bool isPressed) override final { + void set_key_state(uint16_t key, bool isPressed) final { key_state_.set_is_pressed(isPressed, key >> 4, key & 7); } // See header; sets all keys to released. - void clear_all_keys() override final { + void clear_all_keys() final { key_state_.clear_all_keys(); } diff --git a/Machines/Commodore/Vic-20/Vic20.cpp b/Machines/Commodore/Vic-20/Vic20.cpp index 1a6c1eec3..4804c682c 100644 --- a/Machines/Commodore/Vic-20/Vic20.cpp +++ b/Machines/Commodore/Vic-20/Vic20.cpp @@ -453,7 +453,7 @@ class ConcreteMachine: } } - bool insert_media(const Analyser::Static::Media &media) override final { + bool insert_media(const Analyser::Static::Media &media) final { if(!media.tapes.empty()) { tape_->set_tape(media.tapes.front()); } @@ -477,14 +477,14 @@ class ConcreteMachine: return !media.tapes.empty() || (!media.disks.empty() && c1540_ != nullptr) || !media.cartridges.empty(); } - void set_key_state(uint16_t key, bool is_pressed) override final { + void set_key_state(uint16_t key, bool is_pressed) final { if(key != KeyRestore) keyboard_via_port_handler_->set_key_state(key, is_pressed); else user_port_via_.set_control_line_input(MOS::MOS6522::Port::A, MOS::MOS6522::Line::One, !is_pressed); } - void clear_all_keys() override final { + void clear_all_keys() final { keyboard_via_port_handler_->clear_all_keys(); } @@ -618,11 +618,11 @@ class ConcreteMachine: mos6560_.flush(); } - void run_for(const Cycles cycles) override final { + void run_for(const Cycles cycles) final { m6502_.run_for(cycles); } - void set_scan_target(Outputs::Display::ScanTarget *scan_target) override final { + void set_scan_target(Outputs::Display::ScanTarget *scan_target) final { mos6560_.set_scan_target(scan_target); } @@ -630,24 +630,24 @@ class ConcreteMachine: return mos6560_.get_scaled_scan_status(); } - void set_display_type(Outputs::Display::DisplayType display_type) override final { + void set_display_type(Outputs::Display::DisplayType display_type) final { mos6560_.set_display_type(display_type); } - Outputs::Speaker::Speaker *get_speaker() override final { + Outputs::Speaker::Speaker *get_speaker() final { return mos6560_.get_speaker(); } - void mos6522_did_change_interrupt_status(void *mos6522) override final { + void mos6522_did_change_interrupt_status(void *mos6522) final { m6502_.set_nmi_line(user_port_via_.get_interrupt_line()); m6502_.set_irq_line(keyboard_via_.get_interrupt_line()); } - void type_string(const std::string &string) override final { + void type_string(const std::string &string) final { Utility::TypeRecipient::add_typer(string, std::make_unique()); } - void tape_did_change_input(Storage::Tape::BinaryTapePlayer *tape) override final { + void tape_did_change_input(Storage::Tape::BinaryTapePlayer *tape) final { keyboard_via_.set_control_line_input(MOS::MOS6522::Port::A, MOS::MOS6522::Line::One, !tape->get_input()); } diff --git a/Machines/Electron/Electron.cpp b/Machines/Electron/Electron.cpp index c01a11fa9..1624f14a2 100644 --- a/Machines/Electron/Electron.cpp +++ b/Machines/Electron/Electron.cpp @@ -114,7 +114,7 @@ class ConcreteMachine: audio_queue_.flush(); } - void set_key_state(uint16_t key, bool isPressed) override final { + void set_key_state(uint16_t key, bool isPressed) final { if(key == KeyBreak) { m6502_.set_reset_line(isPressed); } else { @@ -125,12 +125,12 @@ class ConcreteMachine: } } - void clear_all_keys() override final { + void clear_all_keys() final { memset(key_states_, 0, sizeof(key_states_)); if(is_holding_shift_) set_key_state(KeyShift, true); } - bool insert_media(const Analyser::Static::Media &media) override final { + bool insert_media(const Analyser::Static::Media &media) final { if(!media.tapes.empty()) { tape_.set_tape(media.tapes.front()); } @@ -379,7 +379,7 @@ class ConcreteMachine: audio_queue_.perform(); } - void set_scan_target(Outputs::Display::ScanTarget *scan_target) override final { + void set_scan_target(Outputs::Display::ScanTarget *scan_target) final { video_output_.set_scan_target(scan_target); } @@ -391,28 +391,28 @@ class ConcreteMachine: video_output_.set_display_type(display_type); } - Outputs::Speaker::Speaker *get_speaker() override final { + Outputs::Speaker::Speaker *get_speaker() final { return &speaker_; } - void run_for(const Cycles cycles) override final { + void run_for(const Cycles cycles) final { m6502_.run_for(cycles); } - void tape_did_change_interrupt_status(Tape *tape) override final { + void tape_did_change_interrupt_status(Tape *tape) final { interrupt_status_ = (interrupt_status_ & ~(Interrupt::TransmitDataEmpty | Interrupt::ReceiveDataFull | Interrupt::HighToneDetect)) | tape_.get_interrupt_status(); evaluate_interrupts(); } - HalfCycles get_typer_delay() override final { + HalfCycles get_typer_delay() final { return m6502_.get_is_resetting() ? Cycles(625*25*128) : Cycles(0); // wait one second if resetting } - HalfCycles get_typer_frequency() override final { + HalfCycles get_typer_frequency() final { return Cycles(625*128*2); // accept a new character every two frames } - void type_string(const std::string &string) override final { + void type_string(const std::string &string) final { Utility::TypeRecipient::add_typer(string, std::make_unique()); } diff --git a/Machines/MSX/MSX.cpp b/Machines/MSX/MSX.cpp index 9cc894620..03388e484 100644 --- a/Machines/MSX/MSX.cpp +++ b/Machines/MSX/MSX.cpp @@ -360,7 +360,7 @@ class ConcreteMachine: return true; } - void type_string(const std::string &string) override final { + void type_string(const std::string &string) final { std::transform( string.begin(), string.end(), diff --git a/Machines/Oric/Oric.cpp b/Machines/Oric/Oric.cpp index bfad07a82..2d99a9eb3 100644 --- a/Machines/Oric/Oric.cpp +++ b/Machines/Oric/Oric.cpp @@ -608,7 +608,7 @@ template class Co } // WD::WD1770::Delegate - void wd1770_did_change_output(WD::WD1770 *wd1770) override final { + void wd1770_did_change_output(WD::WD1770 *wd1770) final { set_interrupt_line(); } @@ -665,7 +665,7 @@ template class Co } } - void set_component_prefers_clocking(ClockingHint::Source *component, ClockingHint::Preference preference) override final { + void set_component_prefers_clocking(ClockingHint::Source *component, ClockingHint::Preference preference) final { diskii_clocking_preference_ = diskii_.preferred_clocking(); } diff --git a/Machines/ZX8081/ZX8081.cpp b/Machines/ZX8081/ZX8081.cpp index 51a563c9c..4e2e1fe34 100644 --- a/Machines/ZX8081/ZX8081.cpp +++ b/Machines/ZX8081/ZX8081.cpp @@ -314,7 +314,7 @@ template class ConcreteMachine: } } - void set_scan_target(Outputs::Display::ScanTarget *scan_target) override final { + void set_scan_target(Outputs::Display::ScanTarget *scan_target) final { video_.set_scan_target(scan_target); } @@ -322,15 +322,15 @@ template class ConcreteMachine: return video_.get_scaled_scan_status(); } - Outputs::Speaker::Speaker *get_speaker() override final { + Outputs::Speaker::Speaker *get_speaker() final { return is_zx81 ? &speaker_ : nullptr; } - void run_for(const Cycles cycles) override final { + void run_for(const Cycles cycles) final { z80_.run_for(cycles); } - bool insert_media(const Analyser::Static::Media &media) override final { + bool insert_media(const Analyser::Static::Media &media) final { if(!media.tapes.empty()) { tape_player_.set_tape(media.tapes.front()); } @@ -339,19 +339,19 @@ template class ConcreteMachine: return !media.tapes.empty(); } - void type_string(const std::string &string) override final { + void type_string(const std::string &string) final { Utility::TypeRecipient::add_typer(string, std::make_unique(is_zx81)); } // MARK: - Keyboard - void set_key_state(uint16_t key, bool is_pressed) override final { + void set_key_state(uint16_t key, bool is_pressed) final { if(is_pressed) key_states_[key >> 8] &= static_cast(~key); else key_states_[key >> 8] |= static_cast(key); } - void clear_all_keys() override final { + void clear_all_keys() final { memset(key_states_, 0xff, 8); } @@ -364,17 +364,17 @@ template class ConcreteMachine: } } - void set_tape_is_playing(bool is_playing) override final { + void set_tape_is_playing(bool is_playing) final { tape_player_.set_motor_control(is_playing); } - bool get_tape_is_playing() override final { + bool get_tape_is_playing() final { return tape_player_.get_motor_control(); } // MARK: - Typer timing - HalfCycles get_typer_delay() override final { return Cycles(7000000); } - HalfCycles get_typer_frequency() override final { return Cycles(390000); } + HalfCycles get_typer_delay() final { return Cycles(7000000); } + HalfCycles get_typer_frequency() final { return Cycles(390000); } KeyboardMapper *get_keyboard_mapper() override { return &keyboard_mapper_;