summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/rw5000/b6000.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/cpu/rw5000/b6000.h')
-rw-r--r--src/devices/cpu/rw5000/b6000.h71
1 files changed, 71 insertions, 0 deletions
diff --git a/src/devices/cpu/rw5000/b6000.h b/src/devices/cpu/rw5000/b6000.h
new file mode 100644
index 00000000000..a99c754dbd9
--- /dev/null
+++ b/src/devices/cpu/rw5000/b6000.h
@@ -0,0 +1,71 @@
+// license:BSD-3-Clause
+// copyright-holders:hap
+/*
+
+ Rockwell B6000 MCU
+
+*/
+
+#ifndef MAME_CPU_RW5000_B6000_H
+#define MAME_CPU_RW5000_B6000_H
+
+#pragma once
+
+#include "b5000.h"
+
+// pinout reference (preliminary)
+
+/*
+ _____ _____
+ SEG0 1 |* \_/ | 42 SEG0P
+ SEG1 2 | | 41 NC
+ GRD 3 | | 40 NC
+ SEG2 4 | | 39 KB1
+ SEG3 5 | | 38 KB4
+ SEG4 6 | | 37 KB2
+ SEG5 7 | | 36 DIN1
+ SEG6 8 | | 35 ?
+ SEG7 9 | | 34 KB3
+ STR0 10 | B6000 | 33 NC
+ STR1 11 | | 32 NC
+ STR2 12 | | 31 NC
+ STR3 13 | | 30 NC
+ STR4 14 | | 29 NC
+ STR5 15 | | 28 NC
+ STR6 16 | | 27 NC
+ STR7 17 | | 26 ?
+ STR8 18 | | 25 ?
+ VDD 19 | | 24 VC?
+ VSS 20 | _ | 23 CLK
+ NC 21 |_____/ \_____| 22 NC
+
+*/
+
+class b6000_cpu_device : public b5000_cpu_device
+{
+public:
+ b6000_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+
+protected:
+ b6000_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data);
+
+ // device_disasm_interface overrides
+ virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
+
+ // device-level overrides
+ virtual void device_reset() override ATTR_COLD;
+
+ virtual void execute_one() override;
+ virtual u16 decode_digit(u8 data) override;
+
+ void program_512x8(address_map &map) ATTR_COLD;
+
+ // opcode handlers
+ virtual void op_tkbs() override;
+ virtual void op_atbz();
+};
+
+
+DECLARE_DEVICE_TYPE(B6000, b6000_cpu_device)
+
+#endif // MAME_CPU_RW5000_B6000_H