summaryrefslogtreecommitdiff
path: root/vdp.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'vdp.hpp')
-rw-r--r--vdp.hpp23
1 files changed, 23 insertions, 0 deletions
diff --git a/vdp.hpp b/vdp.hpp
new file mode 100644
index 0000000..0e911c9
--- /dev/null
+++ b/vdp.hpp
@@ -0,0 +1,23 @@
+/* SPDX-License-Identifier: Unlicense
+ */
+
+#pragma once
+
+#include "bus.hpp"
+
+#include <cstdio>
+
+class VDP {
+ public:
+ VDP(const uint32_t base_address_a = VDP_START): base_address(base_address_a) {}
+ uint32_t Read(uint32_t offset, enum bitness);
+ void Write(uint32_t offset, enum bitness, uint32_t value);
+
+ const uint32_t base_address;
+
+ private:
+ void writeControl(uint16_t value);
+
+ static constexpr size_t kRegistersCount = 0x18;
+ uint8_t _reg[kRegistersCount]{};
+};