2018-10-06 22:52:39 +00:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <Ram.h>
|
|
|
|
#include <Bus.h>
|
|
|
|
#include <mc6809.h>
|
2018-11-10 20:29:27 +00:00
|
|
|
#include <Disassembly.h>
|
2018-10-06 22:52:39 +00:00
|
|
|
|
|
|
|
class Board : public EightBit::Bus {
|
|
|
|
public:
|
|
|
|
Board();
|
|
|
|
|
|
|
|
EightBit::mc6809& CPU() { return m_cpu; }
|
|
|
|
|
2019-01-14 02:10:17 +00:00
|
|
|
virtual void raisePOWER() final;
|
|
|
|
virtual void lowerPOWER() final;
|
2018-10-06 22:52:39 +00:00
|
|
|
|
|
|
|
protected:
|
2018-11-11 16:48:44 +00:00
|
|
|
virtual void initialise() final;
|
2019-01-14 02:10:17 +00:00
|
|
|
|
2018-10-06 22:52:39 +00:00
|
|
|
virtual EightBit::MemoryMapping mapping(uint16_t address) final;
|
|
|
|
|
|
|
|
private:
|
|
|
|
EightBit::Ram m_ram = 0x10000; // 0000 - FFFF, 64K RAM
|
|
|
|
EightBit::mc6809 m_cpu;
|
2018-11-10 20:29:27 +00:00
|
|
|
EightBit::Disassembly m_disassembler;
|
|
|
|
|
|
|
|
// The m_disassembleAt and m_ignoreDisassembly are used to skip pin events
|
|
|
|
EightBit::register16_t m_disassembleAt = 0x0000;
|
|
|
|
bool m_ignoreDisassembly = false;
|
|
|
|
|
|
|
|
void Cpu_ExecutingInstruction_Debug(EightBit::mc6809&);
|
|
|
|
void Cpu_ExecutedInstruction_Debug(EightBit::mc6809&);
|
2018-10-06 22:52:39 +00:00
|
|
|
};
|