summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/h8500/h8534.h
blob: 8e5c357ff1b31535ce63aa1110205f2dd65c0636 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
// license:BSD-3-Clause
// copyright-holders:AJR

#ifndef MAME_CPU_H8500_H8534_H
#define MAME_CPU_H8500_H8534_H

#pragma once

#include "h8500.h"

class h8534_device : public h8500_device
{
protected:
	// delegating constructor
	h8534_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock);

	h8534_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, address_map_constructor map);

	void register_field_map(address_map &map);

private:
	void internal_map(address_map &map);
};

class hd6475348_device : public h8534_device
{
public:
	// device type constructor
	hd6475348_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
};

class h8536_device : public h8534_device
{
protected:
	h8536_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock);

private:
	void internal_map(address_map &map);
};

class hd6435368_device : public h8536_device
{
public:
	// device type constructor
	hd6435368_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
};

DECLARE_DEVICE_TYPE(HD6475348, hd6475348_device)
DECLARE_DEVICE_TYPE(HD6435368, hd6435368_device)

#endif // MAME_CPU_H8500_H8534_H