--- /dev/null
+#include "Clock.h"
+
+Clock::Clock(): QObject() {
+ m_clock = 0;
+}
+
+unsigned long Clock::getTime() {
+ return m_clock;
+}
+
+void Clock::advance(int cycles) {
+ m_clock += cycles;
+}
--- /dev/null
+#ifndef CLOCK_H
+#define CLOCK_H 1
+
+#include <QObject>
+
+class Clock: public QObject {
+ public:
+ Clock();
+
+ /**
+ * Returns the current timestamp in cycles.
+ */
+ unsigned long getTime();
+
+ /**
+ * Advances the clock by a given number of
+ * cycles.
+ */
+ void advance(int cycles);
+
+ private:
+ unsigned long m_clock;
+};
+
+#endif
--- /dev/null
+#include "MemoryMap.h"
+#include <QDebug>
+
+MemoryMap::MemoryMap(Memory *inside):
+ QObject() {
+
+ Q_UNUSED(inside);
+
+}
+
+int MemoryMap::read(int address) {
+ qDebug() << "Memory map read from" << address << "- returning 0";
+ return 0;
+}
+
+void MemoryMap::write(int address, int value) {
+ qDebug() << "Memory map write to" << address << "with" << value;
+}
--- /dev/null
+#ifndef MEMORYMAP_H
+#define MEMORYMAP_H
+
+#include <QObject>
+#include "Memory.h"
+
+class MemoryMap: public QObject {
+
+ Q_OBJECT
+
+ public:
+ MemoryMap(Memory *inside);
+
+ virtual int read(int address);
+ virtual void write(int address, int value);
+
+};
+
+#endif