From b3114ed5207ac1ea40bd97a375796f6161580118 Mon Sep 17 00:00:00 2001 From: Adrian Conlon Date: Sun, 5 Nov 2017 14:48:15 +0000 Subject: [PATCH] Correct some possible one definition rule issues. Signed-off-by: Adrian Conlon --- Z80/inc/Z80.h | 30 +++++++----------------------- Z80/src/Z80.cpp | 21 +++++++++++++++++++++ 2 files changed, 28 insertions(+), 23 deletions(-) diff --git a/Z80/inc/Z80.h b/Z80/inc/Z80.h index bdbe2d2..0035f52 100644 --- a/Z80/inc/Z80.h +++ b/Z80/inc/Z80.h @@ -4,15 +4,13 @@ #include #include +#include +#include #include #include #include namespace EightBit { - - class InputOutput; - class Bus; - class Z80 : public IntelProcessor { public: struct refresh_t { @@ -60,21 +58,10 @@ namespace EightBit { virtual int execute(uint8_t opcode); int step(); - virtual register16_t& AF() override { - return m_accumulatorFlags[m_accumulatorFlagsSet]; - } - - virtual register16_t& BC() override { - return m_registers[m_registerSet][BC_IDX]; - } - - virtual register16_t& DE() override { - return m_registers[m_registerSet][DE_IDX]; - } - - virtual register16_t& HL() override { - return m_registers[m_registerSet][HL_IDX]; - } + virtual register16_t& AF() override; + virtual register16_t& BC() override; + virtual register16_t& DE() override; + virtual register16_t& HL() override; register16_t& IX() { return m_ix; } uint8_t& IXH() { return IX().high; } @@ -103,10 +90,7 @@ namespace EightBit { virtual void reset() override; protected: - virtual int fetchExecute() override { - M1() = true; - return IntelProcessor::fetchExecute(); - } + virtual int fetchExecute() override; private: InputOutput& m_ports; diff --git a/Z80/src/Z80.cpp b/Z80/src/Z80.cpp index ca334f2..445b44a 100644 --- a/Z80/src/Z80.cpp +++ b/Z80/src/Z80.cpp @@ -24,6 +24,27 @@ EightBit::Z80::Z80(Bus& bus, InputOutput& ports) IY().word = 0xffff; } +EightBit::register16_t& EightBit::Z80::AF() { + return m_accumulatorFlags[m_accumulatorFlagsSet]; +} + +EightBit::register16_t& EightBit::Z80::BC() { + return m_registers[m_registerSet][BC_IDX]; +} + +EightBit::register16_t& EightBit::Z80::DE() { + return m_registers[m_registerSet][DE_IDX]; +} + +EightBit::register16_t& EightBit::Z80::HL() { + return m_registers[m_registerSet][HL_IDX]; +} + +int EightBit::Z80::fetchExecute() { + M1() = true; + return IntelProcessor::fetchExecute(); +} + void EightBit::Z80::reset() { IntelProcessor::reset();