2015-07-16 23:56:02 +00:00
|
|
|
//
|
2017-05-15 02:08:15 +00:00
|
|
|
// 6502AllRAM.hpp
|
2015-07-26 19:25:11 +00:00
|
|
|
// CLK
|
2015-07-16 23:56:02 +00:00
|
|
|
//
|
|
|
|
// Created by Thomas Harte on 13/07/2015.
|
|
|
|
// Copyright © 2015 Thomas Harte. All rights reserved.
|
|
|
|
//
|
|
|
|
|
2017-05-15 02:08:15 +00:00
|
|
|
#ifndef MOS6502AllRAM_cpp
|
|
|
|
#define MOS6502AllRAM_cpp
|
2015-07-16 23:56:02 +00:00
|
|
|
|
2017-05-15 02:08:15 +00:00
|
|
|
#include "6502.hpp"
|
2015-07-16 23:56:02 +00:00
|
|
|
|
2017-05-15 02:08:15 +00:00
|
|
|
namespace CPU {
|
|
|
|
namespace MOS6502 {
|
2015-07-16 23:56:02 +00:00
|
|
|
|
|
|
|
class AllRAMProcessor: public Processor<AllRAMProcessor> {
|
|
|
|
public:
|
|
|
|
AllRAMProcessor();
|
|
|
|
|
2017-05-15 02:08:15 +00:00
|
|
|
int perform_bus_operation(MOS6502::BusOperation operation, uint16_t address, uint8_t *value);
|
2015-07-16 23:56:02 +00:00
|
|
|
|
|
|
|
void set_data_at_address(uint16_t startAddress, size_t length, const uint8_t *data);
|
2015-08-12 23:51:06 +00:00
|
|
|
uint32_t get_timestamp();
|
2015-07-16 23:56:02 +00:00
|
|
|
|
|
|
|
private:
|
2017-05-17 01:19:17 +00:00
|
|
|
uint8_t memory_[65536];
|
|
|
|
uint32_t timestamp_;
|
2015-07-16 23:56:02 +00:00
|
|
|
};
|
|
|
|
|
2017-05-15 02:08:15 +00:00
|
|
|
}
|
2015-07-16 23:56:02 +00:00
|
|
|
}
|
|
|
|
|
2017-05-15 02:08:15 +00:00
|
|
|
#endif /* MOS6502AllRAM_cpp */
|