1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-11-23 03:32:32 +00:00
CLK/Processors/6502/6502AllRAM.hpp

41 lines
880 B
C++

//
// 6502AllRAM.hpp
// CLK
//
// Created by Thomas Harte on 13/07/2015.
// Copyright © 2015 Thomas Harte. All rights reserved.
//
#ifndef MOS6502AllRAM_cpp
#define MOS6502AllRAM_cpp
#include "6502.hpp"
#include "../AllRAMProcessor.hpp"
namespace CPU {
namespace MOS6502 {
class AllRAMProcessor:
public ::CPU::AllRAMProcessor {
public:
static AllRAMProcessor *Processor();
virtual ~AllRAMProcessor() {}
virtual void run_for_cycles(int number_of_cycles) = 0;
virtual bool is_jammed() = 0;
virtual void set_irq_line(bool value) = 0;
virtual void set_nmi_line(bool value) = 0;
virtual void return_from_subroutine() = 0;
virtual uint16_t get_value_of_register(Register r) = 0;
virtual void set_value_of_register(Register r, uint16_t value) = 0;
protected:
AllRAMProcessor() : ::CPU::AllRAMProcessor(65536) {}
};
}
}
#endif /* MOS6502AllRAM_cpp */