blob: f5b95fd770471d5b00e7c39e2f0e5a291f1ea120 (
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
|
// license:BSD-3-Clause
// copyright-holders:Patrick Mackinlay
#ifndef MAME_MACHINE_INTERPRO_ARBGA_H
#define MAME_MACHINE_INTERPRO_ARBGA_H
#pragma once
class interpro_arbga_device : public device_t
{
public:
interpro_arbga_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void map(address_map &map);
u32 sdepid_r() { return m_sdepid; }
void sdepid_w(u32 data) { m_sdepid = data; }
enum arbsnap_mask
{
ARBSNAP_GRANT = 0x0000000f,
ARBSNAP_HOGLOCK = 0x000000f0
};
u32 arbsnap_r() { return m_arbsnap; }
void arbsnap_w(u32 data) { m_arbsnap = data; }
u32 fixprils_r() { return m_fixprils; }
void fixprils_w(u32 data) { m_fixprils = data; }
u32 fixprims_r() { return m_fixprims; }
void fixprims_w(u32 data) { m_fixprims = data; }
u32 sysdomls_r() { return m_sysdomls; }
void sysdomls_w(u32 data) { m_sysdomls = data; }
u32 sysdomms_r() { return m_sysdomms; }
void sysdomms_w(u32 data) { m_sysdomms = data; }
enum tctrl_mask
{
TCTRL_UNUSED = 0x00000007,
TCTRL_ENNEM = 0x00000008,
TCTRL_ENHOG = 0x00000010
};
u32 tctrl_r() { return m_tctrl; }
void tctrl_w(u32 data) { m_tctrl = data; }
u8 inem_r() { return m_inem; }
void inem_w(u8 data) { m_inem = data; }
u8 enem_r() { return m_enem; }
void enem_w(u8 data) { m_enem = data; }
u32 hog_r() { return m_hog; }
void hog_w(u32 data) { m_hog = data; }
u32 lock_r() { return m_lock; }
void lock_w(u32 data) { m_lock = data; }
u32 lockprs_r() { return m_lockprs; }
void lockprs_w(u32 data) { m_lockprs = data; }
u32 hiblockls_r() { return m_hiblockls; }
void hiblockls_w(u32 data) { m_hiblockls = data; }
u32 hiblockms_r() { return m_hiblockms; }
void hiblockms_w(u32 data) { m_hiblockms = data; }
u32 arbrev_r() { return m_arbrev; }
void arbrev_w(u32 data) { m_arbrev = data; }
protected:
virtual void device_start() override;
virtual void device_reset() override;
private:
u32 m_sdepid = 0;
u32 m_arbsnap = 0;
u32 m_fixprils = 0;
u32 m_fixprims = 0;
u32 m_sysdomls = 0;
u32 m_sysdomms = 0;
u32 m_tctrl = 0;
u8 m_inem = 0;
u8 m_enem = 0;
u32 m_hog = 0;
u32 m_lock = 0;
u32 m_lockprs = 0;
u32 m_hiblockls = 0;
u32 m_hiblockms = 0;
u32 m_arbrev = 0;
};
// device type definition
DECLARE_DEVICE_TYPE(INTERPRO_ARBGA, interpro_arbga_device)
#endif // MAME_MACHINE_INTERPRO_ARBGA_H
|