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