summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/cops1/mm5799.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/cpu/cops1/mm5799.h')
-rw-r--r--src/devices/cpu/cops1/mm5799.h61
1 files changed, 61 insertions, 0 deletions
diff --git a/src/devices/cpu/cops1/mm5799.h b/src/devices/cpu/cops1/mm5799.h
new file mode 100644
index 00000000000..d8f568e3808
--- /dev/null
+++ b/src/devices/cpu/cops1/mm5799.h
@@ -0,0 +1,61 @@
+// license:BSD-3-Clause
+// copyright-holders:hap
+/*
+
+ National Semiconductor MM5799 MCU
+
+*/
+
+#ifndef MAME_CPU_COPS1_MM5799_H
+#define MAME_CPU_COPS1_MM5799_H
+
+#pragma once
+
+#include "cops1base.h"
+
+// pinout reference
+
+/*
+ ____ ____
+ K1 1 |* \_/ | 28 DO1
+ K2 2 | | 27 DO2
+ K3 3 | | 26 DO3
+ K4 4 | | 25 DO4
+ INB 5 | | 24 SI
+ SYNC 6 | | 23 SO
+ OSC 7 | MM5799N | 22 BLK
+ F3 8 | | 21 Vdd
+ F2 9 | | 20 Sa
+ F1 10 | | 19 Sb
+ PWR ON 11 | | 18 Sc
+ Sp 12 | | 17 Sd
+ Sg 13 | | 16 Se
+ Sf 14 |___________| 15 Vss
+
+*/
+
+class mm5799_device : public cops1_base_device
+{
+public:
+ mm5799_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
+ // device_disasm_interface overrides
+ virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
+
+ // device_execute_interface overrides
+ virtual void execute_one() override;
+ virtual bool op_argument() override;
+
+ void data_map(address_map &map);
+ void program_map(address_map &map);
+};
+
+
+DECLARE_DEVICE_TYPE(MM5799, mm5799_device)
+
+#endif // MAME_CPU_COPS1_MM5799_H