summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/machine/nes_vt09_soc.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/machine/nes_vt09_soc.h')
-rw-r--r--src/mame/machine/nes_vt09_soc.h48
1 files changed, 48 insertions, 0 deletions
diff --git a/src/mame/machine/nes_vt09_soc.h b/src/mame/machine/nes_vt09_soc.h
new file mode 100644
index 00000000000..89846bf03ac
--- /dev/null
+++ b/src/mame/machine/nes_vt09_soc.h
@@ -0,0 +1,48 @@
+// license:BSD-3-Clause
+// copyright-holders:David Haywood
+#ifndef MAME_MACHINE_NES_VT09_SOC_H
+#define MAME_MACHINE_NES_VT09_SOC_H
+
+#pragma once
+
+#include "nes_vt_soc.h"
+#include "cpu/m6502/n2a03.h"
+#include "sound/nes_apu_vt.h"
+#include "machine/m6502_vtscr.h"
+#include "machine/m6502_swap_op_d5_d6.h"
+#include "video/ppu2c0x_vt.h"
+#include "screen.h"
+#include "speaker.h"
+
+class nes_vt09_soc_device : public nes_vt02_vt03_soc_device
+{
+public:
+ nes_vt09_soc_device(const machine_config& mconfig, const char* tag, device_t* owner, uint32_t clock);
+
+ // are these even part of vt09, or should they be moved out of here rather than this being treated as a base class for them?
+ auto upper_read_412c_callback() { return m_upper_read_412c_callback.bind(); }
+ auto upper_read_412d_callback() { return m_upper_read_412d_callback.bind(); }
+
+ auto upper_write_412c_callback() { return m_upper_write_412c_callback.bind(); }
+
+
+protected:
+ nes_vt09_soc_device(const machine_config& mconfig, device_type type, const char* tag, device_t* owner, uint32_t clock);
+ void device_start() override;
+
+ virtual void device_add_mconfig(machine_config& config) override;
+
+ void nes_vt_4k_ram_map(address_map& map);
+
+ // are these even part of vt09, or should they be moved out of here rather than this being treated as a base class for them?
+ devcb_write8 m_upper_write_412c_callback;
+
+ devcb_read8 m_upper_read_412c_callback;
+ devcb_read8 m_upper_read_412d_callback;
+};
+
+
+DECLARE_DEVICE_TYPE(NES_VT09_SOC, nes_vt09_soc_device)
+
+
+#endif // MAME_MACHINE_NES_VT09_SOC_H