1 // license:BSD-3-Clause
2 // copyright-holders:Olivier Galibert, Miodrag Milanovic
3 
4 /* Williams WPC with DCS sound */
5 
6 #include "emu.h"
7 #include "cpu/m6809/m6809.h"
8 #include "audio/dcs.h"
9 #include "machine/nvram.h"
10 #include "video/wpc_dmd.h"
11 #include "machine/wpc_shift.h"
12 #include "machine/wpc_lamp.h"
13 #include "machine/wpc_out.h"
14 
15 
16 class wpc_dcs_state : public driver_device
17 {
18 public:
wpc_dcs_state(const machine_config & mconfig,device_type type,const char * tag)19 	wpc_dcs_state(const machine_config &mconfig, device_type type, const char *tag)
20 		: driver_device(mconfig, type, tag)
21 		, maincpu(*this, "maincpu")
22 		, dcs(*this, "dcs")
23 		, rombank(*this, "rombank")
24 		, mainram(*this, "mainram")
25 		, nvram(*this, "nvram")
26 		, lamp(*this, "lamp")
27 		, out(*this, "out")
28 		, swarray(*this, "SW.%u", 0U)
29 	{ }
30 
31 	void wpc_dcs(machine_config &config);
32 
33 	void init();
34 	void init_dm();
35 	void init_ij();
36 	void init_jd();
37 	void init_pop();
38 	void init_sttng();
39 	void init_afv();
40 
41 private:
42 	void bank_w(uint8_t data);
43 	void watchdog_w(uint8_t data);
44 	void irq_ack_w(uint8_t data);
45 	uint8_t firq_src_r();
46 	uint8_t zc_r();
47 	uint8_t dcs_data_r();
48 	void dcs_data_w(uint8_t data);
49 	uint8_t dcs_ctrl_r();
50 	void dcs_reset_w(uint8_t data);
51 	uint8_t rtc_r(offs_t offset);
52 	uint8_t switches_r();
53 	void switches_w(uint8_t data);
54 
55 	DECLARE_WRITE_LINE_MEMBER(scanline_irq);
56 	TIMER_DEVICE_CALLBACK_MEMBER(zc_timer);
57 
58 	void wpc_dcs_map(address_map &map);
59 
60 	// devices
61 	required_device<cpu_device> maincpu;
62 	required_device<dcs_audio_8k_device> dcs;
63 	required_memory_bank rombank;
64 	required_shared_ptr<uint8_t> mainram;
65 	required_device<nvram_device> nvram;
66 	required_device<wpc_lamp_device> lamp;
67 	required_device<wpc_out_device> out;
68 	required_ioport_array<8> swarray;
69 
70 	// driver_device overrides
71 	virtual void machine_reset() override;
72 
73 	uint8_t firq_src, zc, switch_col;
74 	uint16_t rtc_base_day;
75 };
76 
wpc_dcs_map(address_map & map)77 void wpc_dcs_state::wpc_dcs_map(address_map &map)
78 {
79 	map(0x0000, 0x1fff).ram().share("mainram");
80 
81 	map(0x3000, 0x31ff).bankrw("dmd0");
82 	map(0x3200, 0x33ff).bankrw("dmd2");
83 	map(0x3400, 0x35ff).bankrw("dmd4");
84 	map(0x3600, 0x37ff).bankrw("dmd6");
85 	map(0x3800, 0x39ff).bankrw("dmd8");
86 	map(0x3a00, 0x3bff).bankrw("dmda");
87 
88 	map(0x3fb8, 0x3fbf).m("dmd", FUNC(wpc_dmd_device::registers));
89 
90 	map(0x3fd4, 0x3fd4).portr("FLIPPERS").w(out, FUNC(wpc_out_device::out4_w));
91 
92 	map(0x3fdc, 0x3fdc).rw(FUNC(wpc_dcs_state::dcs_data_r), FUNC(wpc_dcs_state::dcs_data_w));
93 	map(0x3fdd, 0x3fdd).rw(FUNC(wpc_dcs_state::dcs_ctrl_r), FUNC(wpc_dcs_state::dcs_reset_w));
94 
95 	map(0x3fe0, 0x3fe3).w(out, FUNC(wpc_out_device::out_w));
96 	map(0x3fe4, 0x3fe4).nopr().w(lamp, FUNC(wpc_lamp_device::row_w));
97 	map(0x3fe5, 0x3fe5).nopr().w(lamp, FUNC(wpc_lamp_device::col_w));
98 	map(0x3fe6, 0x3fe6).w(out, FUNC(wpc_out_device::gi_w));
99 	map(0x3fe7, 0x3fe7).portr("DSW");
100 	map(0x3fe8, 0x3fe8).portr("DOOR");
101 	map(0x3fe9, 0x3fe9).r(FUNC(wpc_dcs_state::switches_r));
102 	map(0x3fea, 0x3fea).w(FUNC(wpc_dcs_state::switches_w));
103 
104 	map(0x3ff2, 0x3ff2).w(out, FUNC(wpc_out_device::led_w));
105 	map(0x3ff3, 0x3ff3).nopr().w(FUNC(wpc_dcs_state::irq_ack_w));
106 	map(0x3ff4, 0x3ff7).m("shift", FUNC(wpc_shift_device::registers));
107 	map(0x3ff8, 0x3ff8).r(FUNC(wpc_dcs_state::firq_src_r)).nopw(); // ack?
108 	map(0x3ffa, 0x3ffb).r(FUNC(wpc_dcs_state::rtc_r));
109 	map(0x3ffc, 0x3ffc).w(FUNC(wpc_dcs_state::bank_w));
110 	map(0x3ffd, 0x3ffe).noprw(); // memory protection stuff?
111 	map(0x3fff, 0x3fff).rw(FUNC(wpc_dcs_state::zc_r), FUNC(wpc_dcs_state::watchdog_w));
112 	map(0x4000, 0x7fff).bankr("rombank");
113 	map(0x8000, 0xffff).rom().region("maincpu", 0x78000);
114 }
115 
dcs_data_r()116 uint8_t wpc_dcs_state::dcs_data_r()
117 {
118 	return dcs->data_r();
119 }
120 
dcs_data_w(uint8_t data)121 void wpc_dcs_state::dcs_data_w(uint8_t data)
122 {
123 	dcs->data_w(data);
124 }
125 
dcs_ctrl_r()126 uint8_t wpc_dcs_state::dcs_ctrl_r()
127 {
128 	return dcs->control_r();
129 }
130 
dcs_reset_w(uint8_t data)131 void wpc_dcs_state::dcs_reset_w(uint8_t data)
132 {
133 	dcs->reset_w(0);
134 	dcs->reset_w(1);
135 }
136 
switches_r()137 uint8_t wpc_dcs_state::switches_r()
138 {
139 	uint8_t res = 0xff;
140 	for(int i=0; i<8; i++)
141 		if(switch_col & (1 << i))
142 			res &= swarray[i]->read();
143 	return res;
144 }
145 
switches_w(uint8_t data)146 void wpc_dcs_state::switches_w(uint8_t data)
147 {
148 	switch_col = data;
149 }
150 
rtc_r(offs_t offset)151 uint8_t wpc_dcs_state::rtc_r(offs_t offset)
152 {
153 	system_time systime;
154 	machine().base_datetime(systime);
155 
156 	// This may get wonky if the game is running on year change.  Find
157 	// something better to do at that time.
158 
159 	uint8_t day = (systime.local_time.day - rtc_base_day) & 31;
160 	uint8_t hour = systime.local_time.hour;
161 	uint8_t min = systime.local_time.minute;
162 
163 	switch(offset) {
164 	case 0:
165 		return ((day & 7) << 5) | hour;
166 	case 1:
167 		return ((day & 0x18) << 3) | min;
168 	default:
169 		return 0xff;
170 	}
171 }
172 
firq_src_r()173 uint8_t wpc_dcs_state::firq_src_r()
174 {
175 	return firq_src;
176 }
177 
zc_r()178 uint8_t wpc_dcs_state::zc_r()
179 {
180 	uint8_t res = zc;
181 	zc &= 0x7f;
182 	return res;
183 }
184 
TIMER_DEVICE_CALLBACK_MEMBER(wpc_dcs_state::zc_timer)185 TIMER_DEVICE_CALLBACK_MEMBER(wpc_dcs_state::zc_timer)
186 {
187 	zc |= 0x80;
188 }
189 
bank_w(uint8_t data)190 void wpc_dcs_state::bank_w(uint8_t data)
191 {
192 	rombank->set_entry(data & 0x1f);
193 }
194 
watchdog_w(uint8_t data)195 void wpc_dcs_state::watchdog_w(uint8_t data)
196 {
197 	// Mhhh?  Maybe it's not 3ff3, maybe it's going down by itself...
198 	maincpu->set_input_line(0, CLEAR_LINE);
199 }
200 
WRITE_LINE_MEMBER(wpc_dcs_state::scanline_irq)201 WRITE_LINE_MEMBER(wpc_dcs_state::scanline_irq)
202 {
203 	firq_src = 0x00;
204 	maincpu->set_input_line(1, state);
205 }
206 
irq_ack_w(uint8_t data)207 void wpc_dcs_state::irq_ack_w(uint8_t data)
208 {
209 	maincpu->set_input_line(0, CLEAR_LINE);
210 	maincpu->set_input_line(1, CLEAR_LINE);
211 }
212 
machine_reset()213 void wpc_dcs_state::machine_reset()
214 {
215 	firq_src = 0x00;
216 	zc = 0x00;
217 	switch_col = 0x00;
218 
219 	/* The hardware seems to only have a minute/hour/day counter.  It
220 	   keeps the current day in nvram, and as long as you start the
221 	   machine at least once every 32 days (the day counter is 5 bits)
222 	   it updates it correctly.
223 
224 	   So setup the correct memory zone to avoid the system bitching,
225 	   and requiring the user to fix it.
226 	*/
227 	system_time systime;
228 	machine().base_datetime(systime);
229 	mainram[0x1800] = systime.local_time.year >> 8;
230 	mainram[0x1801] = systime.local_time.year;
231 	mainram[0x1802] = systime.local_time.month+1;
232 	mainram[0x1803] = systime.local_time.mday;
233 	mainram[0x1804] = systime.local_time.weekday+1;
234 	mainram[0x1805] = 0;
235 	mainram[0x1806] = 1;
236 	uint16_t checksum = 0;
237 	for(int i=0x1800; i<=0x1806; i++)
238 		checksum += mainram[i];
239 	checksum = ~checksum;
240 	mainram[0x1807] = checksum >> 8;
241 	mainram[0x1808] = checksum;
242 	rtc_base_day = systime.local_time.day;
243 }
244 
init()245 void wpc_dcs_state::init()
246 {
247 	rombank->configure_entries(0, 0x20, memregion("maincpu")->base(), 0x4000);
248 	nvram->set_base(mainram, mainram.bytes());
249 
250 	save_item(NAME(firq_src));
251 	save_item(NAME(zc));
252 	save_item(NAME(switch_col));
253 
254 	// rtc_base_day not saved to give the system a better chance to
255 	// survive reload some days after unscathed.
256 }
257 
init_dm()258 void wpc_dcs_state::init_dm()
259 {
260 	lamp->set_names(nullptr);
261 	out->set_names(nullptr);
262 	init();
263 }
264 
init_ij()265 void wpc_dcs_state::init_ij()
266 {
267 	lamp->set_names(nullptr);
268 	out->set_names(nullptr);
269 	init();
270 }
271 
init_jd()272 void wpc_dcs_state::init_jd()
273 {
274 	lamp->set_names(nullptr);
275 	out->set_names(nullptr);
276 	init();
277 }
278 
init_pop()279 void wpc_dcs_state::init_pop()
280 {
281 	lamp->set_names(nullptr);
282 	out->set_names(nullptr);
283 	init();
284 }
285 
init_sttng()286 void wpc_dcs_state::init_sttng()
287 {
288 	lamp->set_names(nullptr);
289 	out->set_names(nullptr);
290 	init();
291 }
292 
init_afv()293 void wpc_dcs_state::init_afv()
294 {
295 	lamp->set_names(nullptr);
296 	out->set_names(nullptr);
297 	init();
298 }
299 
300 static INPUT_PORTS_START( wpc_dcs )
301 	PORT_START("SW.0")
302 	PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_START2) PORT_NAME("Launch button")
303 	PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_UNUSED)
304 	PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_START1) PORT_NAME("Start button")
305 	PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("Plumb bob tilt")
306 	PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_UNUSED)
307 	PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("Left outlane")
308 	PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("Right return")
309 	PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("Shooter lane")
310 
311 	PORT_START("SW.1")
312 	PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("Slam tilt")
PORT_CODE(KEYCODE_F1)313 	PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Coin door closed") PORT_TOGGLE PORT_CODE(KEYCODE_F1)
314 	PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_UNUSED)
315 	PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_UNUSED)
316 	PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_UNUSED)
317 	PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("Left return")
318 	PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("Right outlane")
319 	PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_UNUSED)
320 
321 	PORT_START("SW.2")
322 	PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Trough eject")
323 	PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Trough ball 1")
324 	PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Trough ball 2")
325 	PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Trough ball 3")
326 	PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Trough ball 4")
327 	PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Left popper")
328 	PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("Right popper")
329 	PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("Left top lane")
330 
331 	PORT_START("SW.3")
332 	PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("MARTI\"A\"N")
333 	PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("MARTIA\"N\"")
334 	PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("MAR\"T\"IN")
335 	PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("MART\"I\"AN")
336 	PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("L motor bank")
337 	PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("C motor bank")
338 	PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("R motor bank")
339 	PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("Right top lane")
340 
341 	PORT_START("SW.4")
342 	PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("Left slingshot")
343 	PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("Right slingshot")
344 	PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("Left jet")
345 	PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("Bottom jet")
346 	PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("Right jet")
347 	PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("\"M\"ARTIAN")
348 	PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("M\"A\"RTIAN")
349 	PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("MA\"R\"TIAN")
350 
351 	PORT_START("SW.5")
352 	PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("L ramp enter")
353 	PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("C ramp enter")
354 	PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("R ramp enter")
355 	PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("L ramp exit")
356 	PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("R ramp exit")
357 	PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("Motor bank down")
358 	PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("Motor bank up")
359 	PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_UNUSED)
360 
361 	PORT_START("SW.6")
362 	PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("Right loop hi")
363 	PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("Right loop lo")
364 	PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("Left loop hi")
365 	PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("Left loop lo")
366 	PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("L saucer tgt")
367 	PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("R saucer tgt")
368 	PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("Drop target")
369 	PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("Center trough")
370 
371 	PORT_START("SW.7")
372 	PORT_BIT(0xff, IP_ACTIVE_HIGH, IPT_UNUSED)
373 
374 	PORT_START("DOOR")
375 	PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_COIN1) PORT_NAME("Left coin chute")
376 	PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_COIN2) PORT_NAME("Center coin chute")
377 	PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_COIN3) PORT_NAME("Right coin chute")
378 	PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_COIN4) PORT_NAME("4th coin chute")
379 	PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_SERVICE1) PORT_NAME("Service credit/Escape")
380 	PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("Volume Down/Down") PORT_CODE(KEYCODE_DOWN)
381 	PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_OTHER) PORT_NAME("Volume Up/Up") PORT_CODE(KEYCODE_UP)
382 	PORT_SERVICE_NO_TOGGLE(0x80, IP_ACTIVE_HIGH ) PORT_NAME("Begin test/Enter")
383 
384 	PORT_START("DSW")
385 	PORT_DIPNAME(0x01,0x01,"Switch 1") PORT_DIPLOCATION("SWA:1")
386 	PORT_DIPSETTING(0x00,DEF_STR( Off ))
387 	PORT_DIPSETTING(0x01,DEF_STR( On ))
388 	PORT_DIPNAME(0x02,0x02,"Switch 2") PORT_DIPLOCATION("SWA:2")
389 	PORT_DIPSETTING(0x00,DEF_STR( Off ))
390 	PORT_DIPSETTING(0x02,DEF_STR( On ))
391 	PORT_DIPNAME(0x04,0x00,"W20") PORT_DIPLOCATION("SWA:3")
392 	PORT_DIPSETTING(0x00,DEF_STR( Off ))
393 	PORT_DIPSETTING(0x04,DEF_STR( On ))
394 	PORT_DIPNAME(0x08,0x00,"W19") PORT_DIPLOCATION("SWA:4")
395 	PORT_DIPSETTING(0x00,DEF_STR( Off ))
396 	PORT_DIPSETTING(0x08,DEF_STR( On ))
397 	PORT_DIPNAME(0xf0,0x00,"Country") PORT_DIPLOCATION("SWA:5,6,7,8")
398 	PORT_DIPSETTING(0x00,"USA 1")
399 	PORT_DIPSETTING(0x10,"France 1")
400 	PORT_DIPSETTING(0x20,"Germany")
401 	PORT_DIPSETTING(0x30,"France 2")
402 	PORT_DIPSETTING(0x40,"Unknown 1")
403 	PORT_DIPSETTING(0x50,"Unknown 2")
404 	PORT_DIPSETTING(0x60,"Unknown 3")
405 	PORT_DIPSETTING(0x70,"Unknown 4")
406 	PORT_DIPSETTING(0x80,"Export 1")
407 	PORT_DIPSETTING(0x90,"France 3")
408 	PORT_DIPSETTING(0xa0,"Export 2")
409 	PORT_DIPSETTING(0xb0,"France 4")
410 	PORT_DIPSETTING(0xc0,"UK")
411 	PORT_DIPSETTING(0xd0,"Europe")
412 	PORT_DIPSETTING(0xe0,"Spain")
413 	PORT_DIPSETTING(0xf0,"USA 2")
414 
415 	PORT_START("FLIPPERS")
416 	PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("R Flipper EOS")
417 	PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("R Flipper Button")
418 	PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("L Flipper EOS")
419 	PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("L Flipper Button")
420 	PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_UNUSED)
421 	PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("UR Flipper Button")
422 	PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_UNUSED)
423 	PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("UL Flipper Button")
424 
425 INPUT_PORTS_END
426 
427 void wpc_dcs_state::wpc_dcs(machine_config &config)
428 {
429 	/* basic machine hardware */
430 	M6809(config, maincpu, XTAL(8'000'000)/4);
431 	maincpu->set_addrmap(AS_PROGRAM, &wpc_dcs_state::wpc_dcs_map);
432 	maincpu->set_periodic_int(FUNC(wpc_dcs_state::irq0_line_assert), attotime::from_hz(XTAL(8'000'000)/8192.0));
433 
434 	TIMER(config, "zero_crossing").configure_periodic(FUNC(wpc_dcs_state::zc_timer), attotime::from_hz(120)); // Mains power zero crossing
435 
436 	WPC_LAMP(config, lamp, 0);
437 	WPC_OUT(config, out, 0, 3);
438 	WPC_SHIFT(config, "shift", 0);
439 	WPC_DMD(config, "dmd", 0).scanline_callback().set(FUNC(wpc_dcs_state::scanline_irq));
440 
441 	NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
442 	DCS_AUDIO_8K(config, dcs, 0);
443 }
444 
445 /*-------------
446 / Demolition Man #50028
447 /--------------*/
448 ROM_START(dm_pa2)
449 	ROM_REGION(0x80000, "maincpu", 0)
450 	ROM_LOAD("u6-pa2.rom", 0x00000, 0x80000, CRC(862be56a) SHA1(95e1f899963762cb1a9de4eb5d6d57183ed1da38))
451 	ROM_REGION16_LE(0x1000000, "dcs",0)
452 	ROM_LOAD16_BYTE("dmsndp4.u2", 0x000000, 0x080000, CRC(8581116b) SHA1(ab24fa4aadf27761c9013adb84cfef9bfda27d44))
453 	ROM_LOAD16_BYTE("dmsndp4.u3", 0x200000, 0x080000, CRC(fe79fc89) SHA1(4ef1ef0d66d43fa66af1ecb17c14141760859084))
454 	ROM_LOAD16_BYTE("dmsndp4.u4", 0x400000, 0x080000, CRC(18407309) SHA1(499d62e4b434d48870fe532bb85106868df17c9b))
455 	ROM_LOAD16_BYTE("dmsndp4.u5", 0x600000, 0x080000, CRC(f2006c93) SHA1(16656ae6ff18aad0965c5a14882138508925313a))
456 	ROM_LOAD16_BYTE("dmsndp4.u6", 0x800000, 0x080000, CRC(bc17ba11) SHA1(a794599bc334762ddb79e1d0219ad20383139728))
457 	ROM_LOAD16_BYTE("dmsndp4.u7", 0xa00000, 0x080000, CRC(8760ed90) SHA1(cf8808f7cd347c47fa12e73a6bb5a54303fb7c49))
458 ROM_END
459 
460 ROM_START(dm_px5)
461 	ROM_REGION(0x80000, "maincpu", 0)
462 	ROM_LOAD("dman_px5.rom", 0x00000, 0x80000, CRC(42673371) SHA1(77570902c1ca13956fa65214184bce79bcc67173))
463 	ROM_REGION16_LE(0x1000000, "dcs",0)
464 	ROM_LOAD16_BYTE("dmsndp4.u2", 0x000000, 0x080000, CRC(8581116b) SHA1(ab24fa4aadf27761c9013adb84cfef9bfda27d44))
465 	ROM_LOAD16_BYTE("dmsndp4.u3", 0x200000, 0x080000, CRC(fe79fc89) SHA1(4ef1ef0d66d43fa66af1ecb17c14141760859084))
466 	ROM_LOAD16_BYTE("dmsndp4.u4", 0x400000, 0x080000, CRC(18407309) SHA1(499d62e4b434d48870fe532bb85106868df17c9b))
467 	ROM_LOAD16_BYTE("dmsndp4.u5", 0x600000, 0x080000, CRC(f2006c93) SHA1(16656ae6ff18aad0965c5a14882138508925313a))
468 	ROM_LOAD16_BYTE("dmsndp4.u6", 0x800000, 0x080000, CRC(bc17ba11) SHA1(a794599bc334762ddb79e1d0219ad20383139728))
469 	ROM_LOAD16_BYTE("dmsndp4.u7", 0xa00000, 0x080000, CRC(8760ed90) SHA1(cf8808f7cd347c47fa12e73a6bb5a54303fb7c49))
470 ROM_END
471 
472 ROM_START(dm_la1)
473 	ROM_REGION(0x80000, "maincpu", 0)
474 	ROM_LOAD("dman_la1.rom", 0x00000, 0x80000, CRC(be7c1965) SHA1(ed3b1016febc819b8c9f34953067bf0cdf3f33e6))
475 	ROM_REGION16_LE(0x1000000, "dcs", 0)
476 	ROM_LOAD16_BYTE("dm_u2_s.l1", 0x000000, 0x080000, CRC(f72dc72e) SHA1(a1267c32f70b4bfe6058d7e28d82006541fe3d6c))
477 	ROM_LOAD16_BYTE("dm_u3_s.l2", 0x200000, 0x080000, CRC(2b65a66e) SHA1(7796082ecd7af29a240190aff654320375502a8b))
478 	ROM_LOAD16_BYTE("dm_u4_s.l2", 0x400000, 0x080000, CRC(9d6815fe) SHA1(fb4be63dee54a883884f1600565011cb9740a866))
479 	ROM_LOAD16_BYTE("dm_u5_s.l2", 0x600000, 0x080000, CRC(9f614c27) SHA1(f8f2f083b644517582a748bda0a3f69c14583f13))
480 	ROM_LOAD16_BYTE("dm_u6_s.l2", 0x800000, 0x080000, CRC(3efc2c0e) SHA1(bc4efdee44ff635771629a2bde79e230b7643f31))
481 	ROM_LOAD16_BYTE("dm_u7_s.l2", 0xa00000, 0x080000, CRC(75066af1) SHA1(4d70bce8a96343afcf02c89240b11faf19e11f02))
482 ROM_END
483 
484 ROM_START(dm_lx3)
485 	ROM_REGION(0x80000, "maincpu", 0)
486 	ROM_LOAD("dman_lx3.rom", 0x00000, 0x80000, CRC(5aa57674) SHA1(e02d91a705799866bd741b998d93413ec5bced25))
487 	ROM_REGION16_LE(0x1000000, "dcs",0)
488 	ROM_LOAD16_BYTE("dm_u2_s.l2", 0x000000, 0x080000, CRC(85fb8bce) SHA1(f2e912113d08b230e32aeeb4143485f266574fa2))
489 	ROM_LOAD16_BYTE("dm_u3_s.l2", 0x200000, 0x080000, CRC(2b65a66e) SHA1(7796082ecd7af29a240190aff654320375502a8b))
490 	ROM_LOAD16_BYTE("dm_u4_s.l2", 0x400000, 0x080000, CRC(9d6815fe) SHA1(fb4be63dee54a883884f1600565011cb9740a866))
491 	ROM_LOAD16_BYTE("dm_u5_s.l2", 0x600000, 0x080000, CRC(9f614c27) SHA1(f8f2f083b644517582a748bda0a3f69c14583f13))
492 	ROM_LOAD16_BYTE("dm_u6_s.l2", 0x800000, 0x080000, CRC(3efc2c0e) SHA1(bc4efdee44ff635771629a2bde79e230b7643f31))
493 	ROM_LOAD16_BYTE("dm_u7_s.l2", 0xa00000, 0x080000, CRC(75066af1) SHA1(4d70bce8a96343afcf02c89240b11faf19e11f02))
494 ROM_END
495 
496 ROM_START(dm_lx4)
497 	ROM_REGION(0x80000, "maincpu", 0)
498 	ROM_LOAD("dman_lx4.rom", 0x00000, 0x80000, CRC(c2d0f493) SHA1(26ee970827dd96f3b3c56aa548cf7629ed6a16c1))
499 	ROM_REGION16_LE(0x1000000, "dcs",0)
500 	ROM_LOAD16_BYTE("dm_u2_s.l2", 0x000000, 0x080000, CRC(85fb8bce) SHA1(f2e912113d08b230e32aeeb4143485f266574fa2))
501 	ROM_LOAD16_BYTE("dm_u3_s.l2", 0x200000, 0x080000, CRC(2b65a66e) SHA1(7796082ecd7af29a240190aff654320375502a8b))
502 	ROM_LOAD16_BYTE("dm_u4_s.l2", 0x400000, 0x080000, CRC(9d6815fe) SHA1(fb4be63dee54a883884f1600565011cb9740a866))
503 	ROM_LOAD16_BYTE("dm_u5_s.l2", 0x600000, 0x080000, CRC(9f614c27) SHA1(f8f2f083b644517582a748bda0a3f69c14583f13))
504 	ROM_LOAD16_BYTE("dm_u6_s.l2", 0x800000, 0x080000, CRC(3efc2c0e) SHA1(bc4efdee44ff635771629a2bde79e230b7643f31))
505 	ROM_LOAD16_BYTE("dm_u7_s.l2", 0xa00000, 0x080000, CRC(75066af1) SHA1(4d70bce8a96343afcf02c89240b11faf19e11f02))
506 ROM_END
507 
508 ROM_START(dm_h5)
509 	ROM_REGION(0x80000, "maincpu", 0)
510 	ROM_LOAD("dman_h5.rom", 0x00000, 0x80000, CRC(bdcc62f7) SHA1(d6f3181970f3f71a876e9a2166156eb8fc405af0))
511 	ROM_REGION16_LE(0x1000000, "dcs",0)
512 	ROM_LOAD16_BYTE("dm.2", 0x000000, 0x080000, CRC(03dae358) SHA1(e6ab35a0c530eda90bd2d65af7bff82af08c39f3))
513 	ROM_LOAD16_BYTE("dm.3", 0x200000, 0x080000, CRC(3b924d3f) SHA1(5bd6126cc6a6c662de0bc311c047441bc29919b2))
514 	ROM_LOAD16_BYTE("dm.4", 0x400000, 0x080000, CRC(ff8985da) SHA1(b382c301744ce208f4710b3dd2342457d02f0ce9))
515 	ROM_LOAD16_BYTE("dm.5", 0x600000, 0x080000, CRC(76f09bd0) SHA1(1e4861ddc12069733f7e1d25192df97b0d9b09ee))
516 	ROM_LOAD16_BYTE("dm.6", 0x800000, 0x080000, CRC(2897aca8) SHA1(d910289e10422e22b4a3e1e296a4a167da1eaa5b))
517 	ROM_LOAD16_BYTE("dm.7", 0xa00000, 0x080000, CRC(6b1b9137) SHA1(4064f4fc230ba17b68819ff889335d9b6d9bba3e))
518 	ROM_LOAD16_BYTE("dm.8", 0xc00000, 0x080000, CRC(5b333818) SHA1(007b8c117516b6023b376f95ff13831111f4dc20))
519 	ROM_LOAD16_BYTE("dm.9", 0xe00000, 0x080000, CRC(4c1a34e8) SHA1(3eacc3c63b2d9db57fc86447f1408635b987ef69))
520 ROM_END
521 
522 ROM_START(dm_h6)
523 	ROM_REGION(0x80000, "maincpu", 0)
524 	ROM_LOAD("dman_h6.rom", 0x00000, 0x80000, CRC(3a079b80) SHA1(94a7ee94819ec878ced5e07745bf52b6c65e06c9))
525 	ROM_REGION16_LE(0x1000000, "dcs",0)
526 	ROM_LOAD16_BYTE("dm.2", 0x000000, 0x080000, CRC(03dae358) SHA1(e6ab35a0c530eda90bd2d65af7bff82af08c39f3))
527 	ROM_LOAD16_BYTE("dm.3", 0x200000, 0x080000, CRC(3b924d3f) SHA1(5bd6126cc6a6c662de0bc311c047441bc29919b2))
528 	ROM_LOAD16_BYTE("dm.4", 0x400000, 0x080000, CRC(ff8985da) SHA1(b382c301744ce208f4710b3dd2342457d02f0ce9))
529 	ROM_LOAD16_BYTE("dm.5", 0x600000, 0x080000, CRC(76f09bd0) SHA1(1e4861ddc12069733f7e1d25192df97b0d9b09ee))
530 	ROM_LOAD16_BYTE("dm.6", 0x800000, 0x080000, CRC(2897aca8) SHA1(d910289e10422e22b4a3e1e296a4a167da1eaa5b))
531 	ROM_LOAD16_BYTE("dm.7", 0xa00000, 0x080000, CRC(6b1b9137) SHA1(4064f4fc230ba17b68819ff889335d9b6d9bba3e))
532 	ROM_LOAD16_BYTE("dm.8", 0xc00000, 0x080000, CRC(5b333818) SHA1(007b8c117516b6023b376f95ff13831111f4dc20))
533 	ROM_LOAD16_BYTE("dm.9", 0xe00000, 0x080000, CRC(4c1a34e8) SHA1(3eacc3c63b2d9db57fc86447f1408635b987ef69))
534 ROM_END
535 
536 /*-----------------
537 /  Indiana Jones #50017
538 /------------------*/
539 ROM_START(ij_l7)
540 	ROM_REGION(0x80000, "maincpu", 0)
541 	ROM_LOAD("ijone_l7.rom", 0x00000, 0x80000, CRC(4658c877) SHA1(b47ab064ff954bd182919f714ed8930cf0bed896))
542 	ROM_REGION16_LE(0x1000000, "dcs", 0)
543 	ROM_LOAD16_BYTE("ijsnd_l3.u2", 0x000000, 0x080000, CRC(fbd91a0d) SHA1(8d9a74f04f6088f18dfbb578893410abc21a0e42))
544 	ROM_LOAD16_BYTE("ijsnd_l3.u3", 0x200000, 0x080000, CRC(3f12a996) SHA1(5f5d2853e671d13fafdb2972f52a823e18f27643))
545 	ROM_LOAD16_BYTE("ijsnd_l3.u4", 0x400000, 0x080000, CRC(05a92937) SHA1(e4e53e2899a7e7cbcd6ce7e3331bb8aa13321aa6))
546 	ROM_LOAD16_BYTE("ijsnd_l3.u5", 0x600000, 0x080000, CRC(e6fe417c) SHA1(d990ed218fe296ad9a015d77519b8d954d252035))
547 	ROM_LOAD16_BYTE("ijsnd_l3.u6", 0x800000, 0x080000, CRC(975f3e48) SHA1(16c56500b18e551bcd2e0c7e4c55ddab4791ac84))
548 	ROM_LOAD16_BYTE("ijsnd_l3.u7", 0xa00000, 0x080000, CRC(2d9cd098) SHA1(8d26c84cbd4ab2a5c9f4be3ea95a79fd125248e3))
549 	ROM_LOAD16_BYTE("ijsnd_l3.u8", 0xc00000, 0x080000, CRC(45e35bd7) SHA1(782b406be341d55d22a96acb8c2459f3058940df))
550 ROM_END
551 
552 ROM_START(ij_lg7)
553 	ROM_REGION(0x80000, "maincpu", 0)
554 	ROM_LOAD("u6-lg7.rom", 0x00000, 0x80000, CRC(c168a9f7) SHA1(732cc0863da06bce3d9793d57d67ba03c4c2f4d7))
555 	ROM_REGION16_LE(0x1000000, "dcs", 0)
556 	ROM_LOAD16_BYTE("ijsnd_l3.u2", 0x000000, 0x080000, CRC(fbd91a0d) SHA1(8d9a74f04f6088f18dfbb578893410abc21a0e42))
557 	ROM_LOAD16_BYTE("ijsnd_l3.u3", 0x200000, 0x080000, CRC(3f12a996) SHA1(5f5d2853e671d13fafdb2972f52a823e18f27643))
558 	ROM_LOAD16_BYTE("ijsnd_l3.u4", 0x400000, 0x080000, CRC(05a92937) SHA1(e4e53e2899a7e7cbcd6ce7e3331bb8aa13321aa6))
559 	ROM_LOAD16_BYTE("ijsnd_l3.u5", 0x600000, 0x080000, CRC(e6fe417c) SHA1(d990ed218fe296ad9a015d77519b8d954d252035))
560 	ROM_LOAD16_BYTE("ijsnd_l3.u6", 0x800000, 0x080000, CRC(975f3e48) SHA1(16c56500b18e551bcd2e0c7e4c55ddab4791ac84))
561 	ROM_LOAD16_BYTE("ijsnd_l3.u7", 0xa00000, 0x080000, CRC(2d9cd098) SHA1(8d26c84cbd4ab2a5c9f4be3ea95a79fd125248e3))
562 	ROM_LOAD16_BYTE("ijsnd_l3.u8", 0xc00000, 0x080000, CRC(45e35bd7) SHA1(782b406be341d55d22a96acb8c2459f3058940df))
563 ROM_END
564 
565 ROM_START(ij_l6)
566 	ROM_REGION(0x80000, "maincpu", 0)
567 	ROM_LOAD("ijone_l6.rom", 0x00000, 0x80000, CRC(8c44b880) SHA1(9bc2cd91ea4d98e6509d6c1e2e34622e83c5a4d7))
568 	ROM_REGION16_LE(0x1000000, "dcs", 0)
569 	ROM_LOAD16_BYTE("ijsnd_l3.u2", 0x000000, 0x080000, CRC(fbd91a0d) SHA1(8d9a74f04f6088f18dfbb578893410abc21a0e42))
570 	ROM_LOAD16_BYTE("ijsnd_l3.u3", 0x200000, 0x080000, CRC(3f12a996) SHA1(5f5d2853e671d13fafdb2972f52a823e18f27643))
571 	ROM_LOAD16_BYTE("ijsnd_l3.u4", 0x400000, 0x080000, CRC(05a92937) SHA1(e4e53e2899a7e7cbcd6ce7e3331bb8aa13321aa6))
572 	ROM_LOAD16_BYTE("ijsnd_l3.u5", 0x600000, 0x080000, CRC(e6fe417c) SHA1(d990ed218fe296ad9a015d77519b8d954d252035))
573 	ROM_LOAD16_BYTE("ijsnd_l3.u6", 0x800000, 0x080000, CRC(975f3e48) SHA1(16c56500b18e551bcd2e0c7e4c55ddab4791ac84))
574 	ROM_LOAD16_BYTE("ijsnd_l3.u7", 0xa00000, 0x080000, CRC(2d9cd098) SHA1(8d26c84cbd4ab2a5c9f4be3ea95a79fd125248e3))
575 	ROM_LOAD16_BYTE("ijsnd_l3.u8", 0xc00000, 0x080000, CRC(45e35bd7) SHA1(782b406be341d55d22a96acb8c2459f3058940df))
576 ROM_END
577 
578 ROM_START(ij_l5)
579 	ROM_REGION(0x80000, "maincpu", 0)
580 	ROM_LOAD("ijone_l5.rom", 0x00000, 0x80000, CRC(bf46ff92) SHA1(1afb1aadf115ae7d7f54bfea1fcca71a9de6ebb0))
581 	ROM_REGION16_LE(0x1000000, "dcs", 0)
582 	ROM_LOAD16_BYTE("ijsnd_l2.u2", 0x000000, 0x080000, CRC(508d27c5) SHA1(da9787905c6f11d16e9a62047f15c5780017b551))
583 	ROM_LOAD16_BYTE("ijsnd_l3.u3", 0x200000, 0x080000, CRC(3f12a996) SHA1(5f5d2853e671d13fafdb2972f52a823e18f27643))
584 	ROM_LOAD16_BYTE("ijsnd_l3.u4", 0x400000, 0x080000, CRC(05a92937) SHA1(e4e53e2899a7e7cbcd6ce7e3331bb8aa13321aa6))
585 	ROM_LOAD16_BYTE("ijsnd_l3.u5", 0x600000, 0x080000, CRC(e6fe417c) SHA1(d990ed218fe296ad9a015d77519b8d954d252035))
586 	ROM_LOAD16_BYTE("ijsnd_l3.u6", 0x800000, 0x080000, CRC(975f3e48) SHA1(16c56500b18e551bcd2e0c7e4c55ddab4791ac84))
587 	ROM_LOAD16_BYTE("ijsnd_l3.u7", 0xa00000, 0x080000, CRC(2d9cd098) SHA1(8d26c84cbd4ab2a5c9f4be3ea95a79fd125248e3))
588 	ROM_LOAD16_BYTE("ijsnd_l3.u8", 0xc00000, 0x080000, CRC(45e35bd7) SHA1(782b406be341d55d22a96acb8c2459f3058940df))
589 ROM_END
590 
591 ROM_START(ij_l4)
592 	ROM_REGION(0x80000, "maincpu", 0)
593 	ROM_LOAD("ij_l4.u6", 0x00000, 0x80000, CRC(5f2c3130) SHA1(b748932a1c0ac622e00744314fafef857f59026d))
594 	ROM_REGION16_LE(0x1000000, "dcs", 0)
595 	ROM_LOAD16_BYTE("ijsnd_l2.u2", 0x000000, 0x080000, CRC(508d27c5) SHA1(da9787905c6f11d16e9a62047f15c5780017b551))
596 	ROM_LOAD16_BYTE("ijsnd_l3.u3", 0x200000, 0x080000, CRC(3f12a996) SHA1(5f5d2853e671d13fafdb2972f52a823e18f27643))
597 	ROM_LOAD16_BYTE("ijsnd_l3.u4", 0x400000, 0x080000, CRC(05a92937) SHA1(e4e53e2899a7e7cbcd6ce7e3331bb8aa13321aa6))
598 	ROM_LOAD16_BYTE("ijsnd_l3.u5", 0x600000, 0x080000, CRC(e6fe417c) SHA1(d990ed218fe296ad9a015d77519b8d954d252035))
599 	ROM_LOAD16_BYTE("ijsnd_l3.u6", 0x800000, 0x080000, CRC(975f3e48) SHA1(16c56500b18e551bcd2e0c7e4c55ddab4791ac84))
600 	ROM_LOAD16_BYTE("ijsnd_l3.u7", 0xa00000, 0x080000, CRC(2d9cd098) SHA1(8d26c84cbd4ab2a5c9f4be3ea95a79fd125248e3))
601 	ROM_LOAD16_BYTE("ijsnd_l3.u8", 0xc00000, 0x080000, CRC(45e35bd7) SHA1(782b406be341d55d22a96acb8c2459f3058940df))
602 ROM_END
603 
604 ROM_START(ij_l3)
605 	ROM_REGION(0x80000, "maincpu", 0)
606 	ROM_LOAD("ijone_l3.rom", 0x00000, 0x80000, CRC(0555c593) SHA1(1a73946fff9ae40e5499fcfa2d9f8330a25b8bae))
607 	ROM_REGION16_LE(0x1000000, "dcs", 0)
608 	ROM_LOAD16_BYTE("ijsnd_l1.u2", 0x000000, 0x080000, CRC(89061ade) SHA1(0bd5ec961c780c4d46296aee7f2cb63b72e990f5))
609 	ROM_LOAD16_BYTE("ijsnd_l3.u3", 0x200000, 0x080000, CRC(3f12a996) SHA1(5f5d2853e671d13fafdb2972f52a823e18f27643))
610 	ROM_LOAD16_BYTE("ijsnd_l3.u4", 0x400000, 0x080000, CRC(05a92937) SHA1(e4e53e2899a7e7cbcd6ce7e3331bb8aa13321aa6))
611 	ROM_LOAD16_BYTE("ijsnd_l3.u5", 0x600000, 0x080000, CRC(e6fe417c) SHA1(d990ed218fe296ad9a015d77519b8d954d252035))
612 	ROM_LOAD16_BYTE("ijsnd_l3.u6", 0x800000, 0x080000, CRC(975f3e48) SHA1(16c56500b18e551bcd2e0c7e4c55ddab4791ac84))
613 	ROM_LOAD16_BYTE("ijsnd_l3.u7", 0xa00000, 0x080000, CRC(2d9cd098) SHA1(8d26c84cbd4ab2a5c9f4be3ea95a79fd125248e3))
614 	ROM_LOAD16_BYTE("ijsnd_l3.u8", 0xc00000, 0x080000, CRC(45e35bd7) SHA1(782b406be341d55d22a96acb8c2459f3058940df))
615 ROM_END
616 
617 /*-----------------
618 /  Judge Dredd #20020
619 /------------------*/
620 ROM_START(jd_l7)
621 	ROM_REGION(0x80000, "maincpu", 0)
622 	ROM_LOAD("jdrd_l7.rom", 0x00000, 0x80000, CRC(87b2a5c3) SHA1(e487e9ff78353ee96d5fb5f036b1a6cef586f5b4))
623 	ROM_REGION16_LE(0x1000000, "dcs",0)
624 	ROM_LOAD16_BYTE("jdsu2_l3.bin", 0x000000, 0x080000, CRC(7a59ec18) SHA1(ee073d4bea198fd66de3508f67061b7d19f12edc))
625 	ROM_LOAD16_BYTE("jdsu3_l3.bin", 0x200000, 0x080000, CRC(42f52faa) SHA1(3fac9d3ddfe21877929eaa4cb7101a690745b163))
626 	ROM_LOAD16_BYTE("jdsnd_u4.bin", 0x400000, 0x080000, CRC(93f6ebc1) SHA1(5cb306afa693e60887069745588dfd5b930c5951))
627 	ROM_LOAD16_BYTE("jdsnd_u5.bin", 0x600000, 0x080000, CRC(c9f28ba6) SHA1(8447372428e3b9fc86a98286c05f95a13abe26b0))
628 	ROM_LOAD16_BYTE("jdsnd_u6.bin", 0x800000, 0x080000, CRC(ef0bf094) SHA1(c0860cecd436d352fe2c2208533ff6dc71bfced1))
629 	ROM_LOAD16_BYTE("jdsnd_u7.bin", 0xa00000, 0x080000, CRC(aebab88b) SHA1(d3f1be60a6840d9d085e22b43aafea1354771980))
630 	ROM_LOAD16_BYTE("jdsnd_u8.bin", 0xc00000, 0x080000, CRC(77604893) SHA1(a9a4a66412096edd88ee7adfd960eef6f5d16476))
631 	ROM_LOAD16_BYTE("jdsnd_u9.bin", 0xe00000, 0x080000, CRC(885b7c70) SHA1(be3bb42aeda3020a72c527f52c5330d0bafa9966))
632 ROM_END
633 
634 ROM_START(jd_l1)
635 	ROM_REGION(0x80000, "maincpu", 0)
636 	ROM_LOAD("jd_l1.u6", 0x00000, 0x80000, CRC(09a4b1d8) SHA1(9f941bbeb6e58d918d374694c7ff2a67f1084cc0))
637 	ROM_REGION16_LE(0x1000000, "dcs",0)
638 	ROM_LOAD16_BYTE("jdsnd_u2.bin", 0x000000, 0x080000, CRC(d8f453c6) SHA1(5dd677fde46436dbf2d2e9058f06dd3048600234))
639 	ROM_LOAD16_BYTE("jdsnd_u3.bin", 0x200000, 0x080000, CRC(0a11f673) SHA1(ab556477a25e3493555b8a281ca86677caec8947))
640 	ROM_LOAD16_BYTE("jdsnd_u4.bin", 0x400000, 0x080000, CRC(93f6ebc1) SHA1(5cb306afa693e60887069745588dfd5b930c5951))
641 	ROM_LOAD16_BYTE("jdsnd_u5.bin", 0x600000, 0x080000, CRC(c9f28ba6) SHA1(8447372428e3b9fc86a98286c05f95a13abe26b0))
642 	ROM_LOAD16_BYTE("jdsnd_u6.bin", 0x800000, 0x080000, CRC(ef0bf094) SHA1(c0860cecd436d352fe2c2208533ff6dc71bfced1))
643 	ROM_LOAD16_BYTE("jdsnd_u7.bin", 0xa00000, 0x080000, CRC(aebab88b) SHA1(d3f1be60a6840d9d085e22b43aafea1354771980))
644 	ROM_LOAD16_BYTE("jdsnd_u8.bin", 0xc00000, 0x080000, CRC(77604893) SHA1(a9a4a66412096edd88ee7adfd960eef6f5d16476))
645 	ROM_LOAD16_BYTE("jdsnd_u9.bin", 0xe00000, 0x080000, CRC(885b7c70) SHA1(be3bb42aeda3020a72c527f52c5330d0bafa9966))
646 ROM_END
647 
648 ROM_START(jd_l6)
649 	ROM_REGION(0x80000, "maincpu", 0)
650 	ROM_LOAD("jd_l6.u6", 0x00000, 0x80000, CRC(0a74cba4) SHA1(1872fd86bbfa772eac9cc2ef2634a90b72b3d5e2))
651 	ROM_REGION16_LE(0x1000000, "dcs",0)
652 	ROM_LOAD16_BYTE("jdsu2_l3.bin", 0x000000, 0x080000, CRC(7a59ec18) SHA1(ee073d4bea198fd66de3508f67061b7d19f12edc))
653 	ROM_LOAD16_BYTE("jdsu3_l3.bin", 0x200000, 0x080000, CRC(42f52faa) SHA1(3fac9d3ddfe21877929eaa4cb7101a690745b163))
654 	ROM_LOAD16_BYTE("jdsnd_u4.bin", 0x400000, 0x080000, CRC(93f6ebc1) SHA1(5cb306afa693e60887069745588dfd5b930c5951))
655 	ROM_LOAD16_BYTE("jdsnd_u5.bin", 0x600000, 0x080000, CRC(c9f28ba6) SHA1(8447372428e3b9fc86a98286c05f95a13abe26b0))
656 	ROM_LOAD16_BYTE("jdsnd_u6.bin", 0x800000, 0x080000, CRC(ef0bf094) SHA1(c0860cecd436d352fe2c2208533ff6dc71bfced1))
657 	ROM_LOAD16_BYTE("jdsnd_u7.bin", 0xa00000, 0x080000, CRC(aebab88b) SHA1(d3f1be60a6840d9d085e22b43aafea1354771980))
658 	ROM_LOAD16_BYTE("jdsnd_u8.bin", 0xc00000, 0x080000, CRC(77604893) SHA1(a9a4a66412096edd88ee7adfd960eef6f5d16476))
659 	ROM_LOAD16_BYTE("jdsnd_u9.bin", 0xe00000, 0x080000, CRC(885b7c70) SHA1(be3bb42aeda3020a72c527f52c5330d0bafa9966))
660 ROM_END
661 
662 ROM_START(jd_l5)
663 	ROM_REGION(0x80000, "maincpu", 0)
664 	ROM_LOAD("jd_l5.u6", 0x00000, 0x80000, CRC(879b091e) SHA1(eaf1c86c0e72e8cdfa9ac942fc54ef4f70a65175))
665 	ROM_REGION16_LE(0x1000000, "dcs",0)
666 	ROM_LOAD16_BYTE("jdsu2_l3.bin", 0x000000, 0x080000, CRC(7a59ec18) SHA1(ee073d4bea198fd66de3508f67061b7d19f12edc))
667 	ROM_LOAD16_BYTE("jdsu3_l3.bin", 0x200000, 0x080000, CRC(42f52faa) SHA1(3fac9d3ddfe21877929eaa4cb7101a690745b163))
668 	ROM_LOAD16_BYTE("jdsnd_u4.bin", 0x400000, 0x080000, CRC(93f6ebc1) SHA1(5cb306afa693e60887069745588dfd5b930c5951))
669 	ROM_LOAD16_BYTE("jdsnd_u5.bin", 0x600000, 0x080000, CRC(c9f28ba6) SHA1(8447372428e3b9fc86a98286c05f95a13abe26b0))
670 	ROM_LOAD16_BYTE("jdsnd_u6.bin", 0x800000, 0x080000, CRC(ef0bf094) SHA1(c0860cecd436d352fe2c2208533ff6dc71bfced1))
671 	ROM_LOAD16_BYTE("jdsnd_u7.bin", 0xa00000, 0x080000, CRC(aebab88b) SHA1(d3f1be60a6840d9d085e22b43aafea1354771980))
672 	ROM_LOAD16_BYTE("jdsnd_u8.bin", 0xc00000, 0x080000, CRC(77604893) SHA1(a9a4a66412096edd88ee7adfd960eef6f5d16476))
673 	ROM_LOAD16_BYTE("jdsnd_u9.bin", 0xe00000, 0x080000, CRC(885b7c70) SHA1(be3bb42aeda3020a72c527f52c5330d0bafa9966))
674 ROM_END
675 
676 ROM_START(jd_l4)
677 	ROM_REGION(0x80000, "maincpu", 0)
678 	ROM_LOAD("jd_l4.u6", 0x00000, 0x80000, CRC(cc6f1068) SHA1(aef2a2eeb9110074eebff91318179ce97aba14ba))
679 	ROM_REGION16_LE(0x1000000, "dcs",0)
680 	ROM_LOAD16_BYTE("jdsu2_l3.bin", 0x000000, 0x080000, CRC(7a59ec18) SHA1(ee073d4bea198fd66de3508f67061b7d19f12edc))
681 	ROM_LOAD16_BYTE("jdsu3_l3.bin", 0x200000, 0x080000, CRC(42f52faa) SHA1(3fac9d3ddfe21877929eaa4cb7101a690745b163))
682 	ROM_LOAD16_BYTE("jdsnd_u4.bin", 0x400000, 0x080000, CRC(93f6ebc1) SHA1(5cb306afa693e60887069745588dfd5b930c5951))
683 	ROM_LOAD16_BYTE("jdsnd_u5.bin", 0x600000, 0x080000, CRC(c9f28ba6) SHA1(8447372428e3b9fc86a98286c05f95a13abe26b0))
684 	ROM_LOAD16_BYTE("jdsnd_u6.bin", 0x800000, 0x080000, CRC(ef0bf094) SHA1(c0860cecd436d352fe2c2208533ff6dc71bfced1))
685 	ROM_LOAD16_BYTE("jdsnd_u7.bin", 0xa00000, 0x080000, CRC(aebab88b) SHA1(d3f1be60a6840d9d085e22b43aafea1354771980))
686 	ROM_LOAD16_BYTE("jdsnd_u8.bin", 0xc00000, 0x080000, CRC(77604893) SHA1(a9a4a66412096edd88ee7adfd960eef6f5d16476))
687 	ROM_LOAD16_BYTE("jdsnd_u9.bin", 0xe00000, 0x080000, CRC(885b7c70) SHA1(be3bb42aeda3020a72c527f52c5330d0bafa9966))
688 ROM_END
689 
690 /*-----------------
691 / Popeye Saves The Earth #50022
692 /------------------*/
693 ROM_START(pop_lx5)
694 	ROM_REGION(0x80000, "maincpu", 0)
695 	ROM_LOAD("peye_lx5.rom", 0x00000, 0x80000, CRC(ee1f7a67) SHA1(f02518546de93256b00bc1f5b92452a10f9e56dd))
696 	ROM_REGION16_LE(0x1000000, "dcs", 0)
697 	ROM_LOAD16_BYTE("popsndl2.u2", 0x000000, 0x080000, CRC(00590f2d) SHA1(540ad9825dbaace55bf36a6cee98bef06f240e15))
698 	ROM_LOAD16_BYTE("popsndl2.u3", 0x200000, 0x080000, CRC(87032b27) SHA1(9488d177418b53ceb37686cf6f4f58800b306d85))
699 	ROM_LOAD16_BYTE("popsndl2.u4", 0x400000, 0x080000, CRC(b0808aa8) SHA1(bebe6ec3c3e675e096084b6ed61065ad48dc5c3f))
700 	ROM_LOAD16_BYTE("popsndl2.u5", 0x600000, 0x080000, CRC(3662206b) SHA1(c2714665db18e9ae540a8f922d7ebb3058638563))
701 	ROM_LOAD16_BYTE("popsndl2.u6", 0x800000, 0x080000, CRC(84a5f317) SHA1(f1b9710d109e28fe3255e36dafa2be23656d0445))
702 	ROM_LOAD16_BYTE("popsndl2.u7", 0xa00000, 0x080000, CRC(b8fde2c7) SHA1(ee82a7b1ad32e1231356ce42c4ad3109150a9992))
703 ROM_END
704 
705 ROM_START(pop_pa3)
706 	ROM_REGION(0x80000, "maincpu", 0)
707 	ROM_LOAD("peye_pa3.rom", 0x00000, 0x80000, CRC(1cee3ae7) SHA1(e5b05fcf8aac98993940a2cda2552ff93ee3a518))
708 	ROM_REGION16_LE(0x1000000, "dcs", 0)
709 	ROM_LOAD16_BYTE("popsndp0.u2", 0x000000, 0x080000, CRC(1e3a98a4) SHA1(2f871f354df7684d0b4aa31e2d2bb4035072bb4a))
710 	ROM_LOAD16_BYTE("popsndl2.u3", 0x200000, 0x080000, CRC(87032b27) SHA1(9488d177418b53ceb37686cf6f4f58800b306d85))
711 	ROM_LOAD16_BYTE("popsndl2.u4", 0x400000, 0x080000, CRC(b0808aa8) SHA1(bebe6ec3c3e675e096084b6ed61065ad48dc5c3f))
712 	ROM_LOAD16_BYTE("popsndl2.u5", 0x600000, 0x080000, CRC(3662206b) SHA1(c2714665db18e9ae540a8f922d7ebb3058638563))
713 	ROM_LOAD16_BYTE("popsndl2.u6", 0x800000, 0x080000, CRC(84a5f317) SHA1(f1b9710d109e28fe3255e36dafa2be23656d0445))
714 	ROM_LOAD16_BYTE("popsndl2.u7", 0xa00000, 0x080000, CRC(b8fde2c7) SHA1(ee82a7b1ad32e1231356ce42c4ad3109150a9992))
715 ROM_END
716 
717 ROM_START(pop_la4)
718 	ROM_REGION(0x80000, "maincpu", 0)
719 	ROM_LOAD("peye_la4.rom", 0x00000, 0x80000, CRC(11cedcf7) SHA1(e0219060cf09a757edf19875a224801b3179664c))
720 	ROM_REGION16_LE(0x1000000, "dcs", 0)
721 	ROM_LOAD16_BYTE("popsndl2.u2", 0x000000, 0x080000, CRC(00590f2d) SHA1(540ad9825dbaace55bf36a6cee98bef06f240e15))
722 	ROM_LOAD16_BYTE("popsndl2.u3", 0x200000, 0x080000, CRC(87032b27) SHA1(9488d177418b53ceb37686cf6f4f58800b306d85))
723 	ROM_LOAD16_BYTE("popsndl2.u4", 0x400000, 0x080000, CRC(b0808aa8) SHA1(bebe6ec3c3e675e096084b6ed61065ad48dc5c3f))
724 	ROM_LOAD16_BYTE("popsndl2.u5", 0x600000, 0x080000, CRC(3662206b) SHA1(c2714665db18e9ae540a8f922d7ebb3058638563))
725 	ROM_LOAD16_BYTE("popsndl2.u6", 0x800000, 0x080000, CRC(84a5f317) SHA1(f1b9710d109e28fe3255e36dafa2be23656d0445))
726 	ROM_LOAD16_BYTE("popsndl2.u7", 0xa00000, 0x080000, CRC(b8fde2c7) SHA1(ee82a7b1ad32e1231356ce42c4ad3109150a9992))
727 ROM_END
728 
729 
730 /*-----------------
731 / Star Trek: The Next Generation #50023
732 /------------------*/
733 ROM_START(sttng_l7)
734 	ROM_REGION(0x80000, "maincpu", 0)
735 	ROM_LOAD("trek_lx7.rom", 0x00000, 0x80000, CRC(d439fdbb) SHA1(12d1c72cd6cc18db53e51ebb4c1e55ca9bcf9908))
736 	ROM_REGION16_LE(0x1000000, "dcs",0)
737 	ROM_LOAD16_BYTE("ng_u2_s.l1", 0x000000, 0x080000, CRC(c3bd7bf5) SHA1(2476ff90232a52d667a407fac81ee4db028b94e5))
738 	ROM_LOAD16_BYTE("ng_u3_s.l1", 0x200000, 0x080000, CRC(9456cac7) SHA1(83e415e0f21bb5418f3677dbc13433e056c523ab))
739 	ROM_LOAD16_BYTE("ng_u4_s.l1", 0x400000, 0x080000, CRC(179d22a4) SHA1(456b7189e23d4e2bd7e2a6249fa2a73bf0e12194))
740 	ROM_LOAD16_BYTE("ng_u5_s.l1", 0x600000, 0x080000, CRC(231a3e72) SHA1(081b1a042e62ccb723788059d6c1e00b9b32c778))
741 	ROM_LOAD16_BYTE("ng_u6_s.l1", 0x800000, 0x080000, CRC(bb21377d) SHA1(229fb42a1f8b22727a809e5d63f26f045a2adda5))
742 	ROM_LOAD16_BYTE("ng_u7_s.l1", 0xa00000, 0x080000, CRC(d81b39f0) SHA1(3443e7327c755b85a5b390f7fcd0e9923890425a))
743 	ROM_LOAD16_BYTE("ng_u8_s.l1", 0xc00000, 0x080000, CRC(c9fb065e) SHA1(c148178ee0ea787acc88078db01d17073e75fdc7))
744 ROM_END
745 
746 ROM_START(sttng_x7)
747 	ROM_REGION(0x80000, "maincpu", 0)
748 	ROM_LOAD("trek_x7.rom", 0x00000, 0x80000, CRC(4e71c9c7) SHA1(8a7ec42dfb4a6902ba745548b40e84de5305c295))
749 	ROM_REGION16_LE(0x1000000, "dcs", 0)
750 	ROM_LOAD16_BYTE("ngs_u2.rom", 0x000000, 0x080000, CRC(e9fe68fe) SHA1(3d7631aa5ddd52f7c3c00cd091e212430faea249))
751 	ROM_LOAD16_BYTE("ngs_u3.rom", 0x200000, 0x080000, CRC(368cfd89) SHA1(40ddc12b2cabbcf73ababf753f3a2fd4bcc10737))
752 	ROM_LOAD16_BYTE("ngs_u4.rom", 0x400000, 0x080000, CRC(8e79a513) SHA1(4b763d7445acd921a0a6d64d18b5df8ff9e3257e))
753 	ROM_LOAD16_BYTE("ngs_u5.rom", 0x600000, 0x080000, CRC(46049eb0) SHA1(02991bf1d33ac1df91f459b2d37cf7e07e347b04))
754 	ROM_LOAD16_BYTE("ngs_u6.rom", 0x800000, 0x080000, CRC(e0124da0) SHA1(bfdba059d084c93122ad291aa8def61f43c26d47))
755 	ROM_LOAD16_BYTE("ngs_u7.rom", 0xa00000, 0x080000, CRC(dc1c74d0) SHA1(21b6b4d2cdd5086bcbbc7ee7a2abdc550a45d2e3))
756 	ROM_LOAD16_BYTE("ng_u8_s.l1", 0xc00000, 0x080000, CRC(c9fb065e) SHA1(c148178ee0ea787acc88078db01d17073e75fdc7))
757 ROM_END
758 
759 ROM_START(sttng_s7)
760 	ROM_REGION(0x80000, "maincpu", 0)
761 	ROM_LOAD("trek_lx7.rom", 0x00000, 0x80000, CRC(d439fdbb) SHA1(12d1c72cd6cc18db53e51ebb4c1e55ca9bcf9908))
762 	ROM_REGION16_LE(0x1000000, "dcs", 0)
763 	ROM_LOAD16_BYTE("su2-sp1.rom", 0x000000, 0x080000, CRC(bdef8b2c) SHA1(188d8d2a652844e9885bd9e9ad4143927ddc6fee))
764 	ROM_LOAD16_BYTE("ng_u3_s.l1", 0x200000, 0x080000, CRC(9456cac7) SHA1(83e415e0f21bb5418f3677dbc13433e056c523ab))
765 	ROM_LOAD16_BYTE("ng_u4_s.l1", 0x400000, 0x080000, CRC(179d22a4) SHA1(456b7189e23d4e2bd7e2a6249fa2a73bf0e12194))
766 	ROM_LOAD16_BYTE("ng_u5_s.l1", 0x600000, 0x080000, CRC(231a3e72) SHA1(081b1a042e62ccb723788059d6c1e00b9b32c778))
767 	ROM_LOAD16_BYTE("ng_u6_s.l1", 0x800000, 0x080000, CRC(bb21377d) SHA1(229fb42a1f8b22727a809e5d63f26f045a2adda5))
768 	ROM_LOAD16_BYTE("ng_u7_s.l1", 0xa00000, 0x080000, CRC(d81b39f0) SHA1(3443e7327c755b85a5b390f7fcd0e9923890425a))
769 	ROM_LOAD16_BYTE("ng_u8_s.l1", 0xc00000, 0x080000, CRC(c9fb065e) SHA1(c148178ee0ea787acc88078db01d17073e75fdc7))
770 ROM_END
771 
772 ROM_START(sttng_p8)
773 	ROM_REGION(0x80000, "maincpu", 0)
774 	ROM_LOAD("sttng_p8.u6", 0x00000, 0x80000, CRC(bf599f45) SHA1(ec660f99030f89bdfe3d04cc38fd450d6bbedf7d))
775 	ROM_REGION16_LE(0x1000000, "dcs",0)
776 	ROM_LOAD16_BYTE("ng_u2_s.l1", 0x000000, 0x080000, CRC(c3bd7bf5) SHA1(2476ff90232a52d667a407fac81ee4db028b94e5))
777 	ROM_LOAD16_BYTE("ng_u3_s.l1", 0x200000, 0x080000, CRC(9456cac7) SHA1(83e415e0f21bb5418f3677dbc13433e056c523ab))
778 	ROM_LOAD16_BYTE("ng_u4_s.l1", 0x400000, 0x080000, CRC(179d22a4) SHA1(456b7189e23d4e2bd7e2a6249fa2a73bf0e12194))
779 	ROM_LOAD16_BYTE("ng_u5_s.l1", 0x600000, 0x080000, CRC(231a3e72) SHA1(081b1a042e62ccb723788059d6c1e00b9b32c778))
780 	ROM_LOAD16_BYTE("ng_u6_s.l1", 0x800000, 0x080000, CRC(bb21377d) SHA1(229fb42a1f8b22727a809e5d63f26f045a2adda5))
781 	ROM_LOAD16_BYTE("ng_u7_s.l1", 0xa00000, 0x080000, CRC(d81b39f0) SHA1(3443e7327c755b85a5b390f7fcd0e9923890425a))
782 	ROM_LOAD16_BYTE("ng_u8_s.l1", 0xc00000, 0x080000, CRC(c9fb065e) SHA1(c148178ee0ea787acc88078db01d17073e75fdc7))
783 ROM_END
784 
785 ROM_START(sttng_p5)
786 	ROM_REGION(0x80000, "maincpu", 0)
787 	ROM_LOAD("sttng_p5.u6", 0x00000, 0x80000, CRC(c1b80a8e) SHA1(90dd99efd41ec5405c631ad374a369f9fcb7217e))
788 	ROM_REGION16_LE(0x1000000, "dcs",0)
789 	ROM_LOAD16_BYTE("ng_u2_s.l1", 0x000000, 0x080000, CRC(c3bd7bf5) SHA1(2476ff90232a52d667a407fac81ee4db028b94e5))
790 	ROM_LOAD16_BYTE("ng_u3_s.l1", 0x200000, 0x080000, CRC(9456cac7) SHA1(83e415e0f21bb5418f3677dbc13433e056c523ab))
791 	ROM_LOAD16_BYTE("ng_u4_s.l1", 0x400000, 0x080000, CRC(179d22a4) SHA1(456b7189e23d4e2bd7e2a6249fa2a73bf0e12194))
792 	ROM_LOAD16_BYTE("ng_u5_s.l1", 0x600000, 0x080000, CRC(231a3e72) SHA1(081b1a042e62ccb723788059d6c1e00b9b32c778))
793 	ROM_LOAD16_BYTE("ng_u6_s.l1", 0x800000, 0x080000, CRC(bb21377d) SHA1(229fb42a1f8b22727a809e5d63f26f045a2adda5))
794 	ROM_LOAD16_BYTE("ng_u7_s.l1", 0xa00000, 0x080000, CRC(d81b39f0) SHA1(3443e7327c755b85a5b390f7fcd0e9923890425a))
795 	ROM_LOAD16_BYTE("ng_u8_s.l1", 0xc00000, 0x080000, CRC(c9fb065e) SHA1(c148178ee0ea787acc88078db01d17073e75fdc7))
796 ROM_END
797 
798 ROM_START(sttng_p4)
799 	ROM_REGION(0x80000, "maincpu", 0)
800 	ROM_LOAD("sttng_p4.u6", 0x00000, 0x80000, CRC(836774f0) SHA1(5784f77eaad41ccf07446874720be146fd562c68))
801 	ROM_REGION16_LE(0x1000000, "dcs",0)
802 	ROM_LOAD16_BYTE("ng_u2_s.l1", 0x000000, 0x080000, CRC(c3bd7bf5) SHA1(2476ff90232a52d667a407fac81ee4db028b94e5))
803 	ROM_LOAD16_BYTE("ng_u3_s.l1", 0x200000, 0x080000, CRC(9456cac7) SHA1(83e415e0f21bb5418f3677dbc13433e056c523ab))
804 	ROM_LOAD16_BYTE("ng_u4_s.l1", 0x400000, 0x080000, CRC(179d22a4) SHA1(456b7189e23d4e2bd7e2a6249fa2a73bf0e12194))
805 	ROM_LOAD16_BYTE("ng_u5_s.l1", 0x600000, 0x080000, CRC(231a3e72) SHA1(081b1a042e62ccb723788059d6c1e00b9b32c778))
806 	ROM_LOAD16_BYTE("ng_u6_s.l1", 0x800000, 0x080000, CRC(bb21377d) SHA1(229fb42a1f8b22727a809e5d63f26f045a2adda5))
807 	ROM_LOAD16_BYTE("ng_u7_s.l1", 0xa00000, 0x080000, CRC(d81b39f0) SHA1(3443e7327c755b85a5b390f7fcd0e9923890425a))
808 	ROM_LOAD16_BYTE("ng_u8_s.l1", 0xc00000, 0x080000, CRC(c9fb065e) SHA1(c148178ee0ea787acc88078db01d17073e75fdc7))
809 ROM_END
810 
811 ROM_START(sttng_g7)
812 	ROM_REGION(0x80000, "maincpu", 0)
813 	ROM_LOAD("trek_lg7.rom", 0x00000, 0x80000, CRC(e723b8a1) SHA1(77c3f8ea378772ce45bb8de818069fc08cbc4574))
814 	ROM_REGION16_LE(0x1000000, "dcs",0)
815 	ROM_LOAD16_BYTE("ng_u2_s.l1", 0x000000, 0x080000, CRC(c3bd7bf5) SHA1(2476ff90232a52d667a407fac81ee4db028b94e5))
816 	ROM_LOAD16_BYTE("ng_u3_s.l1", 0x200000, 0x080000, CRC(9456cac7) SHA1(83e415e0f21bb5418f3677dbc13433e056c523ab))
817 	ROM_LOAD16_BYTE("ng_u4_s.l1", 0x400000, 0x080000, CRC(179d22a4) SHA1(456b7189e23d4e2bd7e2a6249fa2a73bf0e12194))
818 	ROM_LOAD16_BYTE("ng_u5_s.l1", 0x600000, 0x080000, CRC(231a3e72) SHA1(081b1a042e62ccb723788059d6c1e00b9b32c778))
819 	ROM_LOAD16_BYTE("ng_u6_s.l1", 0x800000, 0x080000, CRC(bb21377d) SHA1(229fb42a1f8b22727a809e5d63f26f045a2adda5))
820 	ROM_LOAD16_BYTE("ng_u7_s.l1", 0xa00000, 0x080000, CRC(d81b39f0) SHA1(3443e7327c755b85a5b390f7fcd0e9923890425a))
821 	ROM_LOAD16_BYTE("ng_u8_s.l1", 0xc00000, 0x080000, CRC(c9fb065e) SHA1(c148178ee0ea787acc88078db01d17073e75fdc7))
822 ROM_END
823 
824 ROM_START(sttng_l1)
825 	ROM_REGION(0x80000, "maincpu", 0)
826 	ROM_LOAD("trek_lx1.rom", 0x00000, 0x80000, CRC(390befc0) SHA1(2059891e3fc3034d600274c3915371123c964d28))
827 	ROM_REGION16_LE(0x1000000, "dcs",0)
828 	ROM_LOAD16_BYTE("ng_u2_s.l1", 0x000000, 0x080000, CRC(c3bd7bf5) SHA1(2476ff90232a52d667a407fac81ee4db028b94e5))
829 	ROM_LOAD16_BYTE("ng_u3_s.l1", 0x200000, 0x080000, CRC(9456cac7) SHA1(83e415e0f21bb5418f3677dbc13433e056c523ab))
830 	ROM_LOAD16_BYTE("ng_u4_s.l1", 0x400000, 0x080000, CRC(179d22a4) SHA1(456b7189e23d4e2bd7e2a6249fa2a73bf0e12194))
831 	ROM_LOAD16_BYTE("ng_u5_s.l1", 0x600000, 0x080000, CRC(231a3e72) SHA1(081b1a042e62ccb723788059d6c1e00b9b32c778))
832 	ROM_LOAD16_BYTE("ng_u6_s.l1", 0x800000, 0x080000, CRC(bb21377d) SHA1(229fb42a1f8b22727a809e5d63f26f045a2adda5))
833 	ROM_LOAD16_BYTE("ng_u7_s.l1", 0xa00000, 0x080000, CRC(d81b39f0) SHA1(3443e7327c755b85a5b390f7fcd0e9923890425a))
834 	ROM_LOAD16_BYTE("ng_u8_s.l1", 0xc00000, 0x080000, CRC(c9fb065e) SHA1(c148178ee0ea787acc88078db01d17073e75fdc7))
835 ROM_END
836 
837 ROM_START(sttng_l2)
838 	ROM_REGION(0x80000, "maincpu", 0)
839 	ROM_LOAD("trek_lx2.rom", 0x00000, 0x80000, CRC(e2557554) SHA1(7d8502ab9df340d60fd72e6964740bc7a2da2065))
840 	ROM_REGION16_LE(0x1000000, "dcs",0)
841 	ROM_LOAD16_BYTE("ng_u2_s.l1", 0x000000, 0x080000, CRC(c3bd7bf5) SHA1(2476ff90232a52d667a407fac81ee4db028b94e5))
842 	ROM_LOAD16_BYTE("ng_u3_s.l1", 0x200000, 0x080000, CRC(9456cac7) SHA1(83e415e0f21bb5418f3677dbc13433e056c523ab))
843 	ROM_LOAD16_BYTE("ng_u4_s.l1", 0x400000, 0x080000, CRC(179d22a4) SHA1(456b7189e23d4e2bd7e2a6249fa2a73bf0e12194))
844 	ROM_LOAD16_BYTE("ng_u5_s.l1", 0x600000, 0x080000, CRC(231a3e72) SHA1(081b1a042e62ccb723788059d6c1e00b9b32c778))
845 	ROM_LOAD16_BYTE("ng_u6_s.l1", 0x800000, 0x080000, CRC(bb21377d) SHA1(229fb42a1f8b22727a809e5d63f26f045a2adda5))
846 	ROM_LOAD16_BYTE("ng_u7_s.l1", 0xa00000, 0x080000, CRC(d81b39f0) SHA1(3443e7327c755b85a5b390f7fcd0e9923890425a))
847 	ROM_LOAD16_BYTE("ng_u8_s.l1", 0xc00000, 0x080000, CRC(c9fb065e) SHA1(c148178ee0ea787acc88078db01d17073e75fdc7))
848 ROM_END
849 
850 ROM_START(sttng_l3)
851 	ROM_REGION(0x80000, "maincpu", 0)
852 	ROM_LOAD("trek_lx3.rom", 0x00000, 0x80000, CRC(400e7887) SHA1(23d5e9796f0c3c66121da53088df6f5275348f4a))
853 	ROM_REGION16_LE(0x1000000, "dcs",0)
854 	ROM_LOAD16_BYTE("ng_u2_s.l1", 0x000000, 0x080000, CRC(c3bd7bf5) SHA1(2476ff90232a52d667a407fac81ee4db028b94e5))
855 	ROM_LOAD16_BYTE("ng_u3_s.l1", 0x200000, 0x080000, CRC(9456cac7) SHA1(83e415e0f21bb5418f3677dbc13433e056c523ab))
856 	ROM_LOAD16_BYTE("ng_u4_s.l1", 0x400000, 0x080000, CRC(179d22a4) SHA1(456b7189e23d4e2bd7e2a6249fa2a73bf0e12194))
857 	ROM_LOAD16_BYTE("ng_u5_s.l1", 0x600000, 0x080000, CRC(231a3e72) SHA1(081b1a042e62ccb723788059d6c1e00b9b32c778))
858 	ROM_LOAD16_BYTE("ng_u6_s.l1", 0x800000, 0x080000, CRC(bb21377d) SHA1(229fb42a1f8b22727a809e5d63f26f045a2adda5))
859 	ROM_LOAD16_BYTE("ng_u7_s.l1", 0xa00000, 0x080000, CRC(d81b39f0) SHA1(3443e7327c755b85a5b390f7fcd0e9923890425a))
860 	ROM_LOAD16_BYTE("ng_u8_s.l1", 0xc00000, 0x080000, CRC(c9fb065e) SHA1(c148178ee0ea787acc88078db01d17073e75fdc7))
861 ROM_END
862 
863 ROM_START(sttng_l5)
864 	ROM_REGION(0x80000, "maincpu", 0)
865 	ROM_LOAD("trek_lx5.rom", 0x00000, 0x80000, CRC(e004f3a7) SHA1(c724641106115e3f14bbe3998771823d0ac12d69))
866 	ROM_REGION16_LE(0x1000000, "dcs",0)
867 	ROM_LOAD16_BYTE("ng_u2_s.l1", 0x000000, 0x080000, CRC(c3bd7bf5) SHA1(2476ff90232a52d667a407fac81ee4db028b94e5))
868 	ROM_LOAD16_BYTE("ng_u3_s.l1", 0x200000, 0x080000, CRC(9456cac7) SHA1(83e415e0f21bb5418f3677dbc13433e056c523ab))
869 	ROM_LOAD16_BYTE("ng_u4_s.l1", 0x400000, 0x080000, CRC(179d22a4) SHA1(456b7189e23d4e2bd7e2a6249fa2a73bf0e12194))
870 	ROM_LOAD16_BYTE("ng_u5_s.l1", 0x600000, 0x080000, CRC(231a3e72) SHA1(081b1a042e62ccb723788059d6c1e00b9b32c778))
871 	ROM_LOAD16_BYTE("ng_u6_s.l1", 0x800000, 0x080000, CRC(bb21377d) SHA1(229fb42a1f8b22727a809e5d63f26f045a2adda5))
872 	ROM_LOAD16_BYTE("ng_u7_s.l1", 0xa00000, 0x080000, CRC(d81b39f0) SHA1(3443e7327c755b85a5b390f7fcd0e9923890425a))
873 	ROM_LOAD16_BYTE("ng_u8_s.l1", 0xc00000, 0x080000, CRC(c9fb065e) SHA1(c148178ee0ea787acc88078db01d17073e75fdc7))
874 ROM_END
875 
876 
877 /*-------------
878 / Addams Family Values (Coin Dropper)
879 /--------------*/
880 ROM_START(afv_l4)
881 	ROM_REGION(0x80000, "maincpu", 0)
882 	ROM_LOAD("afv_u6.l4", 0x00000, 0x80000, CRC(37369339) SHA1(e44a91faca80ffa00d6db78e2df7aa9bf14e957c))
883 	ROM_REGION16_LE(0x1000000, "dcs", 0)
884 	ROM_LOAD16_BYTE("afv_su2.l1", 0x000000, 0x080000, CRC(1aa878fc) SHA1(59a89071001b5da6ab56d691721a015773f5f0b5))
885 ROM_END
886 
887 GAME(1994,  dm_lx4,     0,          wpc_dcs,    wpc_dcs, wpc_dcs_state, init_dm,    ROT0,   "Williams",  "Demolition Man (LX-4)",                            MACHINE_MECHANICAL)
888 GAME(1994,  dm_pa2,     dm_lx4,     wpc_dcs,    wpc_dcs, wpc_dcs_state, init_dm,    ROT0,   "Williams",  "Demolition Man (PA-2)",                            MACHINE_MECHANICAL)
889 GAME(1994,  dm_px5,     dm_lx4,     wpc_dcs,    wpc_dcs, wpc_dcs_state, init_dm,    ROT0,   "Williams",  "Demolition Man (PX-5)",                            MACHINE_MECHANICAL)
890 GAME(1994,  dm_la1,     dm_lx4,     wpc_dcs,    wpc_dcs, wpc_dcs_state, init_dm,    ROT0,   "Williams",  "Demolition Man (LA-1)",                            MACHINE_MECHANICAL)
891 GAME(1994,  dm_lx3,     dm_lx4,     wpc_dcs,    wpc_dcs, wpc_dcs_state, init_dm,    ROT0,   "Williams",  "Demolition Man (LX-3)",                            MACHINE_MECHANICAL)
892 GAME(1995,  dm_h5,      dm_lx4,     wpc_dcs,    wpc_dcs, wpc_dcs_state, init_dm,    ROT0,   "Williams",  "Demolition Man (H-5)",                             MACHINE_MECHANICAL)
893 GAME(1995,  dm_h6,      dm_lx4,     wpc_dcs,    wpc_dcs, wpc_dcs_state, init_dm,    ROT0,   "Williams",  "Demolition Man (H-6)",                             MACHINE_MECHANICAL)
894 GAME(1993,  ij_l7,      0,          wpc_dcs,    wpc_dcs, wpc_dcs_state, init_ij,    ROT0,   "Williams",  "Indiana Jones (L-7)",                              MACHINE_MECHANICAL)
895 GAME(1993,  ij_lg7,     ij_l7,      wpc_dcs,    wpc_dcs, wpc_dcs_state, init_ij,    ROT0,   "Williams",  "Indiana Jones (LG-7)",                             MACHINE_MECHANICAL)
896 GAME(1993,  ij_l6,      ij_l7,      wpc_dcs,    wpc_dcs, wpc_dcs_state, init_ij,    ROT0,   "Williams",  "Indiana Jones (L-6)",                              MACHINE_MECHANICAL)
897 GAME(1993,  ij_l5,      ij_l7,      wpc_dcs,    wpc_dcs, wpc_dcs_state, init_ij,    ROT0,   "Williams",  "Indiana Jones (L-5)",                              MACHINE_MECHANICAL)
898 GAME(1993,  ij_l4,      ij_l7,      wpc_dcs,    wpc_dcs, wpc_dcs_state, init_ij,    ROT0,   "Williams",  "Indiana Jones (L-4)",                              MACHINE_MECHANICAL)
899 GAME(1993,  ij_l3,      ij_l7,      wpc_dcs,    wpc_dcs, wpc_dcs_state, init_ij,    ROT0,   "Williams",  "Indiana Jones (L-3)",                              MACHINE_MECHANICAL)
900 GAME(1993,  jd_l7,      0,          wpc_dcs,    wpc_dcs, wpc_dcs_state, init_jd,    ROT0,   "Bally",     "Judge Dredd (L-7)",                                MACHINE_MECHANICAL)
901 GAME(1993,  jd_l1,      jd_l7,      wpc_dcs,    wpc_dcs, wpc_dcs_state, init_jd,    ROT0,   "Bally",     "Judge Dredd (L-1)",                                MACHINE_MECHANICAL)
902 GAME(1993,  jd_l6,      jd_l7,      wpc_dcs,    wpc_dcs, wpc_dcs_state, init_jd,    ROT0,   "Bally",     "Judge Dredd (L-6)",                                MACHINE_MECHANICAL)
903 GAME(1993,  jd_l5,      jd_l7,      wpc_dcs,    wpc_dcs, wpc_dcs_state, init_jd,    ROT0,   "Bally",     "Judge Dredd (L-5)",                                MACHINE_MECHANICAL)
904 GAME(1993,  jd_l4,      jd_l7,      wpc_dcs,    wpc_dcs, wpc_dcs_state, init_jd,    ROT0,   "Bally",     "Judge Dredd (L-4)",                                MACHINE_MECHANICAL)
905 GAME(1994,  pop_lx5,    0,          wpc_dcs,    wpc_dcs, wpc_dcs_state, init_pop,   ROT0,   "Bally",     "Popeye Saves The Earth (LX-5)",                    MACHINE_MECHANICAL)
906 GAME(1994,  pop_la4,    pop_lx5,    wpc_dcs,    wpc_dcs, wpc_dcs_state, init_pop,   ROT0,   "Bally",     "Popeye Saves The Earth (LA-4)",                    MACHINE_MECHANICAL)
907 GAME(1994,  pop_pa3,    pop_lx5,    wpc_dcs,    wpc_dcs, wpc_dcs_state, init_pop,   ROT0,   "Bally",     "Popeye Saves The Earth (PA-3)",                    MACHINE_MECHANICAL)
908 GAME(1994,  sttng_l7,   0,          wpc_dcs,    wpc_dcs, wpc_dcs_state, init_sttng, ROT0,   "Williams",  "Star Trek: The Next Generation (LX-7)",            MACHINE_MECHANICAL)
909 GAME(1994,  sttng_l5,   sttng_l7,   wpc_dcs,    wpc_dcs, wpc_dcs_state, init_sttng, ROT0,   "Williams",  "Star Trek: The Next Generation (LX-5)",            MACHINE_MECHANICAL)
910 GAME(1994,  sttng_x7,   sttng_l7,   wpc_dcs,    wpc_dcs, wpc_dcs_state, init_sttng, ROT0,   "Williams",  "Star Trek: The Next Generation (LX-7 Special)",    MACHINE_MECHANICAL)
911 GAME(1993,  sttng_p8,   sttng_l7,   wpc_dcs,    wpc_dcs, wpc_dcs_state, init_sttng, ROT0,   "Williams",  "Star Trek: The Next Generation (P-8)",             MACHINE_MECHANICAL)
912 GAME(1993,  sttng_p5,   sttng_l7,   wpc_dcs,    wpc_dcs, wpc_dcs_state, init_sttng, ROT0,   "Williams",  "Star Trek: The Next Generation (P-5)",             MACHINE_MECHANICAL)
913 GAME(1993,  sttng_p4,   sttng_l7,   wpc_dcs,    wpc_dcs, wpc_dcs_state, init_sttng, ROT0,   "Williams",  "Star Trek: The Next Generation (P-4)",             MACHINE_MECHANICAL)
914 GAME(1994,  sttng_s7,   sttng_l7,   wpc_dcs,    wpc_dcs, wpc_dcs_state, init_sttng, ROT0,   "Williams",  "Star Trek: The Next Generation (LX-7) SP1",        MACHINE_MECHANICAL)
915 GAME(1994,  sttng_g7,   sttng_l7,   wpc_dcs,    wpc_dcs, wpc_dcs_state, init_sttng, ROT0,   "Williams",  "Star Trek: The Next Generation (LG-7)",            MACHINE_MECHANICAL)
916 GAME(1993,  sttng_l1,   sttng_l7,   wpc_dcs,    wpc_dcs, wpc_dcs_state, init_sttng, ROT0,   "Williams",  "Star Trek: The Next Generation (LX-1)",            MACHINE_MECHANICAL)
917 GAME(1993,  sttng_l2,   sttng_l7,   wpc_dcs,    wpc_dcs, wpc_dcs_state, init_sttng, ROT0,   "Williams",  "Star Trek: The Next Generation (LX-2)",            MACHINE_MECHANICAL)
918 GAME(1994,  sttng_l3,   sttng_l7,   wpc_dcs,    wpc_dcs, wpc_dcs_state, init_sttng, ROT0,   "Williams",  "Star Trek: The Next Generation (LX-3)",            MACHINE_MECHANICAL)
919 GAME(1993,  afv_l4,     0,          wpc_dcs,    wpc_dcs, wpc_dcs_state, init_afv,   ROT0,   "Williams",  "Addams Family Values (Coin Dropper L-4)",          MACHINE_MECHANICAL)
920