Previous | 199869 Revisions | Next |
r23807 Thursday 20th June, 2013 at 06:08:34 UTC by Fabio Priuli |
---|
Modernized the Konami 053252 device [Osso] |
[src/emu/machine] | k053252.c k053252.h |
[src/mame/drivers] | dbz.c hexion.c moo.c mystwarr.c overdriv.c qdrmfgp.c rollerg.c rungun.c vendetta.c xexex.c |
[src/mame/includes] | dbz.h hexion.h moo.h mystwarr.h overdriv.h qdrmfgp.h rollerg.h vendetta.h |
r23806 | r23807 | |
---|---|---|
55 | 55 | #include "emu.h" |
56 | 56 | #include "k053252.h" |
57 | 57 | |
58 | struct k053252_state | |
59 | { | |
60 | UINT8 regs[16]; | |
61 | UINT16 hc,hfp,hbp; | |
62 | UINT16 vc,vfp,vbp; | |
63 | UINT8 vsw,hsw; | |
64 | 58 | |
65 | screen_device *screen; | |
66 | devcb_resolved_write_line int1_en; | |
67 | devcb_resolved_write_line int2_en; | |
68 | devcb_resolved_write_line int1_ack; | |
69 | devcb_resolved_write_line int2_ack; | |
70 | //devcb_resolved_write8 int_time; | |
71 | int offsx,offsy; | |
72 | }; | |
59 | const device_type K053252 = &device_creator<k053252_device>; | |
73 | 60 | |
61 | k053252_device::k053252_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) | |
62 | : device_t(mconfig, K053252, "Konami 053252", tag, owner, clock) | |
63 | { | |
64 | } | |
74 | 65 | |
75 | /***************************************************************************** | |
76 | INLINE FUNCTIONS | |
77 | *****************************************************************************/ | |
66 | //------------------------------------------------- | |
67 | // device_config_complete - perform any | |
68 | // operations now that the configuration is | |
69 | // complete | |
70 | //------------------------------------------------- | |
78 | 71 | |
79 | ||
72 | void k053252_device::device_config_complete() | |
80 | 73 | { |
81 | assert(device != NULL); | |
82 | assert(device->type() == K053252); | |
74 | // inherit a copy of the static data | |
75 | const k053252_interface *intf = reinterpret_cast<const k053252_interface *>(static_config()); | |
76 | if (intf != NULL) | |
77 | *static_cast<k053252_interface *>(this) = *intf; | |
78 | ||
79 | // or initialize to defaults if none provided | |
80 | else | |
81 | { | |
82 | m_screen_tag = ""; | |
83 | memset(&m_int1_en, 0, sizeof(m_int1_en)); | |
84 | memset(&m_int2_en, 0, sizeof(m_int2_en)); | |
85 | memset(&m_int1_ack, 0, sizeof(m_int1_ack)); | |
86 | memset(&m_int2_ack, 0, sizeof(m_int2_ack)); | |
87 | //memset(&m_int_time, 0, sizeof(m_int_time)); | |
88 | } | |
89 | } | |
83 | 90 | |
84 | return (k053252_state *)downcast<k053252_device *>(device)->token(); | |
91 | //------------------------------------------------- | |
92 | // device_start - device-specific startup | |
93 | //------------------------------------------------- | |
94 | ||
95 | void k053252_device::device_start() | |
96 | { | |
97 | save_item(NAME(m_regs)); | |
98 | m_screen = machine().device<screen_device>(m_screen_tag); | |
99 | m_int1_en_func.resolve(m_int1_en, *this); | |
100 | m_int2_en_func.resolve(m_int2_en, *this); | |
101 | m_int1_ack_func.resolve(m_int1_ack, *this); | |
102 | m_int2_ack_func.resolve(m_int2_ack, *this); | |
103 | //m_int_time_func.resolve(m_int_time, *this); | |
85 | 104 | } |
86 | 105 | |
87 | INLINE const k053252_interface *k053252_get_interface( device_t *device ) | |
106 | //------------------------------------------------- | |
107 | // device_reset - device-specific reset | |
108 | //------------------------------------------------- | |
109 | ||
110 | void k053252_device::device_reset() | |
88 | 111 | { |
89 | assert(device != NULL); | |
90 | assert(device->type() == K053252); | |
112 | int i; | |
91 | 113 | |
92 | return (const k053252_interface *) device->static_config(); | |
114 | for (i = 0; i < 16; i++) | |
115 | m_regs[i] = 0; | |
116 | ||
117 | m_regs[0x08] = 1; // Xexex apparently does a wrong assignment for VC (sets up the INT enable register instead) | |
118 | ||
119 | m_hc=0; | |
120 | m_hfp=0; | |
121 | m_hbp=0; | |
122 | m_vc=0; | |
123 | m_vfp=0; | |
124 | m_vbp=0; | |
125 | m_vsw=0; | |
126 | m_hsw=0; | |
93 | 127 | } |
94 | 128 | |
129 | ||
95 | 130 | /***************************************************************************** |
96 | 131 | DEVICE HANDLERS |
97 | 132 | *****************************************************************************/ |
98 | 133 | |
99 | READ8_ | |
134 | READ8_MEMBER( k053252_device::read ) | |
100 | 135 | { |
101 | k053252_state *k053252 = k053252_get_safe_token(device); | |
102 | ||
103 | 136 | //TODO: debugger_access() |
104 | 137 | popmessage("Warning: k053252 read %02x, contact MAMEdev",offset); |
105 | 138 | |
106 | return | |
139 | return m_regs[offset]; | |
107 | 140 | } |
108 | 141 | |
109 | ||
142 | void k053252_device::res_change() | |
110 | 143 | { |
111 | k053252_state *k053252 = k053252_get_safe_token(device); | |
112 | ||
113 | if(k053252->screen != NULL) | |
144 | if(m_screen != NULL) | |
114 | 145 | { |
115 | if(k053252->hc && k053252->vc && | |
116 | k053252->hbp && k053252->hfp && | |
117 | k053252->vbp && k053252->vfp && | |
118 | k053252->hsw && k053252->vsw) //safety checks | |
146 | if(m_hc && m_vc && | |
147 | m_hbp && m_hfp && | |
148 | m_vbp && m_vfp && | |
149 | m_hsw && m_vsw) //safety checks | |
119 | 150 | { |
120 | 151 | rectangle visarea; |
121 | 152 | //(HC+1) - HFP - HBP - 8*(HSW+1) |
122 | 153 | //VC - VFP - VBP - (VSW+1) |
123 | attoseconds_t refresh = HZ_TO_ATTOSECONDS( | |
154 | attoseconds_t refresh = HZ_TO_ATTOSECONDS(clock()) * (m_hc) * m_vc; | |
124 | 155 | |
125 | //printf("H %d %d %d %d\n",k053252->hc,k053252->hfp,k053252->hbp,k053252->hsw); | |
126 | //printf("V %d %d %d %d\n",k053252->vc,k053252->vfp,k053252->vbp,k053252->vsw); | |
156 | //printf("H %d %d %d %d\n",m_hc,m_hfp,m_hbp,m_hsw); | |
157 | //printf("V %d %d %d %d\n",m_vc,m_vfp,m_vbp,m_vsw); | |
127 | 158 | |
128 | visarea.min_x = k053252->offsx; | |
129 | visarea.min_y = k053252->offsy; | |
130 | visarea.max_x = k053252->offsx + k053252->hc - k053252->hfp - k053252->hbp - 8*(k053252->hsw) - 1; | |
131 | visarea.max_y = k053252->offsy + k053252->vc - k053252->vfp - k053252->vbp - (k053252->vsw) - 1; | |
159 | visarea.min_x = m_offsx; | |
160 | visarea.min_y = m_offsy; | |
161 | visarea.max_x = m_offsx + m_hc - m_hfp - m_hbp - 8*(m_hsw) - 1; | |
162 | visarea.max_y = m_offsy + m_vc - m_vfp - m_vbp - (m_vsw) - 1; | |
132 | 163 | |
133 | | |
164 | m_screen->configure(m_hc, m_vc, visarea, refresh); | |
134 | 165 | } |
135 | 166 | } |
136 | 167 | } |
137 | 168 | |
138 | WRITE8_ | |
169 | WRITE8_MEMBER( k053252_device::write ) | |
139 | 170 | { |
140 | | |
171 | m_regs[offset] = data; | |
141 | 172 | |
142 | k053252->regs[offset] = data; | |
143 | ||
144 | 173 | switch(offset) |
145 | 174 | { |
146 | 175 | case 0x00: |
147 | 176 | case 0x01: |
148 | k053252->hc = (k053252->regs[1]&0xff); | |
149 | k053252->hc |= ((k053252->regs[0]&0x03)<<8); | |
150 | k053252->hc ++; | |
151 | logerror("%d (%04x) HC set\n",k053252->hc,k053252->hc); | |
152 | k053252_res_change(device); | |
177 | m_hc = (m_regs[1]&0xff); | |
178 | m_hc |= ((m_regs[0]&0x03)<<8); | |
179 | m_hc ++; | |
180 | logerror("%d (%04x) HC set\n",m_hc,m_hc); | |
181 | res_change(); | |
153 | 182 | break; |
154 | 183 | case 0x02: |
155 | 184 | case 0x03: |
156 | k053252->hfp = (k053252->regs[3]&0xff); | |
157 | k053252->hfp |= ((k053252->regs[2]&0x01)<<8); | |
158 | logerror("%d (%04x) HFP set\n",k053252->hfp,k053252->hfp); | |
159 | k053252_res_change(device); | |
185 | m_hfp = (m_regs[3]&0xff); | |
186 | m_hfp |= ((m_regs[2]&0x01)<<8); | |
187 | logerror("%d (%04x) HFP set\n",m_hfp,m_hfp); | |
188 | res_change(); | |
160 | 189 | break; |
161 | 190 | case 0x04: |
162 | 191 | case 0x05: |
163 | k053252->hbp = (k053252->regs[5]&0xff); | |
164 | k053252->hbp |= ((k053252->regs[4]&0x01)<<8); | |
165 | logerror("%d (%04x) HBP set\n",k053252->hbp,k053252->hbp); | |
166 | k053252_res_change(device); | |
192 | m_hbp = (m_regs[5]&0xff); | |
193 | m_hbp |= ((m_regs[4]&0x01)<<8); | |
194 | logerror("%d (%04x) HBP set\n",m_hbp,m_hbp); | |
195 | res_change(); | |
167 | 196 | break; |
168 | case 0x06: k053252->int1_en(data); break; | |
169 | case 0x07: k053252->int2_en(data); break; | |
197 | case 0x06: m_int1_en_func(data); break; | |
198 | case 0x07: m_int2_en_func(data); break; | |
170 | 199 | case 0x08: |
171 | 200 | case 0x09: |
172 | k053252->vc = (k053252->regs[9]&0xff); | |
173 | k053252->vc |= ((k053252->regs[8]&0x01)<<8); | |
174 | logerror("%d (%04x) VC set\n",k053252->vc,k053252->vc); | |
175 | k053252_res_change(device); | |
201 | m_vc = (m_regs[9]&0xff); | |
202 | m_vc |= ((m_regs[8]&0x01)<<8); | |
203 | logerror("%d (%04x) VC set\n",m_vc,m_vc); | |
204 | res_change(); | |
176 | 205 | break; |
177 | 206 | case 0x0a: |
178 | k053252->vfp = (k053252->regs[0x0a]&0xff); | |
179 | logerror("%d (%04x) VFP set\n",k053252->vfp,k053252->vfp); | |
180 | k053252_res_change(device); | |
207 | m_vfp = (m_regs[0x0a]&0xff); | |
208 | logerror("%d (%04x) VFP set\n",m_vfp,m_vfp); | |
209 | res_change(); | |
181 | 210 | break; |
182 | 211 | case 0x0b: |
183 | k053252->vbp = (k053252->regs[0x0b]&0xff); | |
184 | logerror("%d (%04x) VBP set\n",k053252->vbp,k053252->vbp); | |
185 | k053252_res_change(device); | |
212 | m_vbp = (m_regs[0x0b]&0xff); | |
213 | logerror("%d (%04x) VBP set\n",m_vbp,m_vbp); | |
214 | res_change(); | |
186 | 215 | break; |
187 | 216 | case 0x0c: |
188 | k053252->vsw = ((k053252->regs[0x0c]&0xf0) >> 4) + 1; | |
189 | k053252->hsw = ((k053252->regs[0x0c]&0x0f) >> 0) + 1; | |
190 | logerror("%02x VSW / %02x HSW set\n",k053252->vsw,k053252->hsw); | |
191 | k053252_res_change(device); | |
217 | m_vsw = ((m_regs[0x0c]&0xf0) >> 4) + 1; | |
218 | m_hsw = ((m_regs[0x0c]&0x0f) >> 0) + 1; | |
219 | logerror("%02x VSW / %02x HSW set\n",m_vsw,m_hsw); | |
220 | res_change(); | |
192 | 221 | break; |
193 | //case 0x0d: k053252->int_time(data); break; | |
194 | case 0x0e: k053252->int1_ack(1); break; | |
195 | case 0x0f: k053252->int2_ack(1); break; | |
222 | //case 0x0d: m_int_time(data); break; | |
223 | case 0x0e: m_int1_ack_func(1); break; | |
224 | case 0x0f: m_int2_ack_func(1); break; | |
196 | 225 | } |
197 | 226 | } |
198 | ||
199 | ||
200 | ||
201 | /***************************************************************************** | |
202 | DEVICE INTERFACE | |
203 | *****************************************************************************/ | |
204 | ||
205 | static DEVICE_START( k053252 ) | |
206 | { | |
207 | k053252_state *k053252 = k053252_get_safe_token(device); | |
208 | const k053252_interface *intf = k053252_get_interface(device); | |
209 | ||
210 | device->save_item(NAME(k053252->regs)); | |
211 | k053252->screen = device->machine().device<screen_device>(intf->screen); | |
212 | k053252->int1_en.resolve(intf->int1_en, *device); | |
213 | k053252->int2_en.resolve(intf->int2_en, *device); | |
214 | k053252->int1_ack.resolve(intf->int1_ack, *device); | |
215 | k053252->int2_ack.resolve(intf->int2_ack, *device); | |
216 | //k053252->int_time.resolve(intf->int_time, *device); | |
217 | k053252->offsx = intf->offsx; | |
218 | k053252->offsy = intf->offsy; | |
219 | } | |
220 | ||
221 | static DEVICE_RESET( k053252 ) | |
222 | { | |
223 | k053252_state *k053252 = k053252_get_safe_token(device); | |
224 | int i; | |
225 | ||
226 | for (i = 0; i < 16; i++) | |
227 | k053252->regs[i] = 0; | |
228 | ||
229 | k053252->regs[0x08] = 1; // Xexex apparently does a wrong assignment for VC (sets up the INT enable register instead) | |
230 | } | |
231 | ||
232 | ||
233 | const device_type K053252 = &device_creator<k053252_device>; | |
234 | ||
235 | k053252_device::k053252_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) | |
236 | : device_t(mconfig, K053252, "Konami 053252", tag, owner, clock) | |
237 | { | |
238 | m_token = global_alloc_clear(k053252_state); | |
239 | } | |
240 | ||
241 | //------------------------------------------------- | |
242 | // device_config_complete - perform any | |
243 | // operations now that the configuration is | |
244 | // complete | |
245 | //------------------------------------------------- | |
246 | ||
247 | void k053252_device::device_config_complete() | |
248 | { | |
249 | } | |
250 | ||
251 | //------------------------------------------------- | |
252 | // device_start - device-specific startup | |
253 | //------------------------------------------------- | |
254 | ||
255 | void k053252_device::device_start() | |
256 | { | |
257 | DEVICE_START_NAME( k053252 )(this); | |
258 | } | |
259 | ||
260 | //------------------------------------------------- | |
261 | // device_reset - device-specific reset | |
262 | //------------------------------------------------- | |
263 | ||
264 | void k053252_device::device_reset() | |
265 | { | |
266 | DEVICE_RESET_NAME( k053252 )(this); | |
267 | } |
r23806 | r23807 | |
---|---|---|
5 | 5 | #ifndef __K053252_H__ |
6 | 6 | #define __K053252_H__ |
7 | 7 | |
8 | #include "devlegcy.h" | |
9 | 8 | |
10 | ||
9 | struct k053252_interface | |
11 | 10 | { |
11 | const char *m_screen_tag; | |
12 | devcb_write_line m_int1_en; | |
13 | devcb_write_line m_int2_en; | |
14 | devcb_write_line m_int1_ack; | |
15 | devcb_write_line m_int2_ack; | |
16 | // devcb_write8 m_int_time; | |
17 | int m_offsx; | |
18 | int m_offsy; | |
19 | }; | |
20 | ||
21 | class k053252_device : public device_t, | |
22 | public k053252_interface | |
23 | { | |
12 | 24 | public: |
13 | 25 | k053252_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); |
14 | ~k053252_device() { global_free(m_token); } | |
15 | ||
16 | // access to legacy token | |
17 | void *token() const { assert(m_token != NULL); return m_token; } | |
26 | ~k053252_device() {} | |
27 | ||
28 | DECLARE_READ8_MEMBER( read ); // CCU registers | |
29 | DECLARE_WRITE8_MEMBER( write ); | |
30 | ||
31 | void res_change(); | |
32 | ||
18 | 33 | protected: |
19 | 34 | // device-level overrides |
20 | 35 | virtual void device_config_complete(); |
21 | 36 | virtual void device_start(); |
22 | 37 | virtual void device_reset(); |
23 | private: | |
38 | ||
39 | private: | |
24 | 40 | // internal state |
25 | void *m_token; | |
41 | UINT8 m_regs[16]; | |
42 | UINT16 m_hc,m_hfp,m_hbp; | |
43 | UINT16 m_vc,m_vfp,m_vbp; | |
44 | UINT8 m_vsw,m_hsw; | |
45 | ||
46 | screen_device *m_screen; | |
47 | devcb_resolved_write_line m_int1_en_func; | |
48 | devcb_resolved_write_line m_int2_en_func; | |
49 | devcb_resolved_write_line m_int1_ack_func; | |
50 | devcb_resolved_write_line m_int2_ack_func; | |
51 | //devcb_resolved_write8 m_int_time_func; | |
26 | 52 | }; |
27 | 53 | |
28 | 54 | extern const device_type K053252; |
29 | 55 | |
30 | ||
31 | ||
32 | ||
33 | struct k053252_interface | |
34 | { | |
35 | const char *screen; | |
36 | devcb_write_line int1_en; | |
37 | devcb_write_line int2_en; | |
38 | devcb_write_line int1_ack; | |
39 | devcb_write_line int2_ack; | |
40 | // devcb_write8 int_time; | |
41 | int offsx; | |
42 | int offsy; | |
43 | }; | |
44 | ||
45 | ||
46 | 56 | #define MCFG_K053252_ADD(_tag, _clock, _interface) \ |
47 | 57 | MCFG_DEVICE_ADD(_tag, K053252, _clock) \ |
48 | 58 | MCFG_DEVICE_CONFIG(_interface) |
49 | 59 | |
50 | /** Konami 053252 **/ | |
51 | /* CRT and interrupt control unit */ | |
52 | DECLARE_READ8_DEVICE_HANDLER( k053252_r ); // CCU registers | |
53 | DECLARE_WRITE8_DEVICE_HANDLER( k053252_w ); | |
54 | 60 | |
55 | ||
56 | ||
57 | 61 | #endif /* __K033906_H__ */ |
r23806 | r23807 | |
---|---|---|
13 | 13 | #include "emu.h" |
14 | 14 | #include "cpu/z80/z80.h" |
15 | 15 | #include "video/konicdev.h" |
16 | #include "machine/k053252.h" | |
17 | 16 | #include "cpu/m6809/konami.h" /* for the callback and the firq irq definition */ |
18 | 17 | #include "sound/3812intf.h" |
19 | 18 | #include "sound/k053260.h" |
r23806 | r23807 | |
93 | 92 | AM_RANGE(0x0053, 0x0053) AM_READ_PORT("DSW1") |
94 | 93 | AM_RANGE(0x0060, 0x0060) AM_READ_PORT("DSW2") |
95 | 94 | AM_RANGE(0x0061, 0x0061) AM_READ(pip_r) /* ????? */ |
96 | AM_RANGE(0x0100, 0x010f) AM_DEVREADWRITE | |
95 | AM_RANGE(0x0100, 0x010f) AM_DEVREADWRITE("k053252", k053252_device, read, write) /* 053252? */ | |
97 | 96 | AM_RANGE(0x0200, 0x020f) AM_DEVWRITE_LEGACY("k051316", k051316_ctrl_w) |
98 | 97 | AM_RANGE(0x0300, 0x030f) AM_DEVREADWRITE_LEGACY("k053244", k053244_r, k053244_w) |
99 | 98 | AM_RANGE(0x0800, 0x0fff) AM_READ(rollerg_k051316_r) AM_DEVWRITE_LEGACY("k051316", k051316_w) |
r23806 | r23807 | |
---|---|---|
318 | 318 | AM_RANGE(0x0c8000, 0x0c800f) AM_DEVREADWRITE("k053250", k053250_device, reg_r, reg_w) |
319 | 319 | AM_RANGE(0x0ca000, 0x0ca01f) AM_DEVWRITE_LEGACY("k054338", k054338_word_w) // CLTC |
320 | 320 | AM_RANGE(0x0cc000, 0x0cc01f) AM_DEVWRITE_LEGACY("k053251", k053251_lsb_w) // priority encoder |
321 | // AM_RANGE(0x0d0000, 0x0d001f) AM_DEVREADWRITE8 | |
321 | // AM_RANGE(0x0d0000, 0x0d001f) AM_DEVREADWRITE8("k053252", k053252_device, read, write, 0x00ff) // CCU | |
322 | 322 | AM_RANGE(0x0d4000, 0x0d4001) AM_WRITE(sound_irq_w) |
323 | 323 | AM_RANGE(0x0d600c, 0x0d600d) AM_WRITE(sound_cmd1_w) |
324 | 324 | AM_RANGE(0x0d600e, 0x0d600f) AM_WRITE(sound_cmd2_w) |
r23806 | r23807 | |
---|---|---|
46 | 46 | #include "sound/okim6295.h" |
47 | 47 | #include "sound/k054539.h" |
48 | 48 | #include "video/konicdev.h" |
49 | #include "machine/k053252.h" | |
50 | 49 | #include "includes/konamipt.h" |
51 | 50 | #include "includes/moo.h" |
52 | 51 | |
r23806 | r23807 | |
263 | 262 | AM_RANGE(0x0ca000, 0x0ca01f) AM_DEVWRITE_LEGACY("k054338", k054338_word_w) /* K054338 alpha blending engine */ |
264 | 263 | AM_RANGE(0x0cc000, 0x0cc01f) AM_DEVWRITE_LEGACY("k053251", k053251_lsb_w) |
265 | 264 | AM_RANGE(0x0ce000, 0x0ce01f) AM_WRITE(moo_prot_w) |
266 | AM_RANGE(0x0d0000, 0x0d001f) AM_DEVREADWRITE8 | |
265 | AM_RANGE(0x0d0000, 0x0d001f) AM_DEVREADWRITE8("k053252", k053252_device, read, write, 0x00ff) /* CCU regs (ignored) */ | |
267 | 266 | AM_RANGE(0x0d4000, 0x0d4001) AM_WRITE(sound_irq_w) |
268 | 267 | AM_RANGE(0x0d600c, 0x0d600d) AM_WRITE(sound_cmd1_w) |
269 | 268 | AM_RANGE(0x0d600e, 0x0d600f) AM_WRITE(sound_cmd2_w) |
r23806 | r23807 | |
328 | 327 | AM_RANGE(0x0ca000, 0x0ca01f) AM_DEVWRITE_LEGACY("k054338", k054338_word_w) /* K054338 alpha blending engine */ |
329 | 328 | AM_RANGE(0x0cc000, 0x0cc01f) AM_DEVWRITE_LEGACY("k053251", k053251_lsb_w) |
330 | 329 | AM_RANGE(0x0ce000, 0x0ce01f) AM_WRITE(moo_prot_w) |
331 | AM_RANGE(0x0d0000, 0x0d001f) AM_DEVREADWRITE8 | |
330 | AM_RANGE(0x0d0000, 0x0d001f) AM_DEVREADWRITE8("k053252", k053252_device, read, write, 0x00ff) /* CCU regs (ignored) */ | |
332 | 331 | AM_RANGE(0x0d2000, 0x0d20ff) AM_DEVREADWRITE_LEGACY("k054000", k054000_lsb_r, k054000_lsb_w) |
333 | 332 | AM_RANGE(0x0d4000, 0x0d4001) AM_WRITE(sound_irq_w) |
334 | 333 | AM_RANGE(0x0d600c, 0x0d600d) AM_WRITE(sound_cmd1_w) |
r23806 | r23807 | |
---|---|---|
23 | 23 | #include "cpu/m68000/m68000.h" |
24 | 24 | #include "video/konicdev.h" |
25 | 25 | #include "video/k053250.h" |
26 | #include "machine/k053252.h" | |
27 | 26 | #include "machine/eeprom.h" |
28 | 27 | #include "cpu/m6809/m6809.h" |
29 | 28 | #include "sound/2151intf.h" |
r23806 | r23807 | |
163 | 162 | AM_RANGE(0x0c0000, 0x0c0001) AM_READ_PORT("INPUTS") |
164 | 163 | AM_RANGE(0x0c0002, 0x0c0003) AM_READ_PORT("SYSTEM") |
165 | 164 | AM_RANGE(0x0e0000, 0x0e0001) AM_WRITENOP /* unknown (always 0x30) */ |
166 | AM_RANGE(0x100000, 0x10001f) AM_DEVREADWRITE8 | |
165 | AM_RANGE(0x100000, 0x10001f) AM_DEVREADWRITE8("k053252", k053252_device, read, write, 0x00ff) /* 053252? (LSB) */ | |
167 | 166 | AM_RANGE(0x140000, 0x140001) AM_WRITENOP //watchdog reset? |
168 | 167 | AM_RANGE(0x180000, 0x180001) AM_READ_PORT("PADDLE") |
169 | 168 | AM_RANGE(0x1c0000, 0x1c001f) AM_DEVWRITE8_LEGACY("k051316_1", k051316_ctrl_w, 0xff00) |
r23806 | r23807 | |
---|---|---|
57 | 57 | #include "sound/okim6295.h" |
58 | 58 | #include "includes/dbz.h" |
59 | 59 | #include "video/konicdev.h" |
60 | #include "machine/k053252.h" | |
61 | 60 | |
62 | 61 | |
63 | 62 | |
r23806 | r23807 | |
128 | 127 | AM_RANGE(0x4ec000, 0x4ec001) AM_WRITE(dbzcontrol_w) |
129 | 128 | AM_RANGE(0x4f0000, 0x4f0001) AM_WRITE(dbz_sound_command_w) |
130 | 129 | AM_RANGE(0x4f4000, 0x4f4001) AM_WRITE(dbz_sound_cause_nmi) |
131 | AM_RANGE(0x4f8000, 0x4f801f) AM_DEVREADWRITE8 | |
130 | AM_RANGE(0x4f8000, 0x4f801f) AM_DEVREADWRITE8("k053252", k053252_device, read, write, 0xff00) // 251 #1 | |
132 | 131 | AM_RANGE(0x4fc000, 0x4fc01f) AM_DEVWRITE_LEGACY("k053251", k053251_lsb_w) // 251 #2 |
133 | 132 | |
134 | 133 | AM_RANGE(0x500000, 0x501fff) AM_RAM_WRITE(dbz_bg2_videoram_w) AM_SHARE("bg2_videoram") |
r23806 | r23807 | |
---|---|---|
24 | 24 | #include "emu.h" |
25 | 25 | #include "video/konamiic.h" |
26 | 26 | #include "video/k053250.h" |
27 | #include "machine/k053252.h" | |
28 | 27 | #include "includes/konamigx.h" |
29 | 28 | #include "cpu/m68000/m68000.h" |
30 | 29 | #include "cpu/z80/z80.h" |
r23806 | r23807 | |
266 | 265 | AM_RANGE(0x498014, 0x498015) AM_READ(sound_status_r) |
267 | 266 | AM_RANGE(0x498000, 0x49801f) AM_RAM |
268 | 267 | AM_RANGE(0x49a000, 0x49a001) AM_WRITE(sound_irq_w) |
269 | AM_RANGE(0x49c000, 0x49c01f) AM_DEVREADWRITE8 | |
268 | AM_RANGE(0x49c000, 0x49c01f) AM_DEVREADWRITE8("k053252", k053252_device, read, write, 0x00ff) | |
270 | 269 | AM_RANGE(0x49e000, 0x49e007) AM_WRITE(irq_ack_w) // VSCCS (custom) |
271 | 270 | AM_RANGE(0x600000, 0x601fff) AM_READWRITE_LEGACY(K056832_ram_word_r,K056832_ram_word_w) |
272 | 271 | AM_RANGE(0x602000, 0x603fff) AM_READWRITE_LEGACY(K056832_ram_word_r,K056832_ram_word_w) // tilemap RAM mirror read(essential) |
r23806 | r23807 | |
294 | 293 | AM_RANGE(0x250000, 0x25000f) AM_DEVREADWRITE("k053250_1", k053250_device, reg_r, reg_w) |
295 | 294 | AM_RANGE(0x254000, 0x25401f) AM_WRITE_LEGACY(K054338_word_w) |
296 | 295 | AM_RANGE(0x258000, 0x2580ff) AM_WRITE_LEGACY(K055555_word_w) |
297 | AM_RANGE(0x260000, 0x26001f) AM_DEVREADWRITE8 | |
296 | AM_RANGE(0x260000, 0x26001f) AM_DEVREADWRITE8("k053252", k053252_device, read, write, 0x00ff) | |
298 | 297 | AM_RANGE(0x264000, 0x264001) AM_WRITE(sound_irq_w) |
299 | 298 | AM_RANGE(0x26800c, 0x26800d) AM_WRITE(sound_cmd1_w) |
300 | 299 | AM_RANGE(0x26800e, 0x26800f) AM_WRITE(sound_cmd2_w) |
r23806 | r23807 | |
337 | 336 | AM_RANGE(0x254000, 0x25401f) AM_WRITE_LEGACY(K054338_word_w) |
338 | 337 | AM_RANGE(0x258000, 0x2580ff) AM_WRITE_LEGACY(K055555_word_w) |
339 | 338 | AM_RANGE(0x25c000, 0x25c03f) AM_READWRITE(K055550_word_r,K055550_word_w) |
340 | AM_RANGE(0x260000, 0x26001f) AM_DEVREADWRITE8 | |
339 | AM_RANGE(0x260000, 0x26001f) AM_DEVREADWRITE8("k053252", k053252_device, read, write, 0x00ff) | |
341 | 340 | AM_RANGE(0x264000, 0x264001) AM_WRITE(sound_irq_w) |
342 | 341 | AM_RANGE(0x26800c, 0x26800d) AM_WRITE(sound_cmd1_w) |
343 | 342 | AM_RANGE(0x26800e, 0x26800f) AM_WRITE(sound_cmd2_w) |
r23806 | r23807 | |
439 | 438 | AM_RANGE(0x41800e, 0x41800f) AM_WRITE(sound_cmd2_w) |
440 | 439 | AM_RANGE(0x418000, 0x41801f) AM_RAM // sound regs fall through |
441 | 440 | AM_RANGE(0x41a000, 0x41a001) AM_WRITE(sound_irq_w) |
442 | AM_RANGE(0x41c000, 0x41c01f) AM_DEVREADWRITE8 | |
441 | AM_RANGE(0x41c000, 0x41c01f) AM_DEVREADWRITE8("k053252", k053252_device, read, write, 0x00ff) // CCU | |
443 | 442 | AM_RANGE(0x41e000, 0x41e007) AM_WRITE_LEGACY(K056832_b_word_w) // VSCCS |
444 | 443 | AM_RANGE(0x480000, 0x483fff) AM_READWRITE(K053247_martchmp_word_r,K053247_martchmp_word_w) AM_SHARE("spriteram") // sprite RAM |
445 | 444 | AM_RANGE(0x600000, 0x601fff) AM_RAM_WRITE(paletteram_xrgb_word_be_w) AM_SHARE("paletteram") // palette RAM |
r23806 | r23807 | |
473 | 472 | AM_RANGE(0x480000, 0x48003f) AM_WRITE_LEGACY(K056832_word_w) // VACSET |
474 | 473 | AM_RANGE(0x482000, 0x482007) AM_WRITE_LEGACY(K056832_b_word_w) // VSCCS |
475 | 474 | AM_RANGE(0x484000, 0x484003) AM_WRITE(ddd_053936_clip_w) |
476 | AM_RANGE(0x486000, 0x48601f) AM_DEVREADWRITE8 | |
475 | AM_RANGE(0x486000, 0x48601f) AM_DEVREADWRITE8("k053252", k053252_device, read, write, 0x00ff) | |
477 | 476 | AM_RANGE(0x488000, 0x4880ff) AM_WRITE_LEGACY(K055555_word_w) |
478 | 477 | AM_RANGE(0x48a00c, 0x48a00d) AM_WRITE(sound_cmd1_msb_w) |
479 | 478 | AM_RANGE(0x48a00e, 0x48a00f) AM_WRITE(sound_cmd2_msb_w) |
r23806 | r23807 | |
520 | 519 | AM_RANGE(0x480000, 0x48003f) AM_WRITE_LEGACY(K056832_word_w) // VACSET |
521 | 520 | AM_RANGE(0x482000, 0x482007) AM_WRITE_LEGACY(K056832_b_word_w) // VSCCS |
522 | 521 | AM_RANGE(0x484000, 0x484003) AM_WRITE(ddd_053936_clip_w) |
523 | AM_RANGE(0x486000, 0x48601f) AM_DEVREADWRITE8 | |
522 | AM_RANGE(0x486000, 0x48601f) AM_DEVREADWRITE8("k053252", k053252_device, read, write, 0x00ff) | |
524 | 523 | AM_RANGE(0x488000, 0x4880ff) AM_WRITE_LEGACY(K055555_word_w) |
525 | 524 | AM_RANGE(0x48a00c, 0x48a00d) AM_WRITE(sound_cmd1_msb_w) |
526 | 525 | AM_RANGE(0x48a00e, 0x48a00f) AM_WRITE(sound_cmd2_msb_w) |
r23806 | r23807 | |
---|---|---|
43 | 43 | #include "emu.h" |
44 | 44 | |
45 | 45 | #include "video/konicdev.h" |
46 | #include "machine/k053252.h" | |
47 | 46 | #include "cpu/m68000/m68000.h" |
48 | 47 | #include "cpu/z80/z80.h" |
49 | 48 | #include "machine/eeprom.h" |
r23806 | r23807 | |
180 | 179 | AM_RANGE(0x380000, 0x39ffff) AM_RAM // work RAM |
181 | 180 | AM_RANGE(0x400000, 0x43ffff) AM_READNOP // AM_READ(K053936_0_rom_r ) // '936 ROM readback window |
182 | 181 | AM_RANGE(0x480000, 0x48001f) AM_READWRITE(rng_sysregs_r, rng_sysregs_w) AM_SHARE("sysreg") |
183 | AM_RANGE(0x4c0000, 0x4c001f) AM_DEVREADWRITE8 | |
182 | AM_RANGE(0x4c0000, 0x4c001f) AM_DEVREADWRITE8("k053252", k053252_device, read, write, 0x00ff) // CCU (for scanline and vblank polling) | |
184 | 183 | AM_RANGE(0x540000, 0x540001) AM_WRITE(sound_irq_w) |
185 | 184 | AM_RANGE(0x58000c, 0x58000d) AM_WRITE(sound_cmd1_w) |
186 | 185 | AM_RANGE(0x58000e, 0x58000f) AM_WRITE(sound_cmd2_w) |
r23806 | r23807 | |
---|---|---|
84 | 84 | #include "sound/k051649.h" |
85 | 85 | #include "includes/konamipt.h" |
86 | 86 | #include "includes/hexion.h" |
87 | #include "machine/k053252.h" | |
88 | 87 | |
89 | 88 | |
90 | 89 | WRITE8_MEMBER(hexion_state::coincntr_w) |
r23806 | r23807 | |
123 | 122 | AM_RANGE(0xe88a, 0xe88e) AM_DEVWRITE("k051649", k051649_device, k051649_volume_w) |
124 | 123 | AM_RANGE(0xe88f, 0xe88f) AM_DEVWRITE("k051649", k051649_device, k051649_keyonoff_w) |
125 | 124 | AM_RANGE(0xe8e0, 0xe8ff) AM_DEVREADWRITE("k051649", k051649_device, k051649_test_r, k051649_test_w) |
126 | AM_RANGE(0xf000, 0xf00f) AM_DEVREADWRITE | |
125 | AM_RANGE(0xf000, 0xf00f) AM_DEVREADWRITE("k053252", k053252_device, read, write) | |
127 | 126 | AM_RANGE(0xf200, 0xf200) AM_DEVWRITE("oki", okim6295_device, write) |
128 | 127 | AM_RANGE(0xf400, 0xf400) AM_READ_PORT("DSW1") |
129 | 128 | AM_RANGE(0xf401, 0xf401) AM_READ_PORT("DSW2") |
r23806 | r23807 | |
---|---|---|
89 | 89 | #include "emu.h" |
90 | 90 | #include "cpu/z80/z80.h" |
91 | 91 | #include "video/konicdev.h" |
92 | #include "machine/k053252.h" | |
93 | 92 | #include "cpu/m6809/konami.h" /* for the callback and the firq irq definition */ |
94 | 93 | #include "machine/eeprom.h" |
95 | 94 | #include "sound/2151intf.h" |
r23806 | r23807 | |
266 | 265 | AM_RANGE(0x3f93, 0x3f93) AM_READ_PORT("SERVICE") |
267 | 266 | AM_RANGE(0x3fa0, 0x3fa7) AM_DEVWRITE_LEGACY("k053246", k053246_w) // 053246 (Sprite) |
268 | 267 | AM_RANGE(0x3fb0, 0x3fbf) AM_DEVWRITE_LEGACY("k053251", k053251_w) // 053251 (Priority Encoder) |
269 | AM_RANGE(0x3fc0, 0x3fcf) AM_DEVREADWRITE | |
268 | AM_RANGE(0x3fc0, 0x3fcf) AM_DEVREADWRITE("k053252", k053252_device, read, write) // Not Emulated (053252 ???) | |
270 | 269 | AM_RANGE(0x3fd0, 0x3fd0) AM_WRITE(vendetta_5fe0_w) // Coin Counter, 052109 RMRD, 053246 OBJCHA |
271 | 270 | AM_RANGE(0x3fd2, 0x3fd2) AM_WRITE(vendetta_eeprom_w) // EEPROM, Video banking |
272 | 271 | AM_RANGE(0x3fd4, 0x3fd4) AM_READWRITE(vendetta_sound_interrupt_r, z80_irq_w) // Sound |
r23806 | r23807 | |
---|---|---|
26 | 26 | #include "machine/ataintf.h" |
27 | 27 | #include "sound/k054539.h" |
28 | 28 | #include "video/konicdev.h" |
29 | #include "machine/k053252.h" | |
30 | 29 | #include "machine/nvram.h" |
31 | 30 | #include "includes/qdrmfgp.h" |
32 | 31 | |
r23806 | r23807 | |
280 | 279 | AM_RANGE(0x180000, 0x183fff) AM_RAM AM_SHARE("nvram") /* backup ram */ |
281 | 280 | AM_RANGE(0x280000, 0x280fff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram") |
282 | 281 | AM_RANGE(0x300000, 0x30003f) AM_DEVWRITE_LEGACY("k056832", k056832_word_w) /* video reg */ |
283 | AM_RANGE(0x320000, 0x32001f) AM_DEVREADWRITE8 | |
282 | AM_RANGE(0x320000, 0x32001f) AM_DEVREADWRITE8("k053252", k053252_device, read, write, 0x00ff) /* ccu */ | |
284 | 283 | AM_RANGE(0x330000, 0x330001) AM_READ_PORT("SENSOR") /* battery power & service sw */ |
285 | 284 | AM_RANGE(0x340000, 0x340001) AM_READ_PORT("340000") /* inputport */ |
286 | 285 | AM_RANGE(0x350000, 0x350001) AM_WRITENOP /* unknown */ |
r23806 | r23807 | |
303 | 302 | AM_RANGE(0x180000, 0x183fff) AM_RAM AM_SHARE("nvram") /* backup ram */ |
304 | 303 | AM_RANGE(0x280000, 0x280fff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram") |
305 | 304 | AM_RANGE(0x300000, 0x30003f) AM_DEVWRITE_LEGACY("k056832", k056832_word_w) /* video reg */ |
306 | AM_RANGE(0x320000, 0x32001f) AM_DEVREADWRITE8 | |
305 | AM_RANGE(0x320000, 0x32001f) AM_DEVREADWRITE8("k053252", k053252_device, read, write, 0xff00) /* ccu */ | |
307 | 306 | AM_RANGE(0x330000, 0x330001) AM_READ_PORT("SENSOR") /* battery power & service */ |
308 | 307 | AM_RANGE(0x340000, 0x340001) AM_READ_PORT("340000") /* inputport */ |
309 | 308 | AM_RANGE(0x350000, 0x350001) AM_WRITENOP /* unknown */ |
r23806 | r23807 | |
---|---|---|
5 | 5 | *************************************************************************/ |
6 | 6 | #include "sound/okim6295.h" |
7 | 7 | #include "sound/k054539.h" |
8 | #include "machine/k053252.h" | |
8 | 9 | |
9 | 10 | class moo_state : public driver_device |
10 | 11 | { |
r23806 | r23807 | |
19 | 20 | m_k054539(*this, "k054539"), |
20 | 21 | m_k053246(*this, "k053246"), |
21 | 22 | m_k053251(*this, "k053251"), |
23 | m_k053252(*this, "k053252"), | |
22 | 24 | m_k056832(*this, "k056832"), |
23 | 25 | m_k054338(*this, "k054338") { } |
24 | 26 | |
r23806 | r23807 | |
45 | 47 | optional_device<k054539_device> m_k054539; |
46 | 48 | required_device<k053247_device> m_k053246; |
47 | 49 | required_device<k053251_device> m_k053251; |
50 | optional_device<k053252_device> m_k053252; | |
48 | 51 | required_device<k056832_device> m_k056832; |
49 | 52 | required_device<k054338_device> m_k054338; |
50 | 53 |
r23806 | r23807 | |
---|---|---|
4 | 4 | |
5 | 5 | *************************************************************************/ |
6 | 6 | #include "sound/k053260.h" |
7 | #include "machine/k053252.h" | |
7 | 8 | |
8 | 9 | class overdriv_state : public driver_device |
9 | 10 | { |
r23806 | r23807 | |
18 | 19 | m_k051316_1(*this, "k051316_1"), |
19 | 20 | m_k051316_2(*this, "k051316_2"), |
20 | 21 | m_k053246(*this, "k053246"), |
21 | m_k053251(*this, "k053251") { } | |
22 | m_k053251(*this, "k053251"), | |
23 | m_k053252(*this, "k053252"){ } | |
22 | 24 | |
23 | 25 | /* memory pointers */ |
24 | 26 | // UINT16 * m_paletteram; // currently this uses generic palette handling |
r23806 | r23807 | |
41 | 43 | required_device<k051316_device> m_k051316_2; |
42 | 44 | required_device<k053247_device> m_k053246; |
43 | 45 | required_device<k053251_device> m_k053251; |
46 | required_device<k053252_device> m_k053252; | |
44 | 47 | DECLARE_WRITE16_MEMBER(eeprom_w); |
45 | 48 | DECLARE_WRITE16_MEMBER(cpuA_ctrl_w); |
46 | 49 | DECLARE_READ16_MEMBER(cpuB_ctrl_r); |
r23806 | r23807 | |
---|---|---|
4 | 4 | |
5 | 5 | *************************************************************************/ |
6 | 6 | #include "video/konicdev.h" |
7 | #include "machine/k053252.h" | |
7 | 8 | |
8 | 9 | class dbz_state : public driver_device |
9 | 10 | { |
r23806 | r23807 | |
16 | 17 | m_audiocpu(*this, "audiocpu"), |
17 | 18 | m_k053246(*this, "k053246"), |
18 | 19 | m_k053251(*this, "k053251"), |
20 | m_k053252(*this, "k053252"), | |
19 | 21 | m_k056832(*this, "k056832"), |
20 | 22 | m_k053936_1(*this, "k053936_1"), |
21 | 23 | m_k053936_2(*this, "k053936_2") { } |
r23806 | r23807 | |
40 | 42 | required_device<cpu_device> m_audiocpu; |
41 | 43 | required_device<k053247_device> m_k053246; |
42 | 44 | required_device<k053251_device> m_k053251; |
45 | required_device<k053252_device> m_k053252; | |
43 | 46 | required_device<k056832_device> m_k056832; |
44 | 47 | required_device<k053936_device> m_k053936_1; |
45 | 48 | required_device<k053936_device> m_k053936_2; |
r23806 | r23807 | |
---|---|---|
1 | 1 | #include "sound/k054539.h" |
2 | #include "machine/k053252.h" | |
2 | 3 | |
3 | 4 | class mystwarr_state : public konamigx_state |
4 | 5 | { |
5 | 6 | public: |
6 | 7 | mystwarr_state(const machine_config &mconfig, device_type type, const char *tag) |
7 | 8 | : konamigx_state(mconfig, type, tag), |
9 | m_maincpu(*this,"maincpu"), | |
10 | m_k053252(*this, "k053252"), | |
8 | 11 | m_gx_workram(*this,"gx_workram"), |
9 | m_spriteram(*this,"spriteram"), | |
10 | m_maincpu(*this,"maincpu") { } | |
12 | m_spriteram(*this,"spriteram") | |
13 | { } | |
11 | 14 | |
15 | required_device<cpu_device> m_maincpu; | |
16 | required_device<k053252_device> m_k053252; | |
12 | 17 | required_shared_ptr<UINT16> m_gx_workram; |
18 | optional_shared_ptr<UINT16> m_spriteram; | |
13 | 19 | UINT8 m_mw_irq_control; |
14 | 20 | int m_cur_sound_region; |
15 | 21 | int m_layer_colorbase[6]; |
r23806 | r23807 | |
23 | 29 | int m_roz_rombank; |
24 | 30 | tilemap_t *m_ult_936_tilemap; |
25 | 31 | UINT16 m_clip; |
26 | optional_shared_ptr<UINT16> m_spriteram; | |
27 | ||
28 | required_device<cpu_device> m_maincpu; | |
32 | ||
29 | 33 | DECLARE_READ16_MEMBER(eeprom_r); |
30 | 34 | DECLARE_WRITE16_MEMBER(mweeprom_w); |
31 | 35 | DECLARE_READ16_MEMBER(dddeeprom_r); |
r23806 | r23807 | |
---|---|---|
1 | #include "machine/k053252.h" | |
2 | ||
1 | 3 | class hexion_state : public driver_device |
2 | 4 | { |
3 | 5 | public: |
r23806 | r23807 | |
3 | 5 | hexion_state(const machine_config &mconfig, device_type type, const char *tag) |
4 | 6 | : driver_device(mconfig, type, tag) , |
5 | m_maincpu(*this, "maincpu") { } | |
6 | ||
7 | m_maincpu(*this, "maincpu"), | |
8 | m_k053252(*this, "k053252") | |
9 | { } | |
10 | ||
11 | required_device<cpu_device> m_maincpu; | |
12 | required_device<k053252_device> m_k053252; | |
7 | 13 | UINT8 *m_vram[2]; |
8 | 14 | UINT8 *m_unkram; |
r23806 | r23807 | |
26 | 32 | UINT32 screen_update_hexion(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
27 | 33 | TIMER_DEVICE_CALLBACK_MEMBER(hexion_scanline); |
28 | 34 | inline void get_tile_info(tile_data &tileinfo,int tile_index,UINT8 *ram); |
29 | required_device<cpu_device> m_maincpu; | |
30 | 35 | }; |
r23806 | r23807 | |
---|---|---|
4 | 4 | |
5 | 5 | *************************************************************************/ |
6 | 6 | #include "sound/k053260.h" |
7 | #include "machine/k053252.h" | |
7 | 8 | |
8 | 9 | class rollerg_state : public driver_device |
9 | 10 | { |
r23806 | r23807 | |
19 | 20 | m_audiocpu(*this, "audiocpu"), |
20 | 21 | m_k053260(*this, "k053260"), |
21 | 22 | m_k053244(*this, "k053244"), |
22 | m_k051316(*this, "k051316") { } | |
23 | m_k051316(*this, "k051316"), | |
24 | m_k053252(*this, "k053252") | |
25 | { } | |
23 | 26 | |
24 | 27 | /* memory pointers */ |
25 | 28 | // UINT8 * m_paletteram; // currently this uses generic palette handling |
r23806 | r23807 | |
37 | 40 | required_device<k053260_device> m_k053260; |
38 | 41 | required_device<k05324x_device> m_k053244; |
39 | 42 | required_device<k051316_device> m_k051316; |
43 | required_device<k053252_device> m_k053252; | |
40 | 44 | DECLARE_WRITE8_MEMBER(rollerg_0010_w); |
41 | 45 | DECLARE_READ8_MEMBER(rollerg_k051316_r); |
42 | 46 | DECLARE_WRITE8_MEMBER(soundirq_w); |
r23806 | r23807 | |
---|---|---|
4 | 4 | |
5 | 5 | *************************************************************************/ |
6 | 6 | #include "sound/k053260.h" |
7 | #include "machine/k053252.h" | |
7 | 8 | |
8 | 9 | class vendetta_state : public driver_device |
9 | 10 | { |
r23806 | r23807 | |
21 | 22 | m_k052109(*this, "k052109"), |
22 | 23 | m_k053246(*this, "k053246"), |
23 | 24 | m_k053251(*this, "k053251"), |
25 | m_k053252(*this, "k053252"), | |
24 | 26 | m_k054000(*this, "k054000") { } |
25 | 27 | |
26 | 28 | /* memory pointers */ |
r23806 | r23807 | |
43 | 45 | required_device<k052109_device> m_k052109; |
44 | 46 | required_device<k053247_device> m_k053246; |
45 | 47 | required_device<k053251_device> m_k053251; |
48 | optional_device<k053252_device> m_k053252; | |
46 | 49 | optional_device<k054000_device> m_k054000; |
47 | 50 | DECLARE_WRITE8_MEMBER(vendetta_eeprom_w); |
48 | 51 | DECLARE_READ8_MEMBER(vendetta_K052109_r); |
r23806 | r23807 | |
---|---|---|
1 | 1 | #include "machine/ataintf.h" |
2 | 2 | #include "sound/k054539.h" |
3 | #include "machine/k053252.h" | |
3 | 4 | |
4 | 5 | class qdrmfgp_state : public driver_device |
5 | 6 | { |
r23806 | r23807 | |
11 | 12 | m_workram(*this, "workram"), |
12 | 13 | m_k056832(*this, "k056832"), |
13 | 14 | m_k054539(*this, "k054539"), |
15 | m_k053252(*this, "k053252"), | |
14 | 16 | m_ata(*this, "ata") |
15 | 17 | { |
16 | 18 | } |
r23806 | r23807 | |
21 | 23 | required_shared_ptr<UINT16> m_workram; |
22 | 24 | required_device<k056832_device> m_k056832; |
23 | 25 | required_device<k054539_device> m_k054539; |
26 | required_device<k053252_device> m_k053252; | |
24 | 27 | required_device<ata_interface_device> m_ata; |
25 | 28 | UINT16 m_control; |
26 | 29 | INT32 m_gp2_irq_control; |
Previous | 199869 Revisions | Next |