You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
564 B
31 lines
564 B
/* PlipCpu.h |
|
* |
|
* Defines a CPU implementation. |
|
*/ |
|
|
|
#pragma once |
|
|
|
#include <string> |
|
|
|
#include "../Memory/PlipMemoryMap.h" |
|
|
|
namespace Plip::Cpu { |
|
class PlipCpu { |
|
public: |
|
[[nodiscard]] long GetCycleTime() const; |
|
[[nodiscard]] long GetHz(long hz) const; |
|
void SetHz(long hz); |
|
|
|
virtual void Cycle() = 0; |
|
virtual void Reset(uint32_t pc) = 0; |
|
|
|
protected: |
|
PlipCpu(long hz, PlipMemoryMap* memoryMap); |
|
|
|
long m_hz {}; |
|
Plip::PlipMemoryMap *m_memory; |
|
|
|
private: |
|
long m_cycle {}; |
|
}; |
|
}
|
|
|