1 // license:BSD-3-Clause
2 // copyright-holders:David Haywood
3 /*****************************************************************************
4
5 AXC51-CORE (AppoTech Inc.)
6
7 used in
8
9 AX208 SoC
10
11 *****************************************************************************/
12
13 #ifndef MAME_CPU_MCS51_AXC51_CORE_H
14 #define MAME_CPU_MCS51_AXC51_CORE_H
15
16 #pragma once
17
18 #include "mcs51.h"
19
DECLARE_DEVICE_TYPE(AXC51CORE,axc51core_cpu_device)20 DECLARE_DEVICE_TYPE(AXC51CORE, axc51core_cpu_device)
21 DECLARE_DEVICE_TYPE(AX208, ax208_cpu_device)
22
23 class axc51core_cpu_device : public mcs51_cpu_device
24 {
25 public:
26 // construction/destruction
27 axc51core_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
28 axc51core_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int program_width, int data_width, uint8_t features = 0);
29
30 protected:
31 virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
32 };
33
34
35 class ax208_cpu_device : public axc51core_cpu_device
36 {
37 public:
38 // construction/destruction
39 ax208_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
40
41 protected:
42 virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
43 virtual const tiny_rom_entry *device_rom_region() const override;
44 };
45
46 #endif // MAME_CPU_MCS51_AXC51_CORE_H
47