1 // license:BSD-3-Clause
2 // copyright-holders:Aaron Giles
3 /***************************************************************************
4 
5     Sega System 18 hardware
6 
7 ****************************************************************************
8 
9     Known bugs:
10         * lghost sprites seem to be slightly out of sync
11         * lghost gun offset correction is not perfect yet - we should be able
12           to get an exact conversion from the disasm
13         * vdp gfx on 2nd attract level of lghost are corrupt at top of stairs
14           after attract mode loops
15         * pauses in lghost where all sprites vanish
16         * some minor gfx bugs in moonwalker (see mametesters)
17 
18 ****************************************************************************
19 
20 **  MC68000 + Z80
21 **  2xYM3438 + Custom PCM
22 **
23 **  Alien Storm
24 **  Bloxeed
25 **  Clutch Hitter
26 **  D.D. Crew
27 **  Laser Ghost
28 **  Michael Jackson's Moonwalker
29 **  Shadow Dancer
30 **  Wally wo Sagase! (Where's Wally?)
31 
32 ***************************************************************************/
33 
34 #include "emu.h"
35 #include "includes/segas18.h"
36 #include "includes/segaipt.h"
37 
38 #include "machine/nvram.h"
39 #include "sound/2612intf.h"
40 #include "sound/rf5c68.h"
41 #include "speaker.h"
42 
43 /*************************************
44  *
45  *  Memory mapping tables
46  *
47  *************************************/
48 
memory_mapper(sega_315_5195_mapper_device & mapper,uint8_t index)49 void segas18_state::memory_mapper(sega_315_5195_mapper_device &mapper, uint8_t index)
50 {
51 	uint32_t romsize = m_maincpu_region->bytes();
52 	switch (index)
53 	{
54 		case 7:
55 			mapper.map_as_handler(0x00000, 0x04000, 0xffc000, read16_delegate(*this, FUNC(segas18_state::misc_io_r)), write16_delegate(*this, FUNC(segas18_state::misc_io_w)));
56 			break;
57 
58 		case 6:
59 			mapper.map_as_ram(0x00000, 0x01000, 0xfff000, "paletteram", write16_delegate(*this, FUNC(segas18_state::paletteram_w)));
60 			break;
61 
62 		case 5:
63 			mapper.map_as_ram(0x00000, 0x10000, 0xfe0000, "tileram", write16_delegate(*this, FUNC(segas18_state::tileram_w)));
64 			mapper.map_as_ram(0x10000, 0x01000, 0xfef000, "textram", write16_delegate(*this, FUNC(segas18_state::textram_w)));
65 			break;
66 
67 		case 4:
68 			mapper.map_as_ram(0x00000, 0x00800, 0xfff800, "sprites", write16_delegate(*this));
69 			break;
70 
71 		case 3:
72 			mapper.map_as_ram(0x00000, 0x04000, 0xffc000, "workram", write16_delegate(*this));
73 			break;
74 
75 		case 2:
76 			switch (m_romboard)
77 			{
78 				case ROM_BOARD_171_SHADOW:  break;  // ???
79 				case ROM_BOARD_837_7525:
80 				case ROM_BOARD_171_5874:
81 				case ROM_BOARD_171_5987:    mapper.map_as_handler(0x00000, 0x00010, 0xfffff0, read16_delegate(*this, FUNC(segas18_state::genesis_vdp_r)), write16_delegate(*this, FUNC(segas18_state::genesis_vdp_w))); break;
82 				default:                    assert(false);
83 			}
84 			break;
85 
86 		case 1:
87 			switch (m_romboard)
88 			{
89 				case ROM_BOARD_171_SHADOW:  mapper.map_as_handler(0x00000, 0x00010, 0xfffff0, read16_delegate(*this, FUNC(segas18_state::genesis_vdp_r)), write16_delegate(*this, FUNC(segas18_state::genesis_vdp_w))); break;
90 				case ROM_BOARD_171_5874:    mapper.map_as_rom(0x00000, 0x80000, 0xf80000, "rom1base", "decrypted_rom1base", 0x80000, write16_delegate(*this)); break;
91 				case ROM_BOARD_171_5987:    if (romsize <= 0x100000)
92 												mapper.map_as_rom(0x00000, 0x80000, 0xf80000, "rom1base", "decrypted_rom1base", 0x80000, write16_delegate(*this, FUNC(segas18_state::rom_5987_bank_w)));
93 											else
94 												mapper.map_as_rom(0x00000,0x100000, 0xf00000, "rom1base", "decrypted_rom1base",0x100000, write16_delegate(*this, FUNC(segas18_state::rom_5987_bank_w)));
95 											break;
96 				case ROM_BOARD_837_7525:    mapper.map_as_rom(0x00000, 0x80000, 0xf80000, "rom1base", "decrypted_rom1base", 0x80000, write16_delegate(*this, FUNC(segas18_state::rom_837_7525_bank_w)));
97 				break;
98 
99 				default:                    assert(false);
100 			}
101 			break;
102 
103 		case 0:
104 			switch (m_romboard)
105 			{
106 				case ROM_BOARD_171_SHADOW:
107 				case ROM_BOARD_171_5874:    mapper.map_as_rom(0x00000, 0x80000, 0xf80000, "rom0base", "decrypted_rom0base", 0x00000, write16_delegate(*this)); break;
108 				case ROM_BOARD_837_7525:
109 				case ROM_BOARD_171_5987:    if (romsize <= 0x100000)
110 												mapper.map_as_rom(0x00000, 0x80000, 0xf80000, "rom0base", "decrypted_rom0base", 0x00000, write16_delegate(*this));
111 											else
112 												mapper.map_as_rom(0x00000,0x100000, 0xf00000, "rom0base", "decrypted_rom0base", 0x00000, write16_delegate(*this));
113 											break;
114 				default:                    assert(false);
115 			}
116 			break;
117 	}
118 }
119 
120 
121 
122 /*************************************
123  *
124  *  Configuration
125  *
126  *************************************/
127 
init_generic(segas18_rom_board rom_board)128 void segas18_state::init_generic(segas18_rom_board rom_board)
129 {
130 	// set the ROM board
131 	m_romboard = rom_board;
132 
133 	// configure the NVRAM to point to our workram
134 	m_nvram->set_base(m_workram, m_workram.bytes());
135 
136 	// configure VDP
137 	m_vdp->set_use_cram(1);
138 	m_vdp->set_vdp_pal(false);
139 	m_vdp->set_framerate(60);
140 	m_vdp->set_total_scanlines(262);
141 	m_vdp->stop_timers(); // 315-5124 timers
142 
143 	// save state
144 	save_item(NAME(m_lghost_value));
145 	save_item(NAME(m_lghost_select));
146 }
147 
148 
149 
150 /*************************************
151  *
152  *  Initialization & interrupts
153  *
154  *************************************/
155 
device_timer(emu_timer & timer,device_timer_id id,int param,void * ptr)156 void segas18_state::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr)
157 {
158 	switch (id)
159 	{
160 		case TID_INITIAL_BOOST:
161 			machine().scheduler().boost_interleave(attotime::zero, attotime::from_msec(10));
162 			break;
163 	}
164 }
165 
machine_start()166 void segas18_state::machine_start()
167 {
168 	m_gun_recoil.resolve(); // lghost
169 	m_soundbank->configure_entries(0, 256, memregion("soundcpu")->base(), 0x2000);
170 }
171 
machine_reset()172 void segas18_state::machine_reset()
173 {
174 	m_segaic16vid->tilemap_reset(*m_screen);
175 
176 	m_vdp->device_reset_old();
177 
178 	// if we are running with a real live 8751, we need to boost the interleave at startup
179 	if (m_mcu != nullptr && m_mcu->type() == I8751)
180 		synchronize(TID_INITIAL_BOOST);
181 }
182 
183 
184 
185 /*************************************
186  *
187  *  I/O space
188  *
189  *************************************/
190 
misc_outputs_w(uint8_t data)191 void segas18_state::misc_outputs_w(uint8_t data)
192 {
193 	// miscellaneous output
194 	set_grayscale(~data & 0x40);
195 	m_segaic16vid->tilemap_set_flip(0, data & 0x20);
196 	m_sprites->set_flip(data & 0x20);
197 	// These are correct according to cgfm's docs, but mwalker and ddcrew both
198 	// enable the lockout and never turn it off
199 	// machine().bookkeeping().coin_lockout_w(1, data & 0x08);
200 	// machine().bookkeeping().coin_lockout_w(0, data & 0x04);
201 	machine().bookkeeping().coin_counter_w(1, data & 0x02);
202 	machine().bookkeeping().coin_counter_w(0, data & 0x01);
203 }
204 
205 
misc_io_r(address_space & space,offs_t offset,uint16_t mem_mask)206 uint16_t segas18_state::misc_io_r(address_space &space, offs_t offset, uint16_t mem_mask)
207 {
208 	offset &= 0x1fff;
209 	switch (offset & (0x3000/2))
210 	{
211 		// I/O chip
212 		case 0x0000/2:
213 		case 0x1000/2:
214 			return m_io->read(offset) | (m_mapper->open_bus_r() & 0xff00);
215 
216 		// video control latch
217 		case 0x2000/2:
218 		{
219 			static const char *const portnames[] = { "SERVICE", "COINAGE" };
220 			return ioport(portnames[offset & 1])->read();
221 		}
222 	}
223 
224 	if (!m_custom_io_r.isnull())
225 		return m_custom_io_r(offset);
226 	logerror("%06X:misc_io_r - unknown read access to address %04X\n", m_maincpu->pc(), offset * 2);
227 	return m_mapper->open_bus_r();
228 }
229 
misc_io_w(address_space & space,offs_t offset,uint16_t data,uint16_t mem_mask)230 void segas18_state::misc_io_w(address_space &space, offs_t offset, uint16_t data, uint16_t mem_mask)
231 {
232 	offset &= 0x1fff;
233 	switch (offset & (0x3000/2))
234 	{
235 		// I/O chip
236 		case 0x0000/2:
237 		case 0x1000/2:
238 			if (ACCESSING_BITS_0_7)
239 			{
240 				m_io->write(offset, data);
241 				return;
242 			}
243 			break;
244 
245 		// video control latch
246 		case 0x2000/2:
247 			if (ACCESSING_BITS_0_7)
248 			{
249 				set_vdp_mixing(data & 0xff);
250 				return;
251 			}
252 			break;
253 	}
254 
255 	if (!m_custom_io_w.isnull())
256 	{
257 		m_custom_io_w(offset, data);
258 		return;
259 	}
260 	logerror("%06X:misc_io_w - unknown write access to address %04X = %04X & %04X\n", m_maincpu->pc(), offset * 2, data, mem_mask);
261 }
262 
263 
264 
265 /*************************************
266  *
267  *  Tile banking
268  *
269  *************************************/
270 
rom_5874_bank_w(uint8_t data)271 void segas18_state::rom_5874_bank_w(uint8_t data)
272 {
273 	if (m_romboard == ROM_BOARD_171_5874 || m_romboard == ROM_BOARD_171_SHADOW)
274 	{
275 		for (int i = 0; i < 4; i++)
276 		{
277 			m_segaic16vid->tilemap_set_bank(0, 0 + i, (data & 0xf) * 4 + i);
278 			m_segaic16vid->tilemap_set_bank(0, 4 + i, ((data >> 4) & 0xf) * 4 + i);
279 		}
280 	}
281 }
282 
283 
rom_5987_bank_w(address_space & space,offs_t offset,uint16_t data,uint16_t mem_mask)284 void segas18_state::rom_5987_bank_w(address_space &space, offs_t offset, uint16_t data, uint16_t mem_mask)
285 {
286 	if (!ACCESSING_BITS_0_7)
287 		return;
288 
289 	offset &= 0xf;
290 	data &= 0xff;
291 
292 	// tile banking
293 	if (offset < 8)
294 	{
295 		int maxbanks = m_gfxdecode->gfx(0)->elements() >> 10;
296 		if (data >= maxbanks)
297 			data %= maxbanks;
298 		m_segaic16vid->tilemap_set_bank(0, offset, data);
299 	}
300 
301 	// sprite banking
302 	else
303 	{
304 		int maxbanks = m_sprites_region->bytes() >> 18;
305 		if (data >= maxbanks)
306 			data = 255;
307 		m_sprites->set_bank((offset - 8) * 2 + 0, data * 2 + 0);
308 		m_sprites->set_bank((offset - 8) * 2 + 1, data * 2 + 1);
309 	}
310 }
311 
rom_837_7525_bank_w(address_space & space,offs_t offset,uint16_t data,uint16_t mem_mask)312 void segas18_state::rom_837_7525_bank_w(address_space &space, offs_t offset, uint16_t data, uint16_t mem_mask)
313 {
314 	if (!ACCESSING_BITS_0_7)
315 		return;
316 
317 	offset &= 0xf;
318 	data &= 0xff;
319 
320 	// tile banking
321 	if (offset < 8)
322 	{
323 		data &= 0x9f;
324 
325 		if (data & 0x80) data += 0x20;
326 		data &= 0x3f;
327 
328 		m_segaic16vid->tilemap_set_bank(0, offset, data);
329 	}
330 
331 	// sprite banking
332 	else
333 	{
334 		//printf("%02x %02x\n", offset, data);
335 		// not needed?
336 	}
337 }
338 
339 
340 /*************************************
341  *
342  *  D.D.Crew Custom I/O
343  *
344  *************************************/
345 
ddcrew_custom_io_r(offs_t offset)346 uint16_t segas18_state::ddcrew_custom_io_r(offs_t offset)
347 {
348 	switch (offset)
349 	{
350 		case 0x3020/2:
351 			return ioport("EXP3")->read();
352 
353 		case 0x3022/2:
354 			return ioport("EXP4")->read();
355 
356 		case 0x3024/2:
357 			return ioport("EXSERVICE")->read();
358 	}
359 	return m_mapper->open_bus_r();
360 }
361 
362 
363 
364 /*************************************
365  *
366  *  Laser Ghost Custom I/O
367  *
368  *************************************/
369 
lghost_custom_io_r(offs_t offset)370 uint16_t segas18_state::lghost_custom_io_r(offs_t offset)
371 {
372 	uint16_t result;
373 	switch (offset)
374 	{
375 		case 0x3010/2:
376 		case 0x3012/2:
377 		case 0x3014/2:
378 		case 0x3016/2:
379 			result = m_lghost_value | 0x7f;
380 			m_lghost_value <<= 1;
381 			return result;
382 	}
383 	return m_mapper->open_bus_r();
384 }
385 
lghost_custom_io_w(offs_t offset,uint16_t data)386 void segas18_state::lghost_custom_io_w(offs_t offset, uint16_t data)
387 {
388 	uint8_t pos_value_x, pos_value_y;
389 
390 	switch (offset)
391 	{
392 		// Player 1, Y axis
393 		case 0x3010/2:
394 
395 			pos_value_x = ioport("GUNX1")->read();
396 			pos_value_y = 255 - ioport("GUNY1")->read();
397 
398 			// Offset adjustment is disabled?
399 			if (!ioport("FAKE")->read())
400 				m_lghost_value = pos_value_y;
401 
402 			// Depending of the position on the X axis, we need to calculate the Y offset accordingly
403 			else if (pos_value_x >= 50 && pos_value_x <= 99)
404 			{
405 				// Linear function (decreasing)
406 				if (pos_value_y >= 130 && pos_value_y <= 225)
407 					m_lghost_value = round(pos_value_y * 0.94 + 0.80);
408 				// Keep real value as no offset is needed
409 				else
410 					m_lghost_value = pos_value_y;
411 			}
412 			else if (pos_value_x >= 100 && pos_value_x <= 199)
413 			{
414 				// Linear function (decreasing)
415 				if (pos_value_y >= 100 && pos_value_y <= 225)
416 					m_lghost_value = round(pos_value_y * 0.89 + 6.00);
417 				// Keep real value as no offset is needed
418 				else
419 					m_lghost_value = pos_value_y;
420 			}
421 			else if (pos_value_x >= 200 && pos_value_x <= 249)
422 			{
423 				// Linear function (decreasing) #1
424 				if (pos_value_y >= 30 && pos_value_y <= 55)
425 					m_lghost_value = round(pos_value_y * 0.78 + 18.28);
426 
427 				// Linear function (decreasing) #2
428 				else if (pos_value_y >= 100 && pos_value_y <= 205)
429 					m_lghost_value = round(pos_value_y * 0.70 + 28.00);
430 				// Linear function (decreasing) #2
431 				else if (pos_value_y >= 206 && pos_value_y <= 225)
432 					m_lghost_value = round(pos_value_y * 1.58 - 151.48);
433 				// Keep real value as no offset is needed
434 				else
435 					m_lghost_value = pos_value_y;
436 			}
437 			// if crosshair is near the left edge, keep real value as no offset is needed
438 			else
439 				m_lghost_value = pos_value_y;
440 			break;
441 
442 		// Player 1, X axis
443 		case 0x3012/2:
444 
445 			pos_value_x = ioport("GUNX1")->read();
446 
447 			// Offset adjustment is disabled?
448 			if (!ioport("FAKE")->read())
449 				m_lghost_value = pos_value_x;
450 
451 			// Here, linear functions (increasing) are used
452 			// The line is divided in two parts to get more precise results
453 
454 			// Linear function (increasing) #1
455 			else if (pos_value_x >= 26 && pos_value_x <= 85)
456 				m_lghost_value = round(pos_value_x * 1.13 + 0.95);
457 
458 			// Linear function (increasing) #2
459 			else if (pos_value_x >= 86 && pos_value_x <= 140)
460 				m_lghost_value = round(pos_value_x * 1.10 + 4.00);
461 
462 			// Here, linear functions (decreasing) are used
463 			// The line is divided in two parts to get more precise results
464 
465 			// Linear function (decreasing) #1
466 			else if (pos_value_x >= 141 && pos_value_x <= 190)
467 				m_lghost_value = round(pos_value_x * 1.02 + 11.20);
468 
469 			// Linear function (decreasing) #2
470 			else if (pos_value_x >= 191 && pos_value_x <= 240)
471 				m_lghost_value = round(pos_value_x * 0.76 + 62.60);
472 
473 			// if crosshair is near the edges, keep real value as no offset is needed
474 			else
475 				m_lghost_value = pos_value_x;
476 			break;
477 
478 		// Player 2 and 3, Y axis
479 		case 0x3014/2:
480 
481 			// Player 3, Y axis
482 			if (m_lghost_select)
483 			{
484 				pos_value_x = ioport("GUNX3")->read();
485 				pos_value_y = 255 - ioport("GUNY3")->read();
486 
487 				// Offset adjustment is disabled?
488 				if (!ioport("FAKE")->read())
489 					m_lghost_value = pos_value_y;
490 
491 				// Depending of the position on the X axis, we need to calculate the Y offset accordingly
492 				else if (pos_value_x >= 128 && pos_value_x <= 255)
493 				{
494 					// Linear function (increasing)
495 					if (pos_value_y >= 30 && pos_value_y <= 125)
496 						m_lghost_value = round(pos_value_y * 1.01 + 11.82);
497 					// Linear function (decreasing)
498 					else if (pos_value_y >= 126 && pos_value_y <= 235)
499 						m_lghost_value = round(pos_value_y * 0.94 + 21.90);
500 					// Keep real value as no offset is needed
501 					else
502 						m_lghost_value = pos_value_y;
503 				}
504 				else if (pos_value_x >= 17 && pos_value_x <= 127)
505 				{
506 					// Linear function (increasing)
507 					if (pos_value_y >= 40 && pos_value_y <= 145)
508 						m_lghost_value = round(pos_value_y * 0.82 + 31.80);
509 					// Linear function (decreasing)
510 					else if (pos_value_y >= 200 && pos_value_y <= 225)
511 						m_lghost_value = round(pos_value_y * 0.83 + 29.95);
512 					// Keep real value as no offset is needed
513 					else
514 						m_lghost_value = pos_value_y;
515 				}
516 				// Keep real value as no offset is needed
517 				else
518 					m_lghost_value = pos_value_y;
519 			}
520 			// Player 2, Y axis. It doesn't need any offset adjustement.
521 			else
522 				m_lghost_value = 255 - ioport("GUNY2")->read();
523 			break;
524 
525 		// Player 2 and 3, X axis
526 		case 0x3016/2:
527 
528 			// Player 3, X axis
529 			if (m_lghost_select)
530 			{
531 				pos_value_x = ioport("GUNX3")->read();
532 
533 				// Offset adjustment is disabled?
534 				if (!ioport("FAKE")->read())
535 					m_lghost_value = pos_value_x;
536 
537 				// Right edge of screen, constant value
538 				else if (pos_value_x >= 17 && pos_value_x <= 34)
539 					m_lghost_value = pos_value_x - 17;
540 
541 				// Linear function (increasing)
542 				else if (pos_value_x >= 35 && pos_value_x <= 110)
543 					m_lghost_value = round(pos_value_x * 0.94 - 14.08);
544 
545 				// Linear function (decreasing) #1
546 				else if (pos_value_x >= 111 && pos_value_x <= 225)
547 					m_lghost_value = round(pos_value_x * 1.15 - 35.65);
548 
549 				// if crosshair is near the edges, keep real value as no offset is needed*/
550 				else
551 					m_lghost_value = pos_value_x;
552 				break;
553 			}
554 			// Player 2, X axis. It doesn't need any offset adjustement.
555 			else
556 				m_lghost_value = ioport("GUNX2")->read();
557 			break;
558 
559 		case 0x3020/2:
560 			m_lghost_select = data & 1;
561 			break;
562 	}
563 }
564 
565 
lghost_gun_recoil_w(uint8_t data)566 void segas18_state::lghost_gun_recoil_w(uint8_t data)
567 {
568 	for (int i = 0; i < 3; i++)
569 	{
570 		m_gun_recoil[i] = BIT(~data, i);
571 	}
572 }
573 
574 
575 
576 /*************************************
577  *
578  *  Where's Wally Custom I/O
579  *
580  *************************************/
581 
wwally_custom_io_r(offs_t offset)582 uint16_t segas18_state::wwally_custom_io_r(offs_t offset)
583 {
584 	if (offset >= 0x3000/2 && offset < 0x3018/2)
585 		return m_upd4701[(offset & 0x0018/2) >> 2]->read_xy(offset & 0x0006/2);
586 
587 	return m_mapper->open_bus_r();
588 }
589 
590 
wwally_custom_io_w(offs_t offset,uint16_t data)591 void segas18_state::wwally_custom_io_w(offs_t offset, uint16_t data)
592 {
593 	if (offset >= 0x3000/2 && offset < 0x3018/2)
594 		m_upd4701[(offset & 0x0018/2) >> 2]->reset_xy_r();
595 }
596 
597 
598 
599 /*************************************
600  *
601  *  Sound handlers
602  *
603  *************************************/
604 
soundbank_w(uint8_t data)605 void segas18_state::soundbank_w(uint8_t data)
606 {
607 	m_soundbank->set_entry(data);
608 }
609 
610 
611 
612 /*************************************
613  *
614  *  Main CPU memory handlers
615  *
616  *************************************/
617 
system18_map(address_map & map)618 void segas18_state::system18_map(address_map &map)
619 {
620 	map.unmap_value_high();
621 	map(0x000000, 0xffffff).rw(m_mapper, FUNC(sega_315_5195_mapper_device::read), FUNC(sega_315_5195_mapper_device::write)).umask16(0x00ff);
622 
623 	// these get overwritten by the memory mapper above, but we put them here
624 	// so they are properly allocated and tracked for saving
625 	map(0x100000, 0x1007ff).ram().share("sprites");
626 	map(0x200000, 0x200fff).ram().share("paletteram");
627 	map(0x300000, 0x30ffff).ram().share("tileram");
628 	map(0x400000, 0x400fff).ram().share("textram");
629 	map(0x500000, 0x503fff).ram().share("workram");
630 }
631 
decrypted_opcodes_map(address_map & map)632 void segas18_state::decrypted_opcodes_map(address_map &map)
633 {
634 	map(0x00000, 0xfffff).bankr("fd1094_decrypted_opcodes");
635 }
636 
637 /*************************************
638  *
639  *  Sound CPU memory handlers
640  *
641  *************************************/
642 
sound_map(address_map & map)643 void segas18_state::sound_map(address_map &map)
644 {
645 	map.unmap_value_high();
646 	map(0x0000, 0x9fff).rom().region("soundcpu", 0);
647 	map(0xa000, 0xbfff).bankr("soundbank");
648 	map(0xc000, 0xdfff).m("rfsnd", FUNC(rf5c68_device::map));
649 	map(0xe000, 0xffff).ram();
650 }
651 
sound_portmap(address_map & map)652 void segas18_state::sound_portmap(address_map &map)
653 {
654 	map.unmap_value_high();
655 	map.global_mask(0xff);
656 	map(0x80, 0x83).mirror(0x0c).rw("ym1", FUNC(ym3438_device::read), FUNC(ym3438_device::write));
657 	map(0x90, 0x93).mirror(0x0c).rw("ym2", FUNC(ym3438_device::read), FUNC(ym3438_device::write));
658 	map(0xa0, 0xa0).mirror(0x1f).w(FUNC(segas18_state::soundbank_w));
659 	map(0xc0, 0xc0).mirror(0x1f).rw(m_mapper, FUNC(sega_315_5195_mapper_device::pread), FUNC(sega_315_5195_mapper_device::pwrite));
660 }
661 
pcm_map(address_map & map)662 void segas18_state::pcm_map(address_map &map)
663 {
664 	map.unmap_value_high();
665 	map(0x0000, 0xffff).ram();
666 }
667 
668 
669 
670 /*************************************
671  *
672  *  i8751 MCU memory handlers
673  *
674  *************************************/
675 
mcu_io_map(address_map & map)676 void segas18_state::mcu_io_map(address_map &map)
677 {
678 	map.unmap_value_high();
679 	map.global_mask(0xff); // port 2 not used for high order address byte
680 	map(0x00, 0x1f).rw(m_mapper, FUNC(sega_315_5195_mapper_device::read), FUNC(sega_315_5195_mapper_device::write));
681 }
682 
683 
684 
685 /*************************************
686  *
687  *  Generic port definitions
688  *
689  *************************************/
690 
691 static INPUT_PORTS_START( system18_generic )
692 	PORT_START("P1")
693 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 )
694 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )
695 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 )
696 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
697 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY
698 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY
699 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY
700 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY
701 
702 	PORT_START("P2")
703 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
704 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL
705 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_COCKTAIL
706 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
707 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL
708 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL
709 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
710 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
711 
712 	PORT_START("P3")
713 	PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
714 
715 	PORT_START("SERVICE")
716 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
717 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
718 	PORT_SERVICE_NO_TOGGLE( 0x04, IP_ACTIVE_LOW )
719 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE1 )
720 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 )
721 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 )
722 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE2 )
723 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
724 
725 	PORT_START("COINAGE")
726 	SEGA_COINAGE_LOC(SW1)
727 
728 	PORT_START("DSW")
729 	PORT_DIPUNUSED_DIPLOC( 0x01, IP_ACTIVE_LOW, "SW2:1" )
730 	PORT_DIPUNUSED_DIPLOC( 0x02, IP_ACTIVE_LOW, "SW2:2" )
731 	PORT_DIPUNUSED_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW2:3" )
732 	PORT_DIPUNUSED_DIPLOC( 0x08, IP_ACTIVE_LOW, "SW2:4" )
733 	PORT_DIPUNUSED_DIPLOC( 0x10, IP_ACTIVE_LOW, "SW2:5" )
734 	PORT_DIPUNUSED_DIPLOC( 0x20, IP_ACTIVE_LOW, "SW2:6" )
735 	PORT_DIPUNUSED_DIPLOC( 0x40, IP_ACTIVE_LOW, "SW2:7" )
736 	PORT_DIPUNUSED_DIPLOC( 0x80, IP_ACTIVE_LOW, "SW2:8" )
737 INPUT_PORTS_END
738 
739 
740 
741 /*************************************
742  *
743  *  Game-specific port definitions
744  *
745  *************************************/
746 
747 static INPUT_PORTS_START( astorm )
748 	PORT_INCLUDE( system18_generic )
749 
750 	PORT_MODIFY("P3")
751 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(3)
752 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(3)
753 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(3)
754 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED )
755 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(3)
756 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(3)
757 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(3)
758 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(3)
759 
760 	PORT_MODIFY("SERVICE")
761 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN3 )
762 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START3 )
763 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
764 
765 	PORT_MODIFY("DSW")
766 	PORT_DIPNAME( 0x01, 0x01, "2 Credits to Start" ) PORT_DIPLOCATION("SW2:1")
767 	PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
768 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
769 	PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:2")
770 	PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
771 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
772 	PORT_DIPNAME( 0x1c, 0x1c, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:3,4,5")
773 	PORT_DIPSETTING(    0x04, DEF_STR( Easiest ) )
774 	PORT_DIPSETTING(    0x08, DEF_STR( Easier ) )
775 	PORT_DIPSETTING(    0x0c, DEF_STR( Easy ) )
776 	PORT_DIPSETTING(    0x1c, DEF_STR( Normal ) )
777 	PORT_DIPSETTING(    0x10, DEF_STR( Hard ) )
778 	PORT_DIPSETTING(    0x14, DEF_STR( Harder ) )
779 	PORT_DIPSETTING(    0x18, DEF_STR( Hardest ) )
780 	PORT_DIPSETTING(    0x00, "Special" )
781 	PORT_DIPNAME( 0x20, 0x20, "Coin Chutes" ) PORT_DIPLOCATION("SW2:6")
782 	PORT_DIPSETTING(    0x20, "3" )
783 	PORT_DIPSETTING(    0x00, "1" )
784 	//"SW2:7" unused
785 	//"SW2:8" unused
786 INPUT_PORTS_END
787 
788 static INPUT_PORTS_START( astorm2p )
789 	PORT_INCLUDE( system18_generic )
790 
791 	PORT_MODIFY("DSW")
792 	PORT_DIPNAME( 0x01, 0x01, "2 Credits to Start" ) PORT_DIPLOCATION("SW2:1")
793 	PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
794 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
795 	PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:2")
796 	PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
797 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
798 	PORT_DIPNAME( 0x1c, 0x1c, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:3,4,5")
799 	PORT_DIPSETTING(    0x04, DEF_STR( Easiest ) )
800 	PORT_DIPSETTING(    0x08, DEF_STR( Easier ) )
801 	PORT_DIPSETTING(    0x0c, DEF_STR( Easy ) )
802 	PORT_DIPSETTING(    0x1c, DEF_STR( Normal ) )
803 	PORT_DIPSETTING(    0x10, DEF_STR( Hard ) )
804 	PORT_DIPSETTING(    0x14, DEF_STR( Harder ) )
805 	PORT_DIPSETTING(    0x18, DEF_STR( Hardest ) )
806 	PORT_DIPSETTING(    0x00, "Special" )
807 	PORT_DIPNAME( 0x20, 0x20, "Coin Chutes" ) PORT_DIPLOCATION("SW2:6")
808 	PORT_DIPSETTING(    0x20, "2" )
809 	PORT_DIPSETTING(    0x00, "1" )
810 	//"SW2:7" unused
811 	//"SW2:8" unused
812 INPUT_PORTS_END
813 
814 
815 static INPUT_PORTS_START( bloxeed )
816 	PORT_INCLUDE( system18_generic )
817 
818 	PORT_MODIFY("SERVICE")
819 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
820 
821 	PORT_MODIFY("DSW")
822 	PORT_DIPNAME( 0x01, 0x01, "Allow VS Mode" )         PORT_DIPLOCATION("SW2:1")
823 	PORT_DIPSETTING(    0x01, DEF_STR( Yes ) )
824 	PORT_DIPSETTING(    0x00, DEF_STR( No ) )
825 	PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) )  PORT_DIPLOCATION("SW2:2")
826 	PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
827 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
828 	PORT_DIPNAME( 0x0c, 0x0c, "Lines Per Level" )       PORT_DIPLOCATION("SW2:3,4")
829 	PORT_DIPSETTING(    0x04, "2" )
830 	PORT_DIPSETTING(    0x00, "2" )
831 	PORT_DIPSETTING(    0x0c, "3" )
832 	PORT_DIPSETTING(    0x08, "4" )
833 	PORT_DIPNAME( 0x30, 0x30, DEF_STR( Difficulty ) )   PORT_DIPLOCATION("SW2:5,6")
834 	PORT_DIPSETTING(    0x20, DEF_STR( Easy ) )
835 	PORT_DIPSETTING(    0x30, DEF_STR( Normal ) )
836 	PORT_DIPSETTING(    0x10, DEF_STR( Hard ) )
837 	PORT_DIPSETTING(    0x00, DEF_STR( Hardest ) )
838 	PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )      PORT_DIPLOCATION("SW2:7")
839 	PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
840 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
841 	PORT_DIPNAME( 0x80, 0x00, "High Speed Mode" )       PORT_DIPLOCATION("SW2:8")
842 	PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
843 	PORT_DIPSETTING(    0x80, DEF_STR( On ) )
844 INPUT_PORTS_END
845 
846 
847 static INPUT_PORTS_START( cltchitr )
848 	PORT_INCLUDE( system18_generic )
849 
850 	PORT_MODIFY("DSW")
851 	PORT_DIPNAME( 0x01, 0x01, "2 Credits to Start" ) PORT_DIPLOCATION("SW2:1")
852 	PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
853 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
854 	PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:2")
855 	PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
856 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
857 	PORT_DIPNAME( 0x0c, 0x0c, "Game Time P1" ) PORT_DIPLOCATION("SW2:3,4")
858 	PORT_DIPSETTING(    0x04, "2 Credits 18 Outcounts 14 Min." )
859 	PORT_DIPSETTING(    0x00, "1 Credit 6 Outcounts 7 Min." )
860 	PORT_DIPSETTING(    0x08, "1 Credit 12 Outcounts 12 Min." )
861 	PORT_DIPSETTING(    0x0c, "1Credit 6 Outcounts 8M./2Credits 18 Outcounts 14M." )
862 	PORT_DIPNAME( 0x30, 0x30, "Game Time P2" ) PORT_DIPLOCATION("SW2:5,6")
863 	PORT_DIPSETTING(    0x10, "4 Credits 18 Outcounts 16 Min." )
864 	PORT_DIPSETTING(    0x00, "2 Credits 6 Outcounts 8 Min." )
865 	PORT_DIPSETTING(    0x20, "2 Credits 12 Outcounts 14 Min." )
866 	PORT_DIPSETTING(    0x30, "2Credits 6 Outcounts 8M./4Credits 18 Outcounts 16M." )
867 	PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:7,8")
868 	PORT_DIPSETTING(    0x40, DEF_STR( Easiest ) )
869 	PORT_DIPSETTING(    0x80, DEF_STR( Easy ) )
870 	PORT_DIPSETTING(    0xc0, DEF_STR( Normal ) )
871 	PORT_DIPSETTING(    0x00, DEF_STR( Hard ) )
872 INPUT_PORTS_END
873 
874 
875 static INPUT_PORTS_START( ddcrew )
876 	PORT_INCLUDE( system18_generic )
877 
878 	PORT_MODIFY("DSW")
879 	PORT_DIPNAME( 0x01, 0x01, "Credits needed" ) PORT_DIPLOCATION("SW2:1")
880 	PORT_DIPSETTING(    0x01, "1 to start, 1 to continue" )
881 	PORT_DIPSETTING(    0x00, "2 to start, 1 to continue" )
882 	PORT_DIPNAME( 0x02, 0x02, "Switch to Start" ) PORT_DIPLOCATION("SW2:2")
883 	PORT_DIPSETTING(    0x02, "Start" )
884 	PORT_DIPSETTING(    0x00, "Attack" )
885 	PORT_DIPNAME( 0x04, 0x04, "Coin Chute" ) PORT_DIPLOCATION("SW2:3")
886 	PORT_DIPSETTING(    0x04, "Common" )
887 	PORT_DIPSETTING(    0x00, "Individual" )
888 	PORT_DIPNAME( 0x08, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:4")
889 	PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
890 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
891 	PORT_DIPNAME( 0x30, 0x30, "Player Start/Continue" ) PORT_DIPLOCATION("SW2:5,6")
892 	PORT_DIPSETTING(    0x30, "3/3" )
893 	PORT_DIPSETTING(    0x20, "2/3" )
894 	PORT_DIPSETTING(    0x10, "2/2" )
895 	PORT_DIPSETTING(    0x00, "3/4" )
896 	PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:7,8")
897 	PORT_DIPSETTING(    0x80, DEF_STR( Easy ) )
898 	PORT_DIPSETTING(    0xc0, DEF_STR( Normal ) )
899 	PORT_DIPSETTING(    0x40, DEF_STR( Hard ) )
900 	PORT_DIPSETTING(    0x00, DEF_STR( Hardest ) )
901 
902 	PORT_START("EXP3")
903 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(3)
904 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(3)
905 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(3)
906 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
907 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(3)
908 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(3)
909 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(3)
910 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(3)
911 
912 	PORT_START("EXP4")
913 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(4)
914 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(4)
915 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(4)
916 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
917 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(4)
918 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(4)
919 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(4)
920 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(4)
921 
922 	PORT_START("EXSERVICE")
923 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START3 )
924 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START4 )
925 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN3 ) // individual mode
926 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN4 ) // individual mode
927 	PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )
928 INPUT_PORTS_END
929 
930 static INPUT_PORTS_START( ddcrew2p )
931 	PORT_INCLUDE( system18_generic )
932 
933 	PORT_MODIFY("DSW")
934 	PORT_DIPNAME( 0x01, 0x01, "Credits needed" ) PORT_DIPLOCATION("SW2:1")
935 	PORT_DIPSETTING(    0x01, "1 to start, 1 to continue" )
936 	PORT_DIPSETTING(    0x00, "2 to start, 1 to continue" )
937 	PORT_DIPNAME( 0x02, 0x02, "Switch to Start" ) PORT_DIPLOCATION("SW2:2")
938 	PORT_DIPSETTING(    0x02, "Start" )
939 	PORT_DIPSETTING(    0x00, "Attack" )
940 	PORT_DIPNAME( 0x04, 0x04, "Coin Chute" ) PORT_DIPLOCATION("SW2:3")
941 	PORT_DIPSETTING(    0x04, "Common" )
942 	PORT_DIPSETTING(    0x00, "Individual" )
943 	PORT_DIPNAME( 0x08, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:4")
944 	PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
945 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
946 	PORT_DIPNAME( 0x30, 0x30, "Player Start/Continue" ) PORT_DIPLOCATION("SW2:5,6")
947 	PORT_DIPSETTING(    0x30, "3/3" )
948 	PORT_DIPSETTING(    0x20, "2/3" )
949 	PORT_DIPSETTING(    0x10, "2/2" )
950 	PORT_DIPSETTING(    0x00, "3/4" )
951 	PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:7,8")
952 	PORT_DIPSETTING(    0x80, DEF_STR( Easy ) )
953 	PORT_DIPSETTING(    0xc0, DEF_STR( Normal ) )
954 	PORT_DIPSETTING(    0x40, DEF_STR( Hard ) )
955 	PORT_DIPSETTING(    0x00, DEF_STR( Hardest ) )
956 INPUT_PORTS_END
957 
958 static INPUT_PORTS_START( ddcrew3p )
959 	PORT_INCLUDE( ddcrew2p )
960 
961 	PORT_MODIFY("P3")
962 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(3)
963 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(3)
964 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(3)
965 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START3 )
966 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(3)
967 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(3)
968 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(3)
969 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(3)
970 
971 	PORT_MODIFY("SERVICE")
972 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN3 )
973 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
974 INPUT_PORTS_END
975 
976 
977 static INPUT_PORTS_START( desertbr )
978 	PORT_INCLUDE( system18_generic )
979 
980 	PORT_MODIFY("P3")
981 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(3)
982 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(3)
983 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(3)
984 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START3 )
985 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(3)
986 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(3)
987 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(3)
988 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(3)
989 
990 	PORT_MODIFY("SERVICE")
991 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
992 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
993 	PORT_SERVICE_NO_TOGGLE( 0x04, IP_ACTIVE_LOW )
994 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE1 )
995 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 )
996 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 )
997 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE2 )
998 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN3) // individual mode
999 
1000 	PORT_MODIFY("DSW")
1001 	PORT_DIPNAME( 0x01, 0x01, "Credits to Start" ) PORT_DIPLOCATION("SW2:1")
1002 	PORT_DIPSETTING(    0x01, "1" )
1003 	PORT_DIPSETTING(    0x00, "2" )
1004 	PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:2")
1005 	PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
1006 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1007 	//"SW2:3" unused
1008 	PORT_DIPNAME( 0x08, 0x08, "Play Mode" ) PORT_DIPLOCATION("SW2:4")
1009 	PORT_DIPSETTING(    0x00, "2 players" )
1010 	PORT_DIPSETTING(    0x08, "3 players" )
1011 	PORT_DIPNAME( 0x10, 0x10, "Coin Chute" ) PORT_DIPLOCATION("SW2:5")
1012 	PORT_DIPSETTING(    0x10, "Common" )
1013 	PORT_DIPSETTING(    0x00, "Individual" )
1014 	PORT_DIPNAME( 0x20, 0x20, "Start Button" ) PORT_DIPLOCATION("SW2:6")
1015 	PORT_DIPSETTING(    0x20, "Use" )
1016 	PORT_DIPSETTING(    0x00, DEF_STR( Unused ) )
1017 	PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:7,8")
1018 	PORT_DIPSETTING(    0x40, DEF_STR( Hard ) )
1019 	PORT_DIPSETTING(    0x80, DEF_STR( Easy ) )
1020 	PORT_DIPSETTING(    0xc0, DEF_STR( Normal ) )
1021 	PORT_DIPSETTING(    0x00, DEF_STR( Hardest ) )
1022 INPUT_PORTS_END
1023 
1024 
1025 static INPUT_PORTS_START( hamaway )
1026 	PORT_INCLUDE( system18_generic )
1027 
1028 	PORT_MODIFY("DSW")
1029 	PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )   PORT_DIPLOCATION("SW2:1,2")
1030 	PORT_DIPSETTING(    0x02, DEF_STR( Easy ) )
1031 	PORT_DIPSETTING(    0x03, DEF_STR( Normal ) )
1032 	PORT_DIPSETTING(    0x01, DEF_STR( Hard ) )
1033 	PORT_DIPSETTING(    0x00, DEF_STR( Hardest ) )
1034 	PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) )    PORT_DIPLOCATION("SW2:3,4")
1035 	PORT_DIPSETTING(    0x08, "1" )
1036 	PORT_DIPSETTING(    0x04, "2" )
1037 	PORT_DIPSETTING(    0x0c, "3" )
1038 	PORT_DIPSETTING(    0x00, "5" )
1039 	//"SW2:5" is unknown - Not listed in the service mode
1040 	//"SW2:6" is unknown - Not listed in the service mode
1041 	PORT_DIPNAME( 0x40, 0x00, DEF_STR( Demo_Sounds ) )  PORT_DIPLOCATION("SW2:7")
1042 	PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
1043 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1044 	PORT_DIPNAME( 0x80, 0x80, "2 Credits to Start" )    PORT_DIPLOCATION("SW2:8")
1045 	PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
1046 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1047 INPUT_PORTS_END
1048 
1049 
1050 static INPUT_PORTS_START( lghost )
1051 	PORT_INCLUDE( system18_generic )
1052 
1053 	PORT_MODIFY("P1")
1054 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 )
1055 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )
1056 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
1057 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
1058 	PORT_BIT( 0x30, IP_ACTIVE_LOW, IPT_UNKNOWN )
1059 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(3)
1060 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(3)
1061 
1062 	PORT_MODIFY("P2")
1063 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
1064 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
1065 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
1066 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
1067 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED ) // P2 joystick inputs, unused in lghost
1068 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
1069 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
1070 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
1071 
1072 	PORT_MODIFY("SERVICE")
1073 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
1074 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE1 )
1075 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE2 )
1076 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE3 )
1077 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN3 )
1078 
1079 	PORT_MODIFY("DSW")
1080 	PORT_DIPNAME( 0x01, 0x01, "2 Credits to Start" ) PORT_DIPLOCATION("SW2:1")
1081 	PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
1082 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1083 	PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:2")
1084 	PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
1085 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1086 	PORT_DIPNAME( 0x1c, 0x1c, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:3,4,5")
1087 	PORT_DIPSETTING(    0x0c, DEF_STR( Easiest ) )
1088 	PORT_DIPSETTING(    0x14, DEF_STR( Easier ) )
1089 	PORT_DIPSETTING(    0x18, DEF_STR( Easy ) )
1090 	PORT_DIPSETTING(    0x1c, DEF_STR( Normal ) )
1091 	PORT_DIPSETTING(    0x10, DEF_STR( Hard ) )
1092 	PORT_DIPSETTING(    0x04, DEF_STR( Harder ) )
1093 	PORT_DIPSETTING(    0x08, DEF_STR( Hardest ) )
1094 	PORT_DIPSETTING(    0x00, "Extra Hardest" )
1095 	PORT_DIPNAME( 0x20, 0x20, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW2:6")
1096 	PORT_DIPSETTING(    0x00, DEF_STR( No ) )
1097 	PORT_DIPSETTING(    0x20, DEF_STR( Yes ) )
1098 	PORT_DIPNAME( 0x40, 0x40, "Coin Chute" ) PORT_DIPLOCATION("SW2:7")
1099 	PORT_DIPSETTING(    0x00, "Common" )
1100 	PORT_DIPSETTING(    0x40, "Individual" )
1101 	//"SW2:8" unused
1102 
1103 	PORT_START("GUNX1")
1104 	PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_X ) PORT_CROSSHAIR(X, 1.0, 0.0, 0) PORT_SENSITIVITY(50) PORT_KEYDELTA(5)
1105 
1106 	PORT_START("GUNY1")
1107 	PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_Y ) PORT_CROSSHAIR(Y, 1.0, 0.0, 0) PORT_SENSITIVITY(50) PORT_KEYDELTA(5)
1108 
1109 	PORT_START("GUNX2")
1110 	PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_X ) PORT_CROSSHAIR(X, 1.0, 0.0, 0) PORT_SENSITIVITY(50) PORT_KEYDELTA(5) PORT_PLAYER(2)
1111 
1112 	PORT_START("GUNY2")
1113 	PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_Y ) PORT_CROSSHAIR(Y, 1.0, 0.0, 0) PORT_SENSITIVITY(50) PORT_KEYDELTA(5) PORT_PLAYER(2)
1114 
1115 	PORT_START("GUNX3")
1116 	PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_X ) PORT_CROSSHAIR(X, 1.0, 0.0, 0) PORT_SENSITIVITY(50) PORT_KEYDELTA(5) PORT_PLAYER(3)
1117 
1118 	PORT_START("GUNY3")
1119 	PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_Y ) PORT_CROSSHAIR(Y, 1.0, 0.0, 0) PORT_SENSITIVITY(50) PORT_KEYDELTA(5) PORT_PLAYER(3)
1120 
1121 	PORT_START("FAKE")
1122 	PORT_CONFNAME( 0x01, 0x01, "Correct P1/P3 Gun Offsets")
1123 	PORT_CONFSETTING(    0x00, DEF_STR( No ) )
1124 	PORT_CONFSETTING(    0x01, DEF_STR( Yes ) )
1125 INPUT_PORTS_END
1126 
1127 
1128 static INPUT_PORTS_START( mwalk )
1129 	PORT_INCLUDE( system18_generic )
1130 
1131 	PORT_MODIFY("P3")
1132 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(3)
1133 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(3)
1134 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(3)
1135 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START3 )
1136 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(3)
1137 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(3)
1138 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(3)
1139 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(3)
1140 
1141 	PORT_MODIFY("SERVICE")
1142 	// individual coin chute setting changes around the default behaviour
1143 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN3 ) PORT_CONDITION("DSW", 0x20, EQUALS, 0x00)
1144 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_CONDITION("DSW", 0x20, EQUALS, 0x20)
1145 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
1146 	PORT_SERVICE_NO_TOGGLE( 0x04, IP_ACTIVE_LOW )
1147 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE1 )
1148 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 )
1149 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 )
1150 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE2 )
1151 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_CONDITION("DSW", 0x20, EQUALS, 0x20)
1152 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_CONDITION("DSW", 0x20, EQUALS, 0x00)
1153 
1154 	PORT_MODIFY("DSW")
1155 	PORT_DIPNAME( 0x01, 0x01, "2 Credits to Start" ) PORT_DIPLOCATION("SW2:1")
1156 	PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
1157 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1158 	PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:2")
1159 	PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
1160 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1161 	PORT_DIPNAME( 0x04, 0x04, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:3")
1162 	PORT_DIPSETTING(    0x04, "2" )
1163 	PORT_DIPSETTING(    0x00, "3" )
1164 	PORT_DIPNAME( 0x08, 0x08, "Player Vitality" ) PORT_DIPLOCATION("SW2:4")
1165 	PORT_DIPSETTING(    0x08, DEF_STR( Low ) )
1166 	PORT_DIPSETTING(    0x00, DEF_STR( High ) )
1167 	PORT_DIPNAME( 0x10, 0x10, "Play Mode" ) PORT_DIPLOCATION("SW2:5")
1168 	PORT_DIPSETTING(    0x10, "2 Players" )
1169 	PORT_DIPSETTING(    0x00, "3 Players" )
1170 	PORT_DIPNAME( 0x20, 0x20, "Coin Chute" ) PORT_DIPLOCATION("SW2:6")
1171 	PORT_DIPSETTING(    0x20, "Common" )
1172 	PORT_DIPSETTING(    0x00, "Individual" )
1173 	PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:7,8")
1174 	PORT_DIPSETTING(    0x80, DEF_STR( Easy ) )
1175 	PORT_DIPSETTING(    0xc0, DEF_STR( Normal ) )
1176 	PORT_DIPSETTING(    0x40, DEF_STR( Hard ) )
1177 	PORT_DIPSETTING(    0x00, DEF_STR( Hardest ) )
1178 INPUT_PORTS_END
1179 
1180 static INPUT_PORTS_START( mwalka )
1181 	PORT_INCLUDE( mwalk )
1182 
1183 	PORT_MODIFY("SERVICE")
1184 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN3 ) PORT_CONDITION("DSW", 0x20, EQUALS, 0x20)
1185 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_CONDITION("DSW", 0x20, EQUALS, 0x00)
1186 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_CONDITION("DSW", 0x20, EQUALS, 0x00)
1187 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_CONDITION("DSW", 0x20, EQUALS, 0x20)
1188 
1189 	PORT_MODIFY("DSW")
1190 	// inverts the meaning of these two dips, to follow suit with the US 3P cabinet
1191 	PORT_DIPNAME( 0x10, 0x10, "Play Mode" ) PORT_DIPLOCATION("SW2:5")
1192 	PORT_DIPSETTING(    0x00, "2 Players" )
1193 	PORT_DIPSETTING(    0x10, "3 Players" )
1194 	PORT_DIPNAME( 0x20, 0x20, "Coin Chute" ) PORT_DIPLOCATION("SW2:6")
1195 	PORT_DIPSETTING(    0x00, "Common" )
1196 	PORT_DIPSETTING(    0x20, "Individual" )
1197 INPUT_PORTS_END
1198 
1199 
1200 static INPUT_PORTS_START( shdancer )
1201 	PORT_INCLUDE( system18_generic )
1202 
1203 	PORT_MODIFY("DSW")
1204 	PORT_DIPNAME( 0x01, 0x01, "2 Credits to Start" ) PORT_DIPLOCATION("SW2:1")
1205 	PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
1206 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1207 	PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:2")
1208 	PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
1209 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1210 	PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:3,4")
1211 	PORT_DIPSETTING(    0x00, "2" )
1212 	PORT_DIPSETTING(    0x0c, "3" )
1213 	PORT_DIPSETTING(    0x08, "4" )
1214 	PORT_DIPSETTING(    0x04, "5" )
1215 	PORT_DIPNAME( 0x30, 0x30, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:5,6")
1216 	PORT_DIPSETTING(    0x20, DEF_STR( Easy ) )
1217 	PORT_DIPSETTING(    0x30, DEF_STR( Normal ) )
1218 	PORT_DIPSETTING(    0x10, DEF_STR( Hard ) )
1219 	PORT_DIPSETTING(    0x00, DEF_STR( Hardest ) )
1220 	PORT_DIPNAME( 0xc0, 0xc0, "Time Adjust" ) PORT_DIPLOCATION("SW2:7,8")
1221 	PORT_DIPSETTING(    0x00, "2.20" )
1222 	PORT_DIPSETTING(    0x40, "2.40" )
1223 	PORT_DIPSETTING(    0xc0, "3.00" )
1224 	PORT_DIPSETTING(    0x80, "3.30" )
1225 INPUT_PORTS_END
1226 
1227 
1228 static INPUT_PORTS_START( wwally )
1229 	PORT_INCLUDE( system18_generic )
1230 
1231 	PORT_MODIFY("DSW")
1232 	PORT_DIPNAME( 0x01, 0x01, "2 Credits to Start" ) PORT_DIPLOCATION("SW2:1")
1233 	PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
1234 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1235 	PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:2")
1236 	PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
1237 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1238 	PORT_DIPNAME( 0x04, 0x04, "Coin Chute" ) PORT_DIPLOCATION("SW2:3")
1239 	PORT_DIPSETTING(    0x04, "Common" )
1240 	PORT_DIPSETTING(    0x00, "Individual" )
1241 	//"SW2:4" unused
1242 	//"SW2:5" unused
1243 	PORT_DIPNAME( 0x60, 0x60, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:6,7")
1244 	PORT_DIPSETTING(    0x40, DEF_STR( Easy ) )
1245 	PORT_DIPSETTING(    0x60, DEF_STR( Normal ) )
1246 	PORT_DIPSETTING(    0x20, DEF_STR( Hard ) )
1247 	PORT_DIPSETTING(    0x00, DEF_STR( Hardest ) )
1248 	//"SW2:8" unused
1249 
1250 	PORT_START("TRACKX1")
1251 	PORT_BIT( 0xfff, 0x000, IPT_TRACKBALL_X ) PORT_SENSITIVITY(75) PORT_KEYDELTA(5) PORT_REVERSE PORT_RESET
1252 
1253 	PORT_START("TRACKY1")
1254 	PORT_BIT( 0xfff, 0x000, IPT_TRACKBALL_Y ) PORT_SENSITIVITY(75) PORT_KEYDELTA(5) PORT_RESET
1255 
1256 	PORT_START("TRACKX2")
1257 	PORT_BIT( 0xfff, 0x000, IPT_TRACKBALL_X ) PORT_SENSITIVITY(75) PORT_KEYDELTA(5) PORT_PLAYER(2) PORT_REVERSE PORT_RESET
1258 
1259 	PORT_START("TRACKY2")
1260 	PORT_BIT( 0xfff, 0x000, IPT_TRACKBALL_Y ) PORT_SENSITIVITY(75) PORT_KEYDELTA(5) PORT_PLAYER(2) PORT_RESET
1261 
1262 	PORT_START("TRACKX3")
1263 	PORT_BIT( 0xfff, 0x000, IPT_TRACKBALL_X ) PORT_SENSITIVITY(75) PORT_KEYDELTA(5) PORT_PLAYER(3) PORT_REVERSE PORT_RESET
1264 
1265 	PORT_START("TRACKY3")
1266 	PORT_BIT( 0xfff, 0x000, IPT_TRACKBALL_Y ) PORT_SENSITIVITY(75) PORT_KEYDELTA(5) PORT_PLAYER(3) PORT_RESET
1267 INPUT_PORTS_END
1268 
1269 
1270 /*************************************
1271  *
1272  *  Graphics definitions
1273  *
1274  *************************************/
1275 
1276 static const gfx_layout charlayout =
1277 {
1278 	8,8,
1279 	RGN_FRAC(1,3),
1280 	3,
1281 	{ RGN_FRAC(2,3), RGN_FRAC(1,3), RGN_FRAC(0,3) },
1282 	{ STEP8(0,1) },
1283 	{ STEP8(0,8) },
1284 	8*8
1285 };
1286 
1287 
1288 static GFXDECODE_START( gfx_segas18 )
1289 	GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 1024 )
1290 GFXDECODE_END
1291 
1292 
1293 
1294 // are any of the VDP interrupt lines hooked up to anything?
WRITE_LINE_MEMBER(segas18_state::vdp_sndirqline_callback_s18)1295 WRITE_LINE_MEMBER(segas18_state::vdp_sndirqline_callback_s18)
1296 {
1297 }
1298 
WRITE_LINE_MEMBER(segas18_state::vdp_lv6irqline_callback_s18)1299 WRITE_LINE_MEMBER(segas18_state::vdp_lv6irqline_callback_s18)
1300 {
1301 }
1302 
WRITE_LINE_MEMBER(segas18_state::vdp_lv4irqline_callback_s18)1303 WRITE_LINE_MEMBER(segas18_state::vdp_lv4irqline_callback_s18)
1304 {
1305 }
1306 
1307 /*************************************
1308  *
1309  *  Machine driver
1310  *
1311  *************************************/
1312 
system18(machine_config & config)1313 void segas18_state::system18(machine_config &config)
1314 {
1315 	// basic machine hardware
1316 	M68000(config, m_maincpu, 10000000);
1317 	m_maincpu->set_addrmap(AS_PROGRAM, &segas18_state::system18_map);
1318 	m_maincpu->set_vblank_int("screen", FUNC(segas18_state::irq4_line_hold));
1319 
1320 	Z80(config, m_soundcpu, 8000000);
1321 	m_soundcpu->set_addrmap(AS_PROGRAM, &segas18_state::sound_map);
1322 	m_soundcpu->set_addrmap(AS_IO, &segas18_state::sound_portmap);
1323 
1324 	NVRAM(config, m_nvram, nvram_device::DEFAULT_ALL_0);
1325 
1326 	SEGA_315_5195_MEM_MAPPER(config, m_mapper, 10000000, m_maincpu);
1327 	m_mapper->set_mapper(FUNC(segas18_state::memory_mapper));
1328 	m_mapper->pbf().set_inputline(m_soundcpu, INPUT_LINE_NMI);
1329 
1330 	SEGA_315_5296(config, m_io, 16000000);
1331 	m_io->in_pa_callback().set_ioport("P1");
1332 	m_io->in_pb_callback().set_ioport("P2");
1333 	m_io->in_pc_callback().set_ioport("P3");
1334 	m_io->out_pd_callback().set(FUNC(segas18_state::misc_outputs_w));
1335 	m_io->in_pe_callback().set_ioport("SERVICE");
1336 	m_io->in_pf_callback().set_ioport("COINAGE");
1337 	m_io->in_pg_callback().set_ioport("DSW");
1338 	m_io->out_ph_callback().set(FUNC(segas18_state::rom_5874_bank_w));
1339 	m_io->out_cnt1_callback().set(m_segaic16vid, FUNC(segaic16_video_device::set_display_enable));
1340 	m_io->out_cnt2_callback().set(FUNC(segas18_state::set_vdp_enable));
1341 
1342 	SEGA315_5313(config, m_vdp, 15000000, m_maincpu); // ??? Frequency is a complete guess
1343 	m_vdp->set_is_pal(false);
1344 	m_vdp->snd_irq().set(FUNC(segas18_state::vdp_sndirqline_callback_s18));
1345 	m_vdp->lv6_irq().set(FUNC(segas18_state::vdp_lv6irqline_callback_s18));
1346 	m_vdp->lv4_irq().set(FUNC(segas18_state::vdp_lv4irqline_callback_s18));
1347 	m_vdp->set_alt_timing(1);
1348 	m_vdp->set_pal_write_base(0x1000);
1349 	m_vdp->set_ext_palette(m_palette);
1350 	m_vdp->add_route(ALL_OUTPUTS, "mono", 0.0);
1351 
1352 	TIMER(config, "scantimer").configure_scanline("gen_vdp", FUNC(sega315_5313_device::megadriv_scanline_timer_callback_alt_timing), "screen", 0, 1);
1353 
1354 	// video hardware
1355 	SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
1356 	m_screen->set_refresh_hz(57.23); // verified on pcb
1357 	m_screen->set_size(342,262);
1358 	m_screen->set_visarea(0*8, 40*8-1, 0*8, 28*8-1);
1359 	m_screen->set_screen_update(FUNC(segas18_state::screen_update));
1360 	m_screen->set_palette(m_palette);
1361 
1362 	GFXDECODE(config, m_gfxdecode, m_palette, gfx_segas18);
1363 	PALETTE(config, m_palette).set_entries(2048*2 + 64*3);
1364 
1365 	SEGA_SYS16B_SPRITES(config, m_sprites, 0);
1366 	SEGAIC16VID(config, m_segaic16vid, 0, m_gfxdecode);
1367 
1368 	// sound hardware
1369 	SPEAKER(config, "mono").front_center();
1370 
1371 	ym3438_device &ym1(YM3438(config, "ym1", 8000000));
1372 	ym1.add_route(ALL_OUTPUTS, "mono", 0.40);
1373 	ym1.irq_handler().set_inputline("soundcpu", INPUT_LINE_IRQ0);
1374 
1375 	ym3438_device &ym2(YM3438(config, "ym2", 8000000));
1376 	ym2.add_route(ALL_OUTPUTS, "mono", 0.40);
1377 
1378 	rf5c68_device &rfsnd(RF5C68(config, "rfsnd", 10000000)); // ASSP (RF)5C68A
1379 	rfsnd.add_route(ALL_OUTPUTS, "mono", 1.0);
1380 	rfsnd.set_addrmap(0, &segas18_state::pcm_map);
1381 }
1382 
system18_fd1094(machine_config & config)1383 void segas18_state::system18_fd1094(machine_config &config)
1384 {
1385 	system18(config);
1386 
1387 	// basic machine hardware
1388 	FD1094(config.replace(), m_maincpu, 10000000);
1389 	m_maincpu->set_addrmap(AS_PROGRAM, &segas18_state::system18_map);
1390 	m_maincpu->set_addrmap(AS_OPCODES, &segas18_state::decrypted_opcodes_map);
1391 	m_maincpu->set_vblank_int("screen", FUNC(segas18_state::irq4_line_hold));
1392 }
1393 
lghost_fd1094(machine_config & config)1394 void segas18_state::lghost_fd1094(machine_config &config)
1395 {
1396 	system18_fd1094(config);
1397 
1398 	// basic machine hardware
1399 	m_io->out_pc_callback().set(FUNC(segas18_state::lghost_gun_recoil_w));
1400 }
1401 
lghost(machine_config & config)1402 void segas18_state::lghost(machine_config &config)
1403 {
1404 	system18(config);
1405 
1406 	// basic machine hardware
1407 	m_io->out_pc_callback().set(FUNC(segas18_state::lghost_gun_recoil_w));
1408 }
1409 
wwally_fd1094(machine_config & config)1410 void segas18_state::wwally_fd1094(machine_config &config)
1411 {
1412 	system18_fd1094(config);
1413 	UPD4701A(config, m_upd4701[0]);
1414 	m_upd4701[0]->set_portx_tag("TRACKX1");
1415 	m_upd4701[0]->set_porty_tag("TRACKY1");
1416 
1417 	UPD4701A(config, m_upd4701[1]);
1418 	m_upd4701[1]->set_portx_tag("TRACKX2");
1419 	m_upd4701[1]->set_porty_tag("TRACKY2");
1420 
1421 	UPD4701A(config, m_upd4701[2]);
1422 	m_upd4701[2]->set_portx_tag("TRACKX3");
1423 	m_upd4701[2]->set_porty_tag("TRACKY3");
1424 }
1425 
wwally(machine_config & config)1426 void segas18_state::wwally(machine_config &config)
1427 {
1428 	system18(config);
1429 	UPD4701A(config, m_upd4701[0]);
1430 	m_upd4701[0]->set_portx_tag("TRACKX1");
1431 	m_upd4701[0]->set_porty_tag("TRACKY1");
1432 
1433 	UPD4701A(config, m_upd4701[1]);
1434 	m_upd4701[1]->set_portx_tag("TRACKX2");
1435 	m_upd4701[1]->set_porty_tag("TRACKY2");
1436 
1437 	UPD4701A(config, m_upd4701[2]);
1438 	m_upd4701[2]->set_portx_tag("TRACKX3");
1439 	m_upd4701[2]->set_porty_tag("TRACKY3");
1440 }
1441 
system18_i8751(machine_config & config)1442 void segas18_state::system18_i8751(machine_config &config)
1443 {
1444 	system18(config);
1445 
1446 	// basic machine hardware
1447 	m_maincpu->remove_vblank_int();
1448 
1449 	m_mapper->mcu_int().set_inputline(m_mcu, INPUT_LINE_IRQ1);
1450 
1451 	I8751(config, m_mcu, 8000000);
1452 	m_mcu->set_addrmap(AS_IO, &segas18_state::mcu_io_map);
1453 	m_mcu->set_vblank_int("screen", FUNC(segas18_state::irq0_line_hold));
1454 }
1455 
system18_fd1094_i8751(machine_config & config)1456 void segas18_state::system18_fd1094_i8751(machine_config &config)
1457 {
1458 	system18_fd1094(config);
1459 
1460 	// basic machine hardware
1461 	m_maincpu->remove_vblank_int();
1462 
1463 	m_mapper->mcu_int().set_inputline(m_mcu, INPUT_LINE_IRQ1);
1464 
1465 	I8751(config, m_mcu, 8000000);
1466 	m_mcu->set_addrmap(AS_IO, &segas18_state::mcu_io_map);
1467 	m_mcu->set_vblank_int("screen", FUNC(segas18_state::irq0_line_hold));
1468 }
1469 
1470 
1471 
1472 /*************************************
1473  *
1474  *  ROM definition(s)
1475  *
1476  *************************************/
1477 
1478 /**************************************************************************************************************************
1479  **************************************************************************************************************************
1480  **************************************************************************************************************************
1481     Alien Storm (2 players World version), Sega System 18
1482     CPU: FD1094 (317-0154)
1483     ROM Board: 171-5873B
1484 */
1485 ROM_START( astorm )
1486 	ROM_REGION( 0x080000, "maincpu", 0 ) // 68000 code
CRC(e31f2a1c)1487 	ROM_LOAD16_BYTE( "epr-13182.a6", 0x000000, 0x40000, CRC(e31f2a1c) SHA1(690ee10c36e5bb6175470fb5564527e0e4a94d2c) )
1488 	ROM_LOAD16_BYTE( "epr-13181.a5", 0x000001, 0x40000, CRC(78cd3b26) SHA1(a81b807c5da625d8e4648ae80c41e4ca3870c0fa) )
1489 
1490 	ROM_REGION( 0x2000, "maincpu:key", 0 )  // decryption key
1491 	ROM_LOAD( "317-0154.key", 0x0000, 0x2000, CRC(b86b6b8f) SHA1(869405383d563a3f3842c89462a7b2e184928532) )
1492 
1493 	ROM_REGION( 0xc0000, "gfx1", 0 ) // tiles
1494 	ROM_LOAD( "epr-13073.bin", 0x00000, 0x40000, CRC(df5d0a61) SHA1(79ad71de348f280bad847566c507b7a31f022292) )
1495 	ROM_LOAD( "epr-13074.bin", 0x40000, 0x40000, CRC(787afab8) SHA1(a119042bb2dad54e9733bfba4eaab0ac5fc0f9e7) )
1496 	ROM_LOAD( "epr-13075.bin", 0x80000, 0x40000, CRC(4e01b477) SHA1(4178ce4a87ea427c3b0195e64acef6cddfb3485f) )
1497 
1498 	ROM_REGION16_BE( 0x200000, "sprites", 0 ) // sprites
1499 	ROM_LOAD16_BYTE( "mpr-13082.bin", 0x000001, 0x40000, CRC(a782b704) SHA1(ba15bdfbc267b8d86f03e5310ce60846ff846de3) )
1500 	ROM_LOAD16_BYTE( "mpr-13089.bin", 0x000000, 0x40000, CRC(2a4227f0) SHA1(47284dce8f896f8e8eace9c20302842cacb479c1) )
1501 	ROM_LOAD16_BYTE( "mpr-13081.bin", 0x080001, 0x40000, CRC(eb510228) SHA1(4cd387b160ec7050e1300ebe708853742169e643) )
1502 	ROM_LOAD16_BYTE( "mpr-13088.bin", 0x080000, 0x40000, CRC(3b6b4c55) SHA1(970495c54b3e1893ee8060f6ca1338c2cbbd1074) )
1503 	ROM_LOAD16_BYTE( "mpr-13080.bin", 0x100001, 0x40000, CRC(e668eefb) SHA1(d4a087a238b4d3ac2d23fe148d6a73018e348a89) )
1504 	ROM_LOAD16_BYTE( "mpr-13087.bin", 0x100000, 0x40000, CRC(2293427d) SHA1(4fd07763ff060afd594e3f64fa4750577f56c80e) )
1505 	ROM_LOAD16_BYTE( "epr-13079.bin", 0x180001, 0x40000, CRC(de9221ed) SHA1(5e2e434d1aa547be1e5652fc906d2e18c5122023) )
1506 	ROM_LOAD16_BYTE( "epr-13086.bin", 0x180000, 0x40000, CRC(8c9a71c4) SHA1(40b774765ac888792aad46b6351a24b7ef40d2dc) )
1507 
1508 	ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
1509 	ROM_LOAD( "epr-13083a.bin", 0x000000, 0x20000, CRC(e7528e06) SHA1(1f4e618692c20aeb316d578c5ded12440eb072ab) ) // Also known to come with EPR-13083B ROM instead of EPR-13083A (like astormj)
1510 	ROM_LOAD( "epr-13076.bin",  0x080000, 0x40000, CRC(94e6c76e) SHA1(f99e58a9bf372c41af211bd9b9ea3ac5b924c6ed) )
1511 	ROM_LOAD( "epr-13077.bin",  0x100000, 0x40000, CRC(e2ec0d8d) SHA1(225b0d223b7282cba7710300a877fb4a2c6dbabb) )
1512 	ROM_LOAD( "epr-13078.bin",  0x180000, 0x40000, CRC(15684dc5) SHA1(595051006de24f791dae937584e502ff2fa31d9c) )
1513 ROM_END
1514 
1515 /**************************************************************************************************************************
1516     Alien Storm (3 players World version), Sega System 18
1517     CPU: FD1094 (317-0148)
1518     ROM Board: 171-5873B
1519         main pcb: 834-7381-02
1520     Game numbers: 833-7379-02
1521          ROM pcb: 834-7380-02
1522 */
1523 ROM_START( astorm3 )
1524 	ROM_REGION( 0x080000, "maincpu", 0 ) // 68000 code
1525 	ROM_LOAD16_BYTE( "epr-13165.a6", 0x000000, 0x40000, CRC(6efcd381) SHA1(547c6703a34c3b9b887f5a63ec59a7055067bf3b) )
1526 	ROM_LOAD16_BYTE( "epr-13164.a5", 0x000001, 0x40000, CRC(97d693c6) SHA1(1a9aa98b32aae9367ed897e6931b2633b11b079e) )
1527 
1528 	ROM_REGION( 0x2000, "maincpu:key", 0 )  // decryption key
1529 	ROM_LOAD( "317-0148.key", 0x0000, 0x2000, CRC(72e4b64a) SHA1(945580d0cf25691370e9f2056cdffc01331d54ad) )
1530 
1531 	ROM_REGION( 0xc0000, "gfx1", 0 ) // tiles
1532 	ROM_LOAD( "epr-13073.bin", 0x00000, 0x40000, CRC(df5d0a61) SHA1(79ad71de348f280bad847566c507b7a31f022292) )
1533 	ROM_LOAD( "epr-13074.bin", 0x40000, 0x40000, CRC(787afab8) SHA1(a119042bb2dad54e9733bfba4eaab0ac5fc0f9e7) )
1534 	ROM_LOAD( "epr-13075.bin", 0x80000, 0x40000, CRC(4e01b477) SHA1(4178ce4a87ea427c3b0195e64acef6cddfb3485f) )
1535 
1536 	ROM_REGION16_BE( 0x200000, "sprites", 0 ) // sprites
1537 	ROM_LOAD16_BYTE( "mpr-13082.bin", 0x000001, 0x40000, CRC(a782b704) SHA1(ba15bdfbc267b8d86f03e5310ce60846ff846de3) )
1538 	ROM_LOAD16_BYTE( "mpr-13089.bin", 0x000000, 0x40000, CRC(2a4227f0) SHA1(47284dce8f896f8e8eace9c20302842cacb479c1) )
1539 	ROM_LOAD16_BYTE( "mpr-13081.bin", 0x080001, 0x40000, CRC(eb510228) SHA1(4cd387b160ec7050e1300ebe708853742169e643) )
1540 	ROM_LOAD16_BYTE( "mpr-13088.bin", 0x080000, 0x40000, CRC(3b6b4c55) SHA1(970495c54b3e1893ee8060f6ca1338c2cbbd1074) )
1541 	ROM_LOAD16_BYTE( "mpr-13080.bin", 0x100001, 0x40000, CRC(e668eefb) SHA1(d4a087a238b4d3ac2d23fe148d6a73018e348a89) )
1542 	ROM_LOAD16_BYTE( "mpr-13087.bin", 0x100000, 0x40000, CRC(2293427d) SHA1(4fd07763ff060afd594e3f64fa4750577f56c80e) )
1543 	ROM_LOAD16_BYTE( "epr-13079.bin", 0x180001, 0x40000, CRC(de9221ed) SHA1(5e2e434d1aa547be1e5652fc906d2e18c5122023) )
1544 	ROM_LOAD16_BYTE( "epr-13086.bin", 0x180000, 0x40000, CRC(8c9a71c4) SHA1(40b774765ac888792aad46b6351a24b7ef40d2dc) )
1545 
1546 	ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
1547 	ROM_LOAD( "epr-13083.bin", 0x000000, 0x20000, CRC(5df3af20) SHA1(e49105fcfd5bf37d14bd760f6adca5ce2412883d) ) // Also known to come with EPR-13083A ROM instead of EPR-13083
1548 	ROM_LOAD( "epr-13076.bin", 0x080000, 0x40000, CRC(94e6c76e) SHA1(f99e58a9bf372c41af211bd9b9ea3ac5b924c6ed) )
1549 	ROM_LOAD( "epr-13077.bin", 0x100000, 0x40000, CRC(e2ec0d8d) SHA1(225b0d223b7282cba7710300a877fb4a2c6dbabb) )
1550 	ROM_LOAD( "epr-13078.bin", 0x180000, 0x40000, CRC(15684dc5) SHA1(595051006de24f791dae937584e502ff2fa31d9c) )
1551 ROM_END
1552 
1553 ROM_START( astorm3d )
1554 	ROM_REGION( 0x080000, "maincpu", 0 ) // 68000 code
1555 	ROM_LOAD16_BYTE( "bootleg_epr-13165.a6", 0x000000, 0x40000, CRC(2a0dbff5) SHA1(c58f999e0362ec88f2596cd8dbb405af64c90209) )
1556 	ROM_LOAD16_BYTE( "bootleg_epr-13164.a5", 0x000001, 0x40000, CRC(f981a183) SHA1(5077a28ece7f2284e6fb98243776a5e64745303c) )
1557 
1558 	ROM_REGION( 0xc0000, "gfx1", 0 ) // tiles
1559 	ROM_LOAD( "epr-13073.bin", 0x00000, 0x40000, CRC(df5d0a61) SHA1(79ad71de348f280bad847566c507b7a31f022292) )
1560 	ROM_LOAD( "epr-13074.bin", 0x40000, 0x40000, CRC(787afab8) SHA1(a119042bb2dad54e9733bfba4eaab0ac5fc0f9e7) )
1561 	ROM_LOAD( "epr-13075.bin", 0x80000, 0x40000, CRC(4e01b477) SHA1(4178ce4a87ea427c3b0195e64acef6cddfb3485f) )
1562 
1563 	ROM_REGION16_BE( 0x200000, "sprites", 0 ) // sprites
1564 	ROM_LOAD16_BYTE( "mpr-13082.bin", 0x000001, 0x40000, CRC(a782b704) SHA1(ba15bdfbc267b8d86f03e5310ce60846ff846de3) )
1565 	ROM_LOAD16_BYTE( "mpr-13089.bin", 0x000000, 0x40000, CRC(2a4227f0) SHA1(47284dce8f896f8e8eace9c20302842cacb479c1) )
1566 	ROM_LOAD16_BYTE( "mpr-13081.bin", 0x080001, 0x40000, CRC(eb510228) SHA1(4cd387b160ec7050e1300ebe708853742169e643) )
1567 	ROM_LOAD16_BYTE( "mpr-13088.bin", 0x080000, 0x40000, CRC(3b6b4c55) SHA1(970495c54b3e1893ee8060f6ca1338c2cbbd1074) )
1568 	ROM_LOAD16_BYTE( "mpr-13080.bin", 0x100001, 0x40000, CRC(e668eefb) SHA1(d4a087a238b4d3ac2d23fe148d6a73018e348a89) )
1569 	ROM_LOAD16_BYTE( "mpr-13087.bin", 0x100000, 0x40000, CRC(2293427d) SHA1(4fd07763ff060afd594e3f64fa4750577f56c80e) )
1570 	ROM_LOAD16_BYTE( "epr-13079.bin", 0x180001, 0x40000, CRC(de9221ed) SHA1(5e2e434d1aa547be1e5652fc906d2e18c5122023) )
1571 	ROM_LOAD16_BYTE( "epr-13086.bin", 0x180000, 0x40000, CRC(8c9a71c4) SHA1(40b774765ac888792aad46b6351a24b7ef40d2dc) )
1572 
1573 	ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
1574 	ROM_LOAD( "epr-13083.bin", 0x000000, 0x20000, CRC(5df3af20) SHA1(e49105fcfd5bf37d14bd760f6adca5ce2412883d) )
1575 	ROM_LOAD( "epr-13076.bin", 0x080000, 0x40000, CRC(94e6c76e) SHA1(f99e58a9bf372c41af211bd9b9ea3ac5b924c6ed) )
1576 	ROM_LOAD( "epr-13077.bin", 0x100000, 0x40000, CRC(e2ec0d8d) SHA1(225b0d223b7282cba7710300a877fb4a2c6dbabb) )
1577 	ROM_LOAD( "epr-13078.bin", 0x180000, 0x40000, CRC(15684dc5) SHA1(595051006de24f791dae937584e502ff2fa31d9c) )
1578 ROM_END
1579 
1580 /**************************************************************************************************************************
1581     Alien Storm (3 players US version), Sega System 18
1582     CPU: FD1094 (317-0147)
1583 */
1584 ROM_START( astormu )
1585 	ROM_REGION( 0x080000, "maincpu", 0 ) // 68000 code
1586 	ROM_LOAD16_BYTE( "epr-13095.a6", 0x000000, 0x40000, CRC(55d40742) SHA1(c30fcd7da1fe062b1f00275dc8ac79c3c619b719) )
1587 	ROM_LOAD16_BYTE( "epr-13094.a5", 0x000001, 0x40000, CRC(92b305f9) SHA1(d24a1de619d29a8f6ff9dfce455c2c7d6457ddbe) )
1588 
1589 	ROM_REGION( 0x2000, "maincpu:key", 0 )  // decryption key
1590 	ROM_LOAD( "317-0147.key", 0x0000, 0x2000, CRC(3fd54ba7) SHA1(2d74f44f2ed779ed2b119b4fc0bc844d90678c74) )
1591 
1592 	ROM_REGION( 0xc0000, "gfx1", 0 ) // tiles
1593 	ROM_LOAD( "epr-13073.bin", 0x00000, 0x40000, CRC(df5d0a61) SHA1(79ad71de348f280bad847566c507b7a31f022292) )
1594 	ROM_LOAD( "epr-13074.bin", 0x40000, 0x40000, CRC(787afab8) SHA1(a119042bb2dad54e9733bfba4eaab0ac5fc0f9e7) )
1595 	ROM_LOAD( "epr-13075.bin", 0x80000, 0x40000, CRC(4e01b477) SHA1(4178ce4a87ea427c3b0195e64acef6cddfb3485f) )
1596 
1597 	ROM_REGION16_BE( 0x200000, "sprites", 0 ) // sprites
1598 	ROM_LOAD16_BYTE( "mpr-13082.bin", 0x000001, 0x40000, CRC(a782b704) SHA1(ba15bdfbc267b8d86f03e5310ce60846ff846de3) )
1599 	ROM_LOAD16_BYTE( "mpr-13089.bin", 0x000000, 0x40000, CRC(2a4227f0) SHA1(47284dce8f896f8e8eace9c20302842cacb479c1) )
1600 	ROM_LOAD16_BYTE( "mpr-13081.bin", 0x080001, 0x40000, CRC(eb510228) SHA1(4cd387b160ec7050e1300ebe708853742169e643) )
1601 	ROM_LOAD16_BYTE( "mpr-13088.bin", 0x080000, 0x40000, CRC(3b6b4c55) SHA1(970495c54b3e1893ee8060f6ca1338c2cbbd1074) )
1602 	ROM_LOAD16_BYTE( "mpr-13080.bin", 0x100001, 0x40000, CRC(e668eefb) SHA1(d4a087a238b4d3ac2d23fe148d6a73018e348a89) )
1603 	ROM_LOAD16_BYTE( "mpr-13087.bin", 0x100000, 0x40000, CRC(2293427d) SHA1(4fd07763ff060afd594e3f64fa4750577f56c80e) )
1604 	ROM_LOAD16_BYTE( "epr-13079.bin", 0x180001, 0x40000, CRC(de9221ed) SHA1(5e2e434d1aa547be1e5652fc906d2e18c5122023) )
1605 	ROM_LOAD16_BYTE( "epr-13086.bin", 0x180000, 0x40000, CRC(8c9a71c4) SHA1(40b774765ac888792aad46b6351a24b7ef40d2dc) )
1606 
1607 	ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
1608 	ROM_LOAD( "epr-13083.bin", 0x000000, 0x20000, CRC(5df3af20) SHA1(e49105fcfd5bf37d14bd760f6adca5ce2412883d) )
1609 	ROM_LOAD( "epr-13076.bin", 0x080000, 0x40000, CRC(94e6c76e) SHA1(f99e58a9bf372c41af211bd9b9ea3ac5b924c6ed) )
1610 	ROM_LOAD( "epr-13077.bin", 0x100000, 0x40000, CRC(e2ec0d8d) SHA1(225b0d223b7282cba7710300a877fb4a2c6dbabb) )
1611 	ROM_LOAD( "epr-13078.bin", 0x180000, 0x40000, CRC(15684dc5) SHA1(595051006de24f791dae937584e502ff2fa31d9c) )
1612 ROM_END
1613 
1614 ROM_START( astormud )
1615 	ROM_REGION( 0x080000, "maincpu", 0 ) // 68000 code
1616 	ROM_LOAD16_BYTE( "bootleg_epr-13095.a6", 0x000000, 0x40000, CRC(a29b1eea) SHA1(ff34ab6806a4aea3519cefe06c8b85962bd9942d) )
1617 	ROM_LOAD16_BYTE( "bootleg_epr-13094.a5", 0x000001, 0x40000, CRC(81f4c6b6) SHA1(c2c69b281a90635746c76d285b2a8342151a1cd5) )
1618 
1619 	ROM_REGION( 0xc0000, "gfx1", 0 ) // tiles
1620 	ROM_LOAD( "epr-13073.bin", 0x00000, 0x40000, CRC(df5d0a61) SHA1(79ad71de348f280bad847566c507b7a31f022292) )
1621 	ROM_LOAD( "epr-13074.bin", 0x40000, 0x40000, CRC(787afab8) SHA1(a119042bb2dad54e9733bfba4eaab0ac5fc0f9e7) )
1622 	ROM_LOAD( "epr-13075.bin", 0x80000, 0x40000, CRC(4e01b477) SHA1(4178ce4a87ea427c3b0195e64acef6cddfb3485f) )
1623 
1624 	ROM_REGION16_BE( 0x200000, "sprites", 0 ) // sprites
1625 	ROM_LOAD16_BYTE( "mpr-13082.bin", 0x000001, 0x40000, CRC(a782b704) SHA1(ba15bdfbc267b8d86f03e5310ce60846ff846de3) )
1626 	ROM_LOAD16_BYTE( "mpr-13089.bin", 0x000000, 0x40000, CRC(2a4227f0) SHA1(47284dce8f896f8e8eace9c20302842cacb479c1) )
1627 	ROM_LOAD16_BYTE( "mpr-13081.bin", 0x080001, 0x40000, CRC(eb510228) SHA1(4cd387b160ec7050e1300ebe708853742169e643) )
1628 	ROM_LOAD16_BYTE( "mpr-13088.bin", 0x080000, 0x40000, CRC(3b6b4c55) SHA1(970495c54b3e1893ee8060f6ca1338c2cbbd1074) )
1629 	ROM_LOAD16_BYTE( "mpr-13080.bin", 0x100001, 0x40000, CRC(e668eefb) SHA1(d4a087a238b4d3ac2d23fe148d6a73018e348a89) )
1630 	ROM_LOAD16_BYTE( "mpr-13087.bin", 0x100000, 0x40000, CRC(2293427d) SHA1(4fd07763ff060afd594e3f64fa4750577f56c80e) )
1631 	ROM_LOAD16_BYTE( "epr-13079.bin", 0x180001, 0x40000, CRC(de9221ed) SHA1(5e2e434d1aa547be1e5652fc906d2e18c5122023) )
1632 	ROM_LOAD16_BYTE( "epr-13086.bin", 0x180000, 0x40000, CRC(8c9a71c4) SHA1(40b774765ac888792aad46b6351a24b7ef40d2dc) )
1633 
1634 	ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
1635 	ROM_LOAD( "epr-13083.bin", 0x000000, 0x20000, CRC(5df3af20) SHA1(e49105fcfd5bf37d14bd760f6adca5ce2412883d) )
1636 	ROM_LOAD( "epr-13076.bin", 0x080000, 0x40000, CRC(94e6c76e) SHA1(f99e58a9bf372c41af211bd9b9ea3ac5b924c6ed) )
1637 	ROM_LOAD( "epr-13077.bin", 0x100000, 0x40000, CRC(e2ec0d8d) SHA1(225b0d223b7282cba7710300a877fb4a2c6dbabb) )
1638 	ROM_LOAD( "epr-13078.bin", 0x180000, 0x40000, CRC(15684dc5) SHA1(595051006de24f791dae937584e502ff2fa31d9c) )
1639 ROM_END
1640 
1641 
1642 /**************************************************************************************************************************
1643     Alien Storm, Sega System 18
1644     CPU: FD1094 (317-0146)
1645     ROM Board: 171-5873B
1646         main pcb: 837-7381
1647     Game numbers: 833-7379 ALIENSTORM
1648          ROM pcb: 834-7380
1649 */
1650 ROM_START( astormj )
1651 	ROM_REGION( 0x080000, "maincpu", 0 ) // 68000 code
1652 	ROM_LOAD16_BYTE( "epr-13085.a6", 0x000000, 0x40000, CRC(15f74e2d) SHA1(30d9d099ec18907edd3d20df312565c3bd5a80de) )
1653 	ROM_LOAD16_BYTE( "epr-13084.a5", 0x000001, 0x40000, CRC(9687b38f) SHA1(cdeb5b4f06ad4ad8ca579392c1ec901487b08e76) )
1654 
1655 	ROM_REGION( 0x2000, "maincpu:key", 0 )  // decryption key
1656 	ROM_LOAD( "317-0146.key", 0x0000, 0x2000, CRC(e94991c5) SHA1(c9a8b56e01792654436f24b219d7a92c0852461f) )
1657 
1658 	ROM_REGION( 0xc0000, "gfx1", 0 ) // tiles
1659 	ROM_LOAD( "epr-13073.bin", 0x00000, 0x40000, CRC(df5d0a61) SHA1(79ad71de348f280bad847566c507b7a31f022292) )
1660 	ROM_LOAD( "epr-13074.bin", 0x40000, 0x40000, CRC(787afab8) SHA1(a119042bb2dad54e9733bfba4eaab0ac5fc0f9e7) )
1661 	ROM_LOAD( "epr-13075.bin", 0x80000, 0x40000, CRC(4e01b477) SHA1(4178ce4a87ea427c3b0195e64acef6cddfb3485f) )
1662 
1663 	ROM_REGION16_BE( 0x200000, "sprites", 0 ) // sprites
1664 	ROM_LOAD16_BYTE( "mpr-13082.bin", 0x000001, 0x40000, CRC(a782b704) SHA1(ba15bdfbc267b8d86f03e5310ce60846ff846de3) )
1665 	ROM_LOAD16_BYTE( "mpr-13089.bin", 0x000000, 0x40000, CRC(2a4227f0) SHA1(47284dce8f896f8e8eace9c20302842cacb479c1) )
1666 	ROM_LOAD16_BYTE( "mpr-13081.bin", 0x080001, 0x40000, CRC(eb510228) SHA1(4cd387b160ec7050e1300ebe708853742169e643) )
1667 	ROM_LOAD16_BYTE( "mpr-13088.bin", 0x080000, 0x40000, CRC(3b6b4c55) SHA1(970495c54b3e1893ee8060f6ca1338c2cbbd1074) )
1668 	ROM_LOAD16_BYTE( "mpr-13080.bin", 0x100001, 0x40000, CRC(e668eefb) SHA1(d4a087a238b4d3ac2d23fe148d6a73018e348a89) )
1669 	ROM_LOAD16_BYTE( "mpr-13087.bin", 0x100000, 0x40000, CRC(2293427d) SHA1(4fd07763ff060afd594e3f64fa4750577f56c80e) )
1670 	ROM_LOAD16_BYTE( "epr-13079.bin", 0x180001, 0x40000, CRC(de9221ed) SHA1(5e2e434d1aa547be1e5652fc906d2e18c5122023) )
1671 	ROM_LOAD16_BYTE( "epr-13086.bin", 0x180000, 0x40000, CRC(8c9a71c4) SHA1(40b774765ac888792aad46b6351a24b7ef40d2dc) )
1672 
1673 	ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
1674 	ROM_LOAD( "epr-13083b.bin", 0x000000, 0x20000, CRC(169b4b5f) SHA1(bb3dfc4aff939df5ad04cf3ecb8e7de366097743) )
1675 	ROM_LOAD( "epr-13076.bin",  0x080000, 0x40000, CRC(94e6c76e) SHA1(f99e58a9bf372c41af211bd9b9ea3ac5b924c6ed) )
1676 	ROM_LOAD( "epr-13077.bin",  0x100000, 0x40000, CRC(e2ec0d8d) SHA1(225b0d223b7282cba7710300a877fb4a2c6dbabb) )
1677 	ROM_LOAD( "epr-13078.bin",  0x180000, 0x40000, CRC(15684dc5) SHA1(595051006de24f791dae937584e502ff2fa31d9c) )
1678 ROM_END
1679 
1680 ROM_START( astormjd )
1681 	ROM_REGION( 0x080000, "maincpu", 0 ) // 68000 code
1682 	ROM_LOAD16_BYTE( "bootleg_epr-13085.a6", 0x000000, 0x40000, CRC(c0d7f3c2) SHA1(1123f0d4cf25c3ee82a57212d9ffee49667c9f84) )
1683 	ROM_LOAD16_BYTE( "bootleg_epr-13084.a5", 0x000001, 0x40000, CRC(006635f0) SHA1(7b4fce33151c7cfe5a33065a5b33ff678bac933c) )
1684 
1685 	ROM_REGION( 0xc0000, "gfx1", 0 ) // tiles
1686 	ROM_LOAD( "epr-13073.bin", 0x00000, 0x40000, CRC(df5d0a61) SHA1(79ad71de348f280bad847566c507b7a31f022292) )
1687 	ROM_LOAD( "epr-13074.bin", 0x40000, 0x40000, CRC(787afab8) SHA1(a119042bb2dad54e9733bfba4eaab0ac5fc0f9e7) )
1688 	ROM_LOAD( "epr-13075.bin", 0x80000, 0x40000, CRC(4e01b477) SHA1(4178ce4a87ea427c3b0195e64acef6cddfb3485f) )
1689 
1690 	ROM_REGION16_BE( 0x200000, "sprites", 0 ) // sprites
1691 	ROM_LOAD16_BYTE( "mpr-13082.bin", 0x000001, 0x40000, CRC(a782b704) SHA1(ba15bdfbc267b8d86f03e5310ce60846ff846de3) )
1692 	ROM_LOAD16_BYTE( "mpr-13089.bin", 0x000000, 0x40000, CRC(2a4227f0) SHA1(47284dce8f896f8e8eace9c20302842cacb479c1) )
1693 	ROM_LOAD16_BYTE( "mpr-13081.bin", 0x080001, 0x40000, CRC(eb510228) SHA1(4cd387b160ec7050e1300ebe708853742169e643) )
1694 	ROM_LOAD16_BYTE( "mpr-13088.bin", 0x080000, 0x40000, CRC(3b6b4c55) SHA1(970495c54b3e1893ee8060f6ca1338c2cbbd1074) )
1695 	ROM_LOAD16_BYTE( "mpr-13080.bin", 0x100001, 0x40000, CRC(e668eefb) SHA1(d4a087a238b4d3ac2d23fe148d6a73018e348a89) )
1696 	ROM_LOAD16_BYTE( "mpr-13087.bin", 0x100000, 0x40000, CRC(2293427d) SHA1(4fd07763ff060afd594e3f64fa4750577f56c80e) )
1697 	ROM_LOAD16_BYTE( "epr-13079.bin", 0x180001, 0x40000, CRC(de9221ed) SHA1(5e2e434d1aa547be1e5652fc906d2e18c5122023) )
1698 	ROM_LOAD16_BYTE( "epr-13086.bin", 0x180000, 0x40000, CRC(8c9a71c4) SHA1(40b774765ac888792aad46b6351a24b7ef40d2dc) )
1699 
1700 	ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
1701 	ROM_LOAD( "epr-13083b.bin", 0x000000, 0x20000, CRC(169b4b5f) SHA1(bb3dfc4aff939df5ad04cf3ecb8e7de366097743) )
1702 	ROM_LOAD( "epr-13076.bin",  0x080000, 0x40000, CRC(94e6c76e) SHA1(f99e58a9bf372c41af211bd9b9ea3ac5b924c6ed) )
1703 	ROM_LOAD( "epr-13077.bin",  0x100000, 0x40000, CRC(e2ec0d8d) SHA1(225b0d223b7282cba7710300a877fb4a2c6dbabb) )
1704 	ROM_LOAD( "epr-13078.bin",  0x180000, 0x40000, CRC(15684dc5) SHA1(595051006de24f791dae937584e502ff2fa31d9c) )
1705 ROM_END
1706 
1707 
1708 /**************************************************************************************************************************
1709  **************************************************************************************************************************
1710  **************************************************************************************************************************
1711     Bloxeed, Sega System 18, 834-7307
1712     CPU: FD1094 (317-0139)
1713     ROM Board: 171-5874B
1714 */
1715 ROM_START( bloxeed )
1716 	ROM_REGION( 0x40000, "maincpu", 0 )
1717 	ROM_LOAD16_BYTE( "epr-12911.a6", 0x000000, 0x20000, CRC(a481581a) SHA1(5ce5a0a082622919d2fe0e7d52ec807b2e2c25a2) )
1718 	ROM_LOAD16_BYTE( "epr-12910.a5", 0x000001, 0x20000, CRC(dd1bc3bf) SHA1(c0d79862a349ea4dac103c17325633c5dd4a93d1) )
1719 
1720 	ROM_REGION( 0x2000, "maincpu:key", 0 ) // decryption key
1721 	ROM_LOAD( "317-0139.key", 0x0000, 0x2000, CRC(9aae84cb) SHA1(806515d61ecacb260b2b5e5fe023b494d35ce315) )
1722 
1723 	ROM_REGION( 0x30000, "gfx1", 0 ) // tiles
1724 	ROM_LOAD( "opr-12884.b1", 0x00000, 0x10000, CRC(e024aa33) SHA1(d734be240cd05031aaadf9735c0b1b00e8e6d4cb) )
1725 	ROM_LOAD( "opr-12885.b2", 0x10000, 0x10000, CRC(8041b814) SHA1(29fa49ba9a73eed07865a86ea774e2c6a60aed5b) )
1726 	ROM_LOAD( "opr-12886.b3", 0x20000, 0x10000, CRC(de32285e) SHA1(8994dc128d6a23763e5fcfca1868b336d4aa0a21) )
1727 
1728 	ROM_REGION16_BE( 0x20000, "sprites", 0 ) // sprites
1729 	ROM_LOAD16_BYTE( "opr-12891.a11", 0x00000, 0x10000, CRC(90d31a8c) SHA1(1747652a5109ce65add197cf06535f2463a99fdc) )
1730 	ROM_LOAD16_BYTE( "opr-12887.b11", 0x00001, 0x10000, CRC(f0c0f49d) SHA1(7ecd591265165f3149241e2ceb5059faab88360f) )
1731 
1732 	ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
1733 	ROM_LOAD( "epr-12888.a4", 0x000000, 0x20000, CRC(6f2fc63c) SHA1(3cce22c8f80013f05b5a2d36c42a61a81e4d6cbd) )
1734 ROM_END
1735 
1736 ROM_START( bloxeedd )
1737 	ROM_REGION( 0x40000, "maincpu", 0 )
1738 	ROM_LOAD16_BYTE( "bootleg_epr-12911.a6", 0x000000, 0x20000, CRC(2d634453) SHA1(7a17084057c89d581125b7823c04219a3fb599a5))
1739 	ROM_LOAD16_BYTE( "bootleg_epr-12910.a5", 0x000001, 0x20000, CRC(e6d2e9cc) SHA1(3ee269bce104d0da9a2eb0d42a07924f60f4d3a8) )
1740 
1741 	ROM_REGION( 0x30000, "gfx1", 0 ) // tiles
1742 	ROM_LOAD( "opr-12884.b1", 0x00000, 0x10000, CRC(e024aa33) SHA1(d734be240cd05031aaadf9735c0b1b00e8e6d4cb) )
1743 	ROM_LOAD( "opr-12885.b2", 0x10000, 0x10000, CRC(8041b814) SHA1(29fa49ba9a73eed07865a86ea774e2c6a60aed5b) )
1744 	ROM_LOAD( "opr-12886.b3", 0x20000, 0x10000, CRC(de32285e) SHA1(8994dc128d6a23763e5fcfca1868b336d4aa0a21) )
1745 
1746 	ROM_REGION16_BE( 0x20000, "sprites", 0 ) // sprites
1747 	ROM_LOAD16_BYTE( "opr-12891.a11", 0x00000, 0x10000, CRC(90d31a8c) SHA1(1747652a5109ce65add197cf06535f2463a99fdc) )
1748 	ROM_LOAD16_BYTE( "opr-12887.b11", 0x00001, 0x10000, CRC(f0c0f49d) SHA1(7ecd591265165f3149241e2ceb5059faab88360f) )
1749 
1750 	ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
1751 	ROM_LOAD( "epr-12888.a4", 0x000000, 0x20000, CRC(6f2fc63c) SHA1(3cce22c8f80013f05b5a2d36c42a61a81e4d6cbd) )
1752 ROM_END
1753 
1754 /**************************************************************************************************************************
1755  **************************************************************************************************************************
1756  **************************************************************************************************************************
1757     Clutch Hitter, Sega System 18
1758     CPU: FD1094 (317-0176)
1759     ROM Board: 171-5873B
1760 
1761     game No. 833-7916-01 CLUTCH HITTER
1762     ROM  No. 834-7917-01
1763 */
1764 ROM_START( cltchitr )
1765 	ROM_REGION( 0x100000, "maincpu", 0 ) // 68000 code
1766 	ROM_LOAD16_BYTE( "epr-13794.a4", 0x00000, 0x40000, CRC(c8d80233) SHA1(69cdbb989f580abbb006820347becf8d233fa773) )
1767 	ROM_LOAD16_BYTE( "epr-13795.a6", 0x00001, 0x40000, CRC(b0b60b67) SHA1(ee3325ddb7461008f556c1696157a766225b9ef5) )
1768 	ROM_LOAD16_BYTE( "epr-13784.a5", 0x80000, 0x40000, CRC(80c8180d) SHA1(80e72ab7d97714009fd31b3d50176af84b0dcdb7) )
1769 	ROM_LOAD16_BYTE( "epr-13786.a7", 0x80001, 0x40000, CRC(3095dac0) SHA1(20edce74b6f2a82a3865613e601a0e212615d0e4) )
1770 
1771 	ROM_REGION( 0x2000, "maincpu:key", 0 )  // decryption key
1772 	ROM_LOAD( "317-0176.key", 0x0000, 0x2000, CRC(9b072430) SHA1(3bc1c7a6d71b4351a42d85e68e70715a7659c096) )
1773 
1774 	ROM_REGION( 0x180000, "gfx1", 0 ) // tiles
1775 	ROM_LOAD( "mpr-13773.c1",  0x000000, 0x80000, CRC(3fc600e5) SHA1(8bec4ecf6a4e4b38d13133960036a5a4800a668e) )
1776 	ROM_LOAD( "mpr-13774.c2",  0x080000, 0x80000, CRC(2411a824) SHA1(0e383ccc4e0830ffb395d5102e2950610c147007) )
1777 	ROM_LOAD( "mpr-13775.c3",  0x100000, 0x80000, CRC(cf527bf6) SHA1(1f9cf1f0e92709f0465dc97ebbdaa715a419f7a7) )
1778 
1779 	ROM_REGION16_BE( 0x600000, "sprites", 0 ) // sprites
1780 	ROM_LOAD16_BYTE( "mpr-13779.c10", 0x000001, 0x80000, CRC(c707f416) SHA1(e6a9d89849f7f1c303a3ca29a629f81397945a2d) )
1781 	ROM_LOAD16_BYTE( "mpr-13787.a10", 0x000000, 0x80000, CRC(f05c68c6) SHA1(b6a0535b6c734a0c89fdb6506c32ffe6ab3aa8cd) )
1782 	ROM_LOAD16_BYTE( "mpr-13780.c11", 0x200001, 0x80000, CRC(a4c341e0) SHA1(15a0b5a42b56465a7b7df98968cc2ed177ce6f59) )
1783 	ROM_LOAD16_BYTE( "mpr-13788.a11", 0x200000, 0x80000, CRC(0106fea6) SHA1(e16e2a469ecbbc704021dee6264db30aa0898368) )
1784 	ROM_LOAD16_BYTE( "mpr-13781.c12", 0x400001, 0x80000, CRC(f33b13af) SHA1(d3eb64dcf12d532454bf3cd6c86528c0f11ee316) )
1785 	ROM_LOAD16_BYTE( "mpr-13789.a12", 0x400000, 0x80000, CRC(09ba8835) SHA1(72e83dd1793a7f4b2b881e71f262493e3d4992b3) )
1786 
1787 	ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
1788 	ROM_LOAD( "epr-13793.c7", 0x000000, 0x80000, CRC(a3d31944) SHA1(44d17aa0598eacfac4b12c8955fd1067ca09abbd) )
1789 	ROM_LOAD( "epr-13792.c6", 0x080000, 0x80000, CRC(808f9695) SHA1(d50677d20083ad56dbf0864db05f76f93a4e9eba) )
1790 	ROM_LOAD( "epr-13791.c5", 0x100000, 0x80000, CRC(35c16d80) SHA1(7ed04600748c5efb63e25f066daa163e9c0d8038) )
1791 ROM_END
1792 
1793 ROM_START( cltchitrd )
1794 	ROM_REGION( 0x100000, "maincpu", 0 ) // 68000 code
1795 	ROM_LOAD16_BYTE( "bootleg_epr-13794.a4", 0x00000, 0x40000, CRC(b15de2c5) SHA1(06bbd1de3429a9543ebe69895f2c485feaf54187) )
1796 	ROM_LOAD16_BYTE( "bootleg_epr-13795.a6", 0x00001, 0x40000, CRC(8fc7e524) SHA1(8c55cbb952e4b6aef51b9bd417f842284cb76663) )
1797 	ROM_LOAD16_BYTE( "epr-13784.a5", 0x80000, 0x40000, CRC(80c8180d) SHA1(80e72ab7d97714009fd31b3d50176af84b0dcdb7) )
1798 	ROM_LOAD16_BYTE( "epr-13786.a7", 0x80001, 0x40000, CRC(3095dac0) SHA1(20edce74b6f2a82a3865613e601a0e212615d0e4) )
1799 
1800 	ROM_REGION( 0x180000, "gfx1", 0 ) // tiles
1801 	ROM_LOAD( "mpr-13773.c1",  0x000000, 0x80000, CRC(3fc600e5) SHA1(8bec4ecf6a4e4b38d13133960036a5a4800a668e) )
1802 	ROM_LOAD( "mpr-13774.c2",  0x080000, 0x80000, CRC(2411a824) SHA1(0e383ccc4e0830ffb395d5102e2950610c147007) )
1803 	ROM_LOAD( "mpr-13775.c3",  0x100000, 0x80000, CRC(cf527bf6) SHA1(1f9cf1f0e92709f0465dc97ebbdaa715a419f7a7) )
1804 
1805 	ROM_REGION16_BE( 0x600000, "sprites", 0 ) // sprites
1806 	ROM_LOAD16_BYTE( "mpr-13779.c10", 0x000001, 0x80000, CRC(c707f416) SHA1(e6a9d89849f7f1c303a3ca29a629f81397945a2d) )
1807 	ROM_LOAD16_BYTE( "mpr-13787.a10", 0x000000, 0x80000, CRC(f05c68c6) SHA1(b6a0535b6c734a0c89fdb6506c32ffe6ab3aa8cd) )
1808 	ROM_LOAD16_BYTE( "mpr-13780.c11", 0x200001, 0x80000, CRC(a4c341e0) SHA1(15a0b5a42b56465a7b7df98968cc2ed177ce6f59) )
1809 	ROM_LOAD16_BYTE( "mpr-13788.a11", 0x200000, 0x80000, CRC(0106fea6) SHA1(e16e2a469ecbbc704021dee6264db30aa0898368) )
1810 	ROM_LOAD16_BYTE( "mpr-13781.c12", 0x400001, 0x80000, CRC(f33b13af) SHA1(d3eb64dcf12d532454bf3cd6c86528c0f11ee316) )
1811 	ROM_LOAD16_BYTE( "mpr-13789.a12", 0x400000, 0x80000, CRC(09ba8835) SHA1(72e83dd1793a7f4b2b881e71f262493e3d4992b3) )
1812 
1813 	ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
1814 	ROM_LOAD( "epr-13793.c7", 0x000000, 0x80000, CRC(a3d31944) SHA1(44d17aa0598eacfac4b12c8955fd1067ca09abbd) )
1815 	ROM_LOAD( "epr-13792.c6", 0x080000, 0x80000, CRC(808f9695) SHA1(d50677d20083ad56dbf0864db05f76f93a4e9eba) )
1816 	ROM_LOAD( "epr-13791.c5", 0x100000, 0x80000, CRC(35c16d80) SHA1(7ed04600748c5efb63e25f066daa163e9c0d8038) )
1817 ROM_END
1818 
1819 /**************************************************************************************************************************
1820     Clutch Hitter, Sega System 18
1821     CPU: FD1094 (317-0175)
1822     ROM Board: 171-????
1823 */
1824 ROM_START( cltchitrj )
1825 	ROM_REGION( 0x100000, "maincpu", 0 ) // 68000 code
1826 	ROM_LOAD16_BYTE( "epr-13783.a4", 0x00000, 0x40000, CRC(e2a1d5af) SHA1(cb6710fe2093889d5d159eaf55a3bd95c6f2ef87) )
1827 	ROM_LOAD16_BYTE( "epr-13796.a6", 0x00001, 0x40000, CRC(06001c67) SHA1(3aa48631013e6dc55e4c1d222b465e6b41ece36b) )
1828 	ROM_LOAD16_BYTE( "epr-13785.a5", 0x80000, 0x40000, CRC(09714762) SHA1(c75c88b1c313e172fdb7f9a570d57be38f959b2b) )
1829 	ROM_LOAD16_BYTE( "epr-13797.a7", 0x80001, 0x40000, CRC(361ade9f) SHA1(a7fd48c55695fd322d0456ff7dc2d2b2bc3e561b) )
1830 
1831 	ROM_REGION( 0x2000, "maincpu:key", 0 )  // decryption key
1832 	ROM_LOAD( "317-0175.key", 0x0000, 0x2000, CRC(70d9d283) SHA1(ff309b2a221d9a03ccf301a208c76a7c2eaea790) )
1833 
1834 	ROM_REGION( 0x180000, "gfx1", 0 ) // tiles
1835 	ROM_LOAD( "mpr-13773.c1",  0x000000, 0x80000, CRC(3fc600e5) SHA1(8bec4ecf6a4e4b38d13133960036a5a4800a668e) )
1836 	ROM_LOAD( "mpr-13774.c2",  0x080000, 0x80000, CRC(2411a824) SHA1(0e383ccc4e0830ffb395d5102e2950610c147007) )
1837 	ROM_LOAD( "mpr-13775.c3",  0x100000, 0x80000, CRC(cf527bf6) SHA1(1f9cf1f0e92709f0465dc97ebbdaa715a419f7a7) )
1838 
1839 	ROM_REGION16_BE( 0x800000, "sprites", 0 ) // sprites
1840 	ROM_LOAD16_BYTE( "mpr-13779.c10", 0x000001, 0x80000, CRC(c707f416) SHA1(e6a9d89849f7f1c303a3ca29a629f81397945a2d) )
1841 	ROM_LOAD16_BYTE( "mpr-13787.a10", 0x000000, 0x80000, CRC(f05c68c6) SHA1(b6a0535b6c734a0c89fdb6506c32ffe6ab3aa8cd) )
1842 	ROM_LOAD16_BYTE( "mpr-13780.c11", 0x200001, 0x80000, CRC(a4c341e0) SHA1(15a0b5a42b56465a7b7df98968cc2ed177ce6f59) )
1843 	ROM_LOAD16_BYTE( "mpr-13788.a11", 0x200000, 0x80000, CRC(0106fea6) SHA1(e16e2a469ecbbc704021dee6264db30aa0898368) )
1844 	ROM_LOAD16_BYTE( "mpr-13781.c12", 0x400001, 0x80000, CRC(f33b13af) SHA1(d3eb64dcf12d532454bf3cd6c86528c0f11ee316) )
1845 	ROM_LOAD16_BYTE( "mpr-13789.a12", 0x400000, 0x80000, CRC(09ba8835) SHA1(72e83dd1793a7f4b2b881e71f262493e3d4992b3) )
1846 	// extra gfx ROMs??*/
1847 	ROM_LOAD16_BYTE( "epr-13782.c13", 0x600001, 0x40000, CRC(73790852) SHA1(891345cb8ce4b04bd293ee9bac9b1b9940d6bcb2) )
1848 	ROM_LOAD16_BYTE( "epr-13790.a13", 0x600000, 0x40000, CRC(23849101) SHA1(1aeb0fefb6688dfd841bd7d0b17ffdfce69f1dd9) )
1849 
1850 	ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
1851 	// another copy in different set is epr-13778.b7 - 9c54c038
1852 	ROM_LOAD( "epr-13778.c7", 0x000000, 0x20000, CRC(35e86146) SHA1(9be82165dc12d5f32ef26f37ea02b29e3621893f) )
1853 	ROM_LOAD( "epr-13777.c6", 0x080000, 0x80000, CRC(d1524782) SHA1(121c5804927ed686ea50d5d81d0226e041f50f6f) )
1854 	ROM_LOAD( "epr-13776.c5", 0x100000, 0x80000, CRC(282ac9fe) SHA1(4f54d93779c35c036d7c85fce6736df80f3bbe33) )
1855 ROM_END
1856 
1857 ROM_START( cltchitrjd )
1858 	ROM_REGION( 0x100000, "maincpu", 0 ) // 68000 code
1859 	ROM_LOAD16_BYTE( "bootleg_epr-13783.a4", 0x00000, 0x40000, CRC(dafd48af) SHA1(5be2d1f4c75426f3d41cbb43d63b1eceae8c3d57) )
1860 	ROM_LOAD16_BYTE( "bootleg_epr-13796.a6", 0x00001, 0x40000, CRC(219aae33) SHA1(2dc9c32cfd82abc9f4855459ea427f05a299d596) )
1861 	ROM_LOAD16_BYTE( "epr-13785.a5", 0x80000, 0x40000, CRC(09714762) SHA1(c75c88b1c313e172fdb7f9a570d57be38f959b2b) )
1862 	ROM_LOAD16_BYTE( "epr-13797.a7", 0x80001, 0x40000, CRC(361ade9f) SHA1(a7fd48c55695fd322d0456ff7dc2d2b2bc3e561b) )
1863 
1864 	ROM_REGION( 0x180000, "gfx1", 0 ) // tiles
1865 	ROM_LOAD( "mpr-13773.c1",  0x000000, 0x80000, CRC(3fc600e5) SHA1(8bec4ecf6a4e4b38d13133960036a5a4800a668e) )
1866 	ROM_LOAD( "mpr-13774.c2",  0x080000, 0x80000, CRC(2411a824) SHA1(0e383ccc4e0830ffb395d5102e2950610c147007) )
1867 	ROM_LOAD( "mpr-13775.c3",  0x100000, 0x80000, CRC(cf527bf6) SHA1(1f9cf1f0e92709f0465dc97ebbdaa715a419f7a7) )
1868 
1869 	ROM_REGION16_BE( 0x800000, "sprites", 0 ) // sprites
1870 	ROM_LOAD16_BYTE( "mpr-13779.c10", 0x000001, 0x80000, CRC(c707f416) SHA1(e6a9d89849f7f1c303a3ca29a629f81397945a2d) )
1871 	ROM_LOAD16_BYTE( "mpr-13787.a10", 0x000000, 0x80000, CRC(f05c68c6) SHA1(b6a0535b6c734a0c89fdb6506c32ffe6ab3aa8cd) )
1872 	ROM_LOAD16_BYTE( "mpr-13780.c11", 0x200001, 0x80000, CRC(a4c341e0) SHA1(15a0b5a42b56465a7b7df98968cc2ed177ce6f59) )
1873 	ROM_LOAD16_BYTE( "mpr-13788.a11", 0x200000, 0x80000, CRC(0106fea6) SHA1(e16e2a469ecbbc704021dee6264db30aa0898368) )
1874 	ROM_LOAD16_BYTE( "mpr-13781.c12", 0x400001, 0x80000, CRC(f33b13af) SHA1(d3eb64dcf12d532454bf3cd6c86528c0f11ee316) )
1875 	ROM_LOAD16_BYTE( "mpr-13789.a12", 0x400000, 0x80000, CRC(09ba8835) SHA1(72e83dd1793a7f4b2b881e71f262493e3d4992b3) )
1876 	// extra gfx ROMs??*/
1877 	ROM_LOAD16_BYTE( "epr-13782.c13", 0x600001, 0x40000, CRC(73790852) SHA1(891345cb8ce4b04bd293ee9bac9b1b9940d6bcb2) )
1878 	ROM_LOAD16_BYTE( "epr-13790.a13", 0x600000, 0x40000, CRC(23849101) SHA1(1aeb0fefb6688dfd841bd7d0b17ffdfce69f1dd9) )
1879 
1880 	ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
1881 	// another copy in different set is epr-13778.b7 - 9c54c038
1882 	ROM_LOAD( "epr-13778.c7", 0x000000, 0x20000, CRC(35e86146) SHA1(9be82165dc12d5f32ef26f37ea02b29e3621893f) )
1883 	ROM_LOAD( "epr-13777.c6", 0x080000, 0x80000, CRC(d1524782) SHA1(121c5804927ed686ea50d5d81d0226e041f50f6f) )
1884 	ROM_LOAD( "epr-13776.c5", 0x100000, 0x80000, CRC(282ac9fe) SHA1(4f54d93779c35c036d7c85fce6736df80f3bbe33) )
1885 ROM_END
1886 
1887 
1888 /**************************************************************************************************************************
1889  **************************************************************************************************************************
1890  **************************************************************************************************************************
1891     D.D. Crew, Sega System 18
1892     CPU: FD1094 (317-0190)
1893     ROM Board: 171-5873B
1894 */
1895 ROM_START( ddcrew )
1896 	ROM_REGION( 0x100000, "maincpu", 0 ) // 68000 code
1897 	ROM_LOAD16_BYTE( "epr-14160.a4", 0x00000, 0x40000, CRC(b9f897b7) SHA1(65cee6c8006f328eee648e144e11fa60b1433ff5) )
1898 	ROM_LOAD16_BYTE( "epr-14161.a6", 0x00001, 0x40000, CRC(bb03c1f0) SHA1(9e7fbd2cda448992c6cbf4b96078b57305def097) )
1899 	ROM_LOAD16_BYTE( "mpr-14139.a5", 0x80000, 0x40000, CRC(06c31531) SHA1(d084cb72bf83578b34e959bb60a0695faf4161f8) )
1900 	ROM_LOAD16_BYTE( "mpr-14141.a7", 0x80001, 0x40000, CRC(080a494b) SHA1(64522dccbf6ed856ab80aa185454183df87d7ae9) )
1901 
1902 	ROM_REGION( 0x2000, "maincpu:key", 0 ) // decryption key
1903 	ROM_LOAD( "317-0190.key", 0x0000, 0x2000, CRC(2d502b11) SHA1(c4e94da59b0e15a5a302ebe88988d1657e7e9814 ) )
1904 
1905 	ROM_REGION( 0xc0000, "gfx1", 0 ) // tiles
1906 	ROM_LOAD( "epr-14127.c1", 0x00000, 0x40000, CRC(2228cd88) SHA1(5774bb6a401c3da05c5f3c9d3996b20bb3713cb2) )
1907 	ROM_LOAD( "epr-14128.c2", 0x40000, 0x40000, CRC(edba8e10) SHA1(25a2833ead4ca363802ddc2eb97c40976502921a) )
1908 	ROM_LOAD( "epr-14129.c3", 0x80000, 0x40000, CRC(e8ecc305) SHA1(a26d0c5c7826cd315f8b2c27e5a503a2a7b535c4) )
1909 
1910 	ROM_REGION16_BE( 0x800000, "sprites", 0 ) // sprites
1911 	ROM_LOAD16_BYTE( "mpr-14134.c10", 0x000001, 0x80000, CRC(4fda6a4b) SHA1(a9e582e494ab967e8f3ccf4d5844bb8ef889928c) )
1912 	ROM_LOAD16_BYTE( "mpr-14142.a10", 0x000000, 0x80000, CRC(3cbf1f2a) SHA1(80b6b006936740087786acd538e28aca85fa6894) )
1913 	ROM_LOAD16_BYTE( "mpr-14135.c11", 0x200001, 0x80000, CRC(e9c74876) SHA1(aff9d071e77f01c6937188bf67be38fa898343e6) )
1914 	ROM_LOAD16_BYTE( "mpr-14143.a11", 0x200000, 0x80000, CRC(59022c31) SHA1(5e1409fe0f29284dc6a3ffacf69b761aae09f132) )
1915 	ROM_LOAD16_BYTE( "mpr-14136.c12", 0x400001, 0x80000, CRC(720d9858) SHA1(8ebcb8b3e9555ca48b28908d47dcbbd654398b6f) )
1916 	ROM_LOAD16_BYTE( "mpr-14144.a12", 0x400000, 0x80000, CRC(7775fdd4) SHA1(a03cac039b400b651a4bf2167a8f2338f488ce26) )
1917 	ROM_LOAD16_BYTE( "epr-14137.c13", 0x600001, 0x80000, CRC(846c4265) SHA1(58d0c213d085fb4dee18b7aefb05087d9d522950) )
1918 	ROM_LOAD16_BYTE( "epr-14145.a13", 0x600000, 0x80000, CRC(0e76c797) SHA1(9a44dc948e84e5acac36e80105c2349ee78e6cfa) )
1919 
1920 	ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
1921 	ROM_LOAD( "epr-14133.c7", 0x000000, 0x20000, CRC(cff96665) SHA1(b4dc7f1a03415ebebdb99a82ae89328c345e7678) )
1922 	ROM_LOAD( "mpr-14132.c6", 0x080000, 0x80000, CRC(1fae0220) SHA1(8414c74318ea915816c6b67801ac7c8c3fc905f9) )
1923 	ROM_LOAD( "mpr-14131.c5", 0x100000, 0x80000, CRC(be5a7d0b) SHA1(c2c598b0cf711273fdd568f3401375e9772c1d61) )
1924 	ROM_LOAD( "epr-14130.c4", 0x180000, 0x80000, CRC(948f34a1) SHA1(d4c6728d5eea06cee6ac15a34ec8cccb4cc4b982) )
1925 ROM_END
1926 
1927 ROM_START( ddcrewd )
1928 	ROM_REGION( 0x100000, "maincpu", 0 ) // 68000 code
1929 	ROM_LOAD16_BYTE( "bootleg_epr-14160.a4", 0x00000, 0x40000, CRC(22a6c8e3) SHA1(a4ed9b776b1c61fb6ac158534084152b364d214d) )
1930 	ROM_LOAD16_BYTE( "bootleg_epr-14161.a6", 0x00001, 0x40000, CRC(d9eaba00) SHA1(39d88d7ea22dce3456185aa2c4f2440c798a42d8) )
1931 	ROM_LOAD16_BYTE( "mpr-14139.a5", 0x80000, 0x40000, CRC(06c31531) SHA1(d084cb72bf83578b34e959bb60a0695faf4161f8) )
1932 	ROM_LOAD16_BYTE( "mpr-14141.a7", 0x80001, 0x40000, CRC(080a494b) SHA1(64522dccbf6ed856ab80aa185454183df87d7ae9) )
1933 
1934 	ROM_REGION( 0xc0000, "gfx1", 0 ) // tiles
1935 	ROM_LOAD( "epr-14127.c1", 0x00000, 0x40000, CRC(2228cd88) SHA1(5774bb6a401c3da05c5f3c9d3996b20bb3713cb2) )
1936 	ROM_LOAD( "epr-14128.c2", 0x40000, 0x40000, CRC(edba8e10) SHA1(25a2833ead4ca363802ddc2eb97c40976502921a) )
1937 	ROM_LOAD( "epr-14129.c3", 0x80000, 0x40000, CRC(e8ecc305) SHA1(a26d0c5c7826cd315f8b2c27e5a503a2a7b535c4) )
1938 
1939 	ROM_REGION16_BE( 0x800000, "sprites", 0 ) // sprites
1940 	ROM_LOAD16_BYTE( "mpr-14134.c10", 0x000001, 0x80000, CRC(4fda6a4b) SHA1(a9e582e494ab967e8f3ccf4d5844bb8ef889928c) )
1941 	ROM_LOAD16_BYTE( "mpr-14142.a10", 0x000000, 0x80000, CRC(3cbf1f2a) SHA1(80b6b006936740087786acd538e28aca85fa6894) )
1942 	ROM_LOAD16_BYTE( "mpr-14135.c11", 0x200001, 0x80000, CRC(e9c74876) SHA1(aff9d071e77f01c6937188bf67be38fa898343e6) )
1943 	ROM_LOAD16_BYTE( "mpr-14143.a11", 0x200000, 0x80000, CRC(59022c31) SHA1(5e1409fe0f29284dc6a3ffacf69b761aae09f132) )
1944 	ROM_LOAD16_BYTE( "mpr-14136.c12", 0x400001, 0x80000, CRC(720d9858) SHA1(8ebcb8b3e9555ca48b28908d47dcbbd654398b6f) )
1945 	ROM_LOAD16_BYTE( "mpr-14144.a12", 0x400000, 0x80000, CRC(7775fdd4) SHA1(a03cac039b400b651a4bf2167a8f2338f488ce26) )
1946 	ROM_LOAD16_BYTE( "epr-14137.c13", 0x600001, 0x80000, CRC(846c4265) SHA1(58d0c213d085fb4dee18b7aefb05087d9d522950) )
1947 	ROM_LOAD16_BYTE( "epr-14145.a13", 0x600000, 0x80000, CRC(0e76c797) SHA1(9a44dc948e84e5acac36e80105c2349ee78e6cfa) )
1948 
1949 	ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
1950 	ROM_LOAD( "epr-14133.c7", 0x000000, 0x20000, CRC(cff96665) SHA1(b4dc7f1a03415ebebdb99a82ae89328c345e7678) )
1951 	ROM_LOAD( "mpr-14132.c6", 0x080000, 0x80000, CRC(1fae0220) SHA1(8414c74318ea915816c6b67801ac7c8c3fc905f9) )
1952 	ROM_LOAD( "mpr-14131.c5", 0x100000, 0x80000, CRC(be5a7d0b) SHA1(c2c598b0cf711273fdd568f3401375e9772c1d61) )
1953 	ROM_LOAD( "epr-14130.c4", 0x180000, 0x80000, CRC(948f34a1) SHA1(d4c6728d5eea06cee6ac15a34ec8cccb4cc4b982) )
1954 ROM_END
1955 
1956 /**************************************************************************************************************************
1957     D.D. Crew, Sega System 18
1958     CPU: FD1094 (317-0186)
1959     ROM Board: 171-5873B
1960 */
1961 ROM_START( ddcrewu )
1962 	ROM_REGION( 0x100000, "maincpu", 0 ) // 68000 code
1963 	ROM_LOAD16_BYTE( "epr-14152.a4", 0x00000, 0x40000, CRC(69c7b571) SHA1(9fe4815a1cff0a46a754a6bdee12abaf7beb6501) )
1964 	ROM_LOAD16_BYTE( "epr-14153.a6", 0x00001, 0x40000, CRC(e01fae0c) SHA1(7166f955324f73e94d8ae6d2a5b2f4b497e62933) )
1965 	ROM_LOAD16_BYTE( "mpr-14139.a5", 0x80000, 0x40000, CRC(06c31531) SHA1(d084cb72bf83578b34e959bb60a0695faf4161f8) )
1966 	ROM_LOAD16_BYTE( "mpr-14141.a7", 0x80001, 0x40000, CRC(080a494b) SHA1(64522dccbf6ed856ab80aa185454183df87d7ae9) )
1967 
1968 	ROM_REGION( 0x2000, "maincpu:key", 0 )  // decryption key
1969 	ROM_LOAD( "317-0186.key", 0x0000, 0x2000, CRC(7acaf1fd) SHA1(236d6382072adda8f7907d98d428fcca36700fa0) )
1970 
1971 	ROM_REGION( 0xc0000, "gfx1", 0 ) // tiles
1972 	ROM_LOAD( "epr-14127.c1", 0x00000, 0x40000, CRC(2228cd88) SHA1(5774bb6a401c3da05c5f3c9d3996b20bb3713cb2) )
1973 	ROM_LOAD( "epr-14128.c2", 0x40000, 0x40000, CRC(edba8e10) SHA1(25a2833ead4ca363802ddc2eb97c40976502921a) )
1974 	ROM_LOAD( "epr-14129.c3", 0x80000, 0x40000, CRC(e8ecc305) SHA1(a26d0c5c7826cd315f8b2c27e5a503a2a7b535c4) )
1975 
1976 	ROM_REGION16_BE( 0x800000, "sprites", 0 ) // sprites
1977 	ROM_LOAD16_BYTE( "mpr-14134.c10", 0x000001, 0x80000, CRC(4fda6a4b) SHA1(a9e582e494ab967e8f3ccf4d5844bb8ef889928c) )
1978 	ROM_LOAD16_BYTE( "mpr-14142.a10", 0x000000, 0x80000, CRC(3cbf1f2a) SHA1(80b6b006936740087786acd538e28aca85fa6894) )
1979 	ROM_LOAD16_BYTE( "mpr-14135.c11", 0x200001, 0x80000, CRC(e9c74876) SHA1(aff9d071e77f01c6937188bf67be38fa898343e6) )
1980 	ROM_LOAD16_BYTE( "mpr-14143.a11", 0x200000, 0x80000, CRC(59022c31) SHA1(5e1409fe0f29284dc6a3ffacf69b761aae09f132) )
1981 	ROM_LOAD16_BYTE( "mpr-14136.c12", 0x400001, 0x80000, CRC(720d9858) SHA1(8ebcb8b3e9555ca48b28908d47dcbbd654398b6f) )
1982 	ROM_LOAD16_BYTE( "mpr-14144.a12", 0x400000, 0x80000, CRC(7775fdd4) SHA1(a03cac039b400b651a4bf2167a8f2338f488ce26) )
1983 	ROM_LOAD16_BYTE( "epr-14137.c13", 0x600001, 0x80000, CRC(846c4265) SHA1(58d0c213d085fb4dee18b7aefb05087d9d522950) )
1984 	ROM_LOAD16_BYTE( "epr-14145.a13", 0x600000, 0x80000, CRC(0e76c797) SHA1(9a44dc948e84e5acac36e80105c2349ee78e6cfa) )
1985 
1986 	ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
1987 	ROM_LOAD( "epr-14133.c7", 0x000000, 0x20000, CRC(cff96665) SHA1(b4dc7f1a03415ebebdb99a82ae89328c345e7678) )
1988 	ROM_LOAD( "mpr-14132.c6", 0x080000, 0x80000, CRC(1fae0220) SHA1(8414c74318ea915816c6b67801ac7c8c3fc905f9) )
1989 	ROM_LOAD( "mpr-14131.c5", 0x100000, 0x80000, CRC(be5a7d0b) SHA1(c2c598b0cf711273fdd568f3401375e9772c1d61) )
1990 	ROM_LOAD( "epr-14130.c4", 0x180000, 0x80000, CRC(948f34a1) SHA1(d4c6728d5eea06cee6ac15a34ec8cccb4cc4b982) )
1991 ROM_END
1992 
1993 ROM_START( ddcrewud )
1994 	ROM_REGION( 0x100000, "maincpu", 0 ) // 68000 code
1995 	ROM_LOAD16_BYTE( "bootleg_epr-14152.a4", 0x00000, 0x40000, CRC(41b782d0) SHA1(b84ebbe65b9b2aed0599a3309ff5afbdd40e3c13) )
1996 	ROM_LOAD16_BYTE( "bootleg_epr-14153.a6", 0x00001, 0x40000, CRC(48070486) SHA1(2cac94337eff256b05d614a960dc2c9cd707fe28) )
1997 	ROM_LOAD16_BYTE( "mpr-14139.a5", 0x80000, 0x40000, CRC(06c31531) SHA1(d084cb72bf83578b34e959bb60a0695faf4161f8) )
1998 	ROM_LOAD16_BYTE( "mpr-14141.a7", 0x80001, 0x40000, CRC(080a494b) SHA1(64522dccbf6ed856ab80aa185454183df87d7ae9) )
1999 
2000 	ROM_REGION( 0xc0000, "gfx1", 0 ) // tiles
2001 	ROM_LOAD( "epr-14127.c1", 0x00000, 0x40000, CRC(2228cd88) SHA1(5774bb6a401c3da05c5f3c9d3996b20bb3713cb2) )
2002 	ROM_LOAD( "epr-14128.c2", 0x40000, 0x40000, CRC(edba8e10) SHA1(25a2833ead4ca363802ddc2eb97c40976502921a) )
2003 	ROM_LOAD( "epr-14129.c3", 0x80000, 0x40000, CRC(e8ecc305) SHA1(a26d0c5c7826cd315f8b2c27e5a503a2a7b535c4) )
2004 
2005 	ROM_REGION16_BE( 0x800000, "sprites", 0 ) // sprites
2006 	ROM_LOAD16_BYTE( "mpr-14134.c10", 0x000001, 0x80000, CRC(4fda6a4b) SHA1(a9e582e494ab967e8f3ccf4d5844bb8ef889928c) )
2007 	ROM_LOAD16_BYTE( "mpr-14142.a10", 0x000000, 0x80000, CRC(3cbf1f2a) SHA1(80b6b006936740087786acd538e28aca85fa6894) )
2008 	ROM_LOAD16_BYTE( "mpr-14135.c11", 0x200001, 0x80000, CRC(e9c74876) SHA1(aff9d071e77f01c6937188bf67be38fa898343e6) )
2009 	ROM_LOAD16_BYTE( "mpr-14143.a11", 0x200000, 0x80000, CRC(59022c31) SHA1(5e1409fe0f29284dc6a3ffacf69b761aae09f132) )
2010 	ROM_LOAD16_BYTE( "mpr-14136.c12", 0x400001, 0x80000, CRC(720d9858) SHA1(8ebcb8b3e9555ca48b28908d47dcbbd654398b6f) )
2011 	ROM_LOAD16_BYTE( "mpr-14144.a12", 0x400000, 0x80000, CRC(7775fdd4) SHA1(a03cac039b400b651a4bf2167a8f2338f488ce26) )
2012 	ROM_LOAD16_BYTE( "epr-14137.c13", 0x600001, 0x80000, CRC(846c4265) SHA1(58d0c213d085fb4dee18b7aefb05087d9d522950) )
2013 	ROM_LOAD16_BYTE( "epr-14145.a13", 0x600000, 0x80000, CRC(0e76c797) SHA1(9a44dc948e84e5acac36e80105c2349ee78e6cfa) )
2014 
2015 	ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
2016 	ROM_LOAD( "epr-14133.c7", 0x000000, 0x20000, CRC(cff96665) SHA1(b4dc7f1a03415ebebdb99a82ae89328c345e7678) )
2017 	ROM_LOAD( "mpr-14132.c6", 0x080000, 0x80000, CRC(1fae0220) SHA1(8414c74318ea915816c6b67801ac7c8c3fc905f9) )
2018 	ROM_LOAD( "mpr-14131.c5", 0x100000, 0x80000, CRC(be5a7d0b) SHA1(c2c598b0cf711273fdd568f3401375e9772c1d61) )
2019 	ROM_LOAD( "epr-14130.c4", 0x180000, 0x80000, CRC(948f34a1) SHA1(d4c6728d5eea06cee6ac15a34ec8cccb4cc4b982) )
2020 ROM_END
2021 
2022 /**************************************************************************************************************************
2023     D.D. Crew, Sega System 18
2024     CPU: FD1094 (317-0184)
2025     ROM Board: 171-5873B
2026 */
2027 ROM_START( ddcrew2 )
2028 	ROM_REGION( 0x100000, "maincpu", 0 ) // 68000 code
2029 	ROM_LOAD16_BYTE( "epr-14148.a4", 0x00000, 0x40000, CRC(df4cb0cf) SHA1(153993997e9ceb06a9d4c73794ea66d0c585a291) )
2030 	ROM_LOAD16_BYTE( "epr-14149.a6", 0x00001, 0x40000, CRC(380ff818) SHA1(7c7dd7aa825665f1a9aaebb5af4ecf5dd109b0ca) )
2031 	ROM_LOAD16_BYTE( "mpr-14139.a5", 0x80000, 0x40000, CRC(06c31531) SHA1(d084cb72bf83578b34e959bb60a0695faf4161f8) )
2032 	ROM_LOAD16_BYTE( "mpr-14141.a7", 0x80001, 0x40000, CRC(080a494b) SHA1(64522dccbf6ed856ab80aa185454183df87d7ae9) )
2033 
2034 	ROM_REGION( 0x2000, "maincpu:key", 0 ) // decryption key
2035 	ROM_LOAD( "317-0184.key", 0x0000, 0x2000, CRC(cee06254) SHA1(d64903055fdefb49c584cbcd84f0d4fa811bd789) )
2036 
2037 	ROM_REGION( 0xc0000, "gfx1", 0 ) // tiles
2038 	ROM_LOAD( "epr-14127.c1", 0x00000, 0x40000, CRC(2228cd88) SHA1(5774bb6a401c3da05c5f3c9d3996b20bb3713cb2) )
2039 	ROM_LOAD( "epr-14128.c2", 0x40000, 0x40000, CRC(edba8e10) SHA1(25a2833ead4ca363802ddc2eb97c40976502921a) )
2040 	ROM_LOAD( "epr-14129.c3", 0x80000, 0x40000, CRC(e8ecc305) SHA1(a26d0c5c7826cd315f8b2c27e5a503a2a7b535c4) )
2041 
2042 	ROM_REGION16_BE( 0x800000, "sprites", 0 ) // sprites
2043 	ROM_LOAD16_BYTE( "mpr-14134.c10", 0x000001, 0x80000, CRC(4fda6a4b) SHA1(a9e582e494ab967e8f3ccf4d5844bb8ef889928c) )
2044 	ROM_LOAD16_BYTE( "mpr-14142.a10", 0x000000, 0x80000, CRC(3cbf1f2a) SHA1(80b6b006936740087786acd538e28aca85fa6894) )
2045 	ROM_LOAD16_BYTE( "mpr-14135.c11", 0x200001, 0x80000, CRC(e9c74876) SHA1(aff9d071e77f01c6937188bf67be38fa898343e6) )
2046 	ROM_LOAD16_BYTE( "mpr-14143.a11", 0x200000, 0x80000, CRC(59022c31) SHA1(5e1409fe0f29284dc6a3ffacf69b761aae09f132) )
2047 	ROM_LOAD16_BYTE( "mpr-14136.c12", 0x400001, 0x80000, CRC(720d9858) SHA1(8ebcb8b3e9555ca48b28908d47dcbbd654398b6f) )
2048 	ROM_LOAD16_BYTE( "mpr-14144.a12", 0x400000, 0x80000, CRC(7775fdd4) SHA1(a03cac039b400b651a4bf2167a8f2338f488ce26) )
2049 	ROM_LOAD16_BYTE( "epr-14137.c13", 0x600001, 0x80000, CRC(846c4265) SHA1(58d0c213d085fb4dee18b7aefb05087d9d522950) )
2050 	ROM_LOAD16_BYTE( "epr-14145.a13", 0x600000, 0x80000, CRC(0e76c797) SHA1(9a44dc948e84e5acac36e80105c2349ee78e6cfa) )
2051 
2052 	ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
2053 	ROM_LOAD( "epr-14133.c7", 0x000000, 0x20000, CRC(cff96665) SHA1(b4dc7f1a03415ebebdb99a82ae89328c345e7678) )
2054 	ROM_LOAD( "mpr-14132.c6", 0x080000, 0x80000, CRC(1fae0220) SHA1(8414c74318ea915816c6b67801ac7c8c3fc905f9) )
2055 	ROM_LOAD( "mpr-14131.c5", 0x100000, 0x80000, CRC(be5a7d0b) SHA1(c2c598b0cf711273fdd568f3401375e9772c1d61) )
2056 	ROM_LOAD( "epr-14130.c4", 0x180000, 0x80000, CRC(948f34a1) SHA1(d4c6728d5eea06cee6ac15a34ec8cccb4cc4b982) )
2057 ROM_END
2058 
2059 ROM_START( ddcrew2d )
2060 	ROM_REGION( 0x100000, "maincpu", 0 ) // 68000 code
2061 	ROM_LOAD16_BYTE( "bootleg_epr-14148.a4", 0x00000, 0x40000, CRC(f3ddb3b9) SHA1(493ad0330362e7244927ee36587fab9634925ee1) )
2062 	ROM_LOAD16_BYTE( "bootleg_epr-14149.a6", 0x00001, 0x40000, CRC(98a83ee1) SHA1(33e37becccf63d6005e901d38418c003834e469f) )
2063 	ROM_LOAD16_BYTE( "mpr-14139.a5", 0x80000, 0x40000, CRC(06c31531) SHA1(d084cb72bf83578b34e959bb60a0695faf4161f8) )
2064 	ROM_LOAD16_BYTE( "mpr-14141.a7", 0x80001, 0x40000, CRC(080a494b) SHA1(64522dccbf6ed856ab80aa185454183df87d7ae9) )
2065 
2066 	ROM_REGION( 0xc0000, "gfx1", 0 ) // tiles
2067 	ROM_LOAD( "epr-14127.c1", 0x00000, 0x40000, CRC(2228cd88) SHA1(5774bb6a401c3da05c5f3c9d3996b20bb3713cb2) )
2068 	ROM_LOAD( "epr-14128.c2", 0x40000, 0x40000, CRC(edba8e10) SHA1(25a2833ead4ca363802ddc2eb97c40976502921a) )
2069 	ROM_LOAD( "epr-14129.c3", 0x80000, 0x40000, CRC(e8ecc305) SHA1(a26d0c5c7826cd315f8b2c27e5a503a2a7b535c4) )
2070 
2071 	ROM_REGION16_BE( 0x800000, "sprites", 0 ) // sprites
2072 	ROM_LOAD16_BYTE( "mpr-14134.c10", 0x000001, 0x80000, CRC(4fda6a4b) SHA1(a9e582e494ab967e8f3ccf4d5844bb8ef889928c) )
2073 	ROM_LOAD16_BYTE( "mpr-14142.a10", 0x000000, 0x80000, CRC(3cbf1f2a) SHA1(80b6b006936740087786acd538e28aca85fa6894) )
2074 	ROM_LOAD16_BYTE( "mpr-14135.c11", 0x200001, 0x80000, CRC(e9c74876) SHA1(aff9d071e77f01c6937188bf67be38fa898343e6) )
2075 	ROM_LOAD16_BYTE( "mpr-14143.a11", 0x200000, 0x80000, CRC(59022c31) SHA1(5e1409fe0f29284dc6a3ffacf69b761aae09f132) )
2076 	ROM_LOAD16_BYTE( "mpr-14136.c12", 0x400001, 0x80000, CRC(720d9858) SHA1(8ebcb8b3e9555ca48b28908d47dcbbd654398b6f) )
2077 	ROM_LOAD16_BYTE( "mpr-14144.a12", 0x400000, 0x80000, CRC(7775fdd4) SHA1(a03cac039b400b651a4bf2167a8f2338f488ce26) )
2078 	ROM_LOAD16_BYTE( "epr-14137.c13", 0x600001, 0x80000, CRC(846c4265) SHA1(58d0c213d085fb4dee18b7aefb05087d9d522950) )
2079 	ROM_LOAD16_BYTE( "epr-14145.a13", 0x600000, 0x80000, CRC(0e76c797) SHA1(9a44dc948e84e5acac36e80105c2349ee78e6cfa) )
2080 
2081 	ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
2082 	ROM_LOAD( "epr-14133.c7", 0x000000, 0x20000, CRC(cff96665) SHA1(b4dc7f1a03415ebebdb99a82ae89328c345e7678) )
2083 	ROM_LOAD( "mpr-14132.c6", 0x080000, 0x80000, CRC(1fae0220) SHA1(8414c74318ea915816c6b67801ac7c8c3fc905f9) )
2084 	ROM_LOAD( "mpr-14131.c5", 0x100000, 0x80000, CRC(be5a7d0b) SHA1(c2c598b0cf711273fdd568f3401375e9772c1d61) )
2085 	ROM_LOAD( "epr-14130.c4", 0x180000, 0x80000, CRC(948f34a1) SHA1(d4c6728d5eea06cee6ac15a34ec8cccb4cc4b982) )
2086 ROM_END
2087 
2088 
2089 /**************************************************************************************************************************
2090     D.D. Crew, Sega System 18
2091     CPU: FD1094 (317-0187)
2092     PCB Board: 171-5873-02B (833-8165-05)
2093     ROM Board : 171-5987A (834-8166-05)
2094 */
2095 ROM_START( ddcrew1 )
2096 	ROM_REGION( 0x100000, "maincpu", 0 ) // 68000 code
2097 	ROM_LOAD16_BYTE( "epr-14154.a4", 0x00000, 0x40000, CRC(9a0dadf0) SHA1(b55c8cdd3158607ec8203bfebc9e7aba24d6d565) )
2098 	ROM_LOAD16_BYTE( "epr-14155.a6", 0x00001, 0x40000, CRC(e74362f4) SHA1(a6f96d714baeb826221b712b996e99831cf25abf) )
2099 	ROM_LOAD16_BYTE( "mpr-14139.a5", 0x80000, 0x40000, CRC(06c31531) SHA1(d084cb72bf83578b34e959bb60a0695faf4161f8) )
2100 	ROM_LOAD16_BYTE( "mpr-14141.a7", 0x80001, 0x40000, CRC(080a494b) SHA1(64522dccbf6ed856ab80aa185454183df87d7ae9) )
2101 
2102 	ROM_REGION( 0x2000, "maincpu:key", 0 )  // decryption key
2103 	ROM_LOAD( "317-0187.key", 0x0000, 0x2000, CRC(1dfb60be) SHA1(7bd42a2e54fca574076e5ed164ab4e0cbb645a4f) )
2104 
2105 	ROM_REGION( 0xc0000, "gfx1", 0 ) // tiles
2106 	ROM_LOAD( "epr-14127.c1", 0x00000, 0x40000, CRC(2228cd88) SHA1(5774bb6a401c3da05c5f3c9d3996b20bb3713cb2) )
2107 	ROM_LOAD( "epr-14128.c2", 0x40000, 0x40000, CRC(edba8e10) SHA1(25a2833ead4ca363802ddc2eb97c40976502921a) )
2108 	ROM_LOAD( "epr-14129.c3", 0x80000, 0x40000, CRC(e8ecc305) SHA1(a26d0c5c7826cd315f8b2c27e5a503a2a7b535c4) )
2109 
2110 	ROM_REGION16_BE( 0x800000, "sprites", 0 ) // sprites
2111 	ROM_LOAD16_BYTE( "mpr-14134.c10", 0x000001, 0x80000, CRC(4fda6a4b) SHA1(a9e582e494ab967e8f3ccf4d5844bb8ef889928c) )
2112 	ROM_LOAD16_BYTE( "mpr-14142.a10", 0x000000, 0x80000, CRC(3cbf1f2a) SHA1(80b6b006936740087786acd538e28aca85fa6894) )
2113 	ROM_LOAD16_BYTE( "mpr-14135.c11", 0x200001, 0x80000, CRC(e9c74876) SHA1(aff9d071e77f01c6937188bf67be38fa898343e6) )
2114 	ROM_LOAD16_BYTE( "mpr-14143.a11", 0x200000, 0x80000, CRC(59022c31) SHA1(5e1409fe0f29284dc6a3ffacf69b761aae09f132) )
2115 	ROM_LOAD16_BYTE( "mpr-14136.c12", 0x400001, 0x80000, CRC(720d9858) SHA1(8ebcb8b3e9555ca48b28908d47dcbbd654398b6f) )
2116 	ROM_LOAD16_BYTE( "mpr-14144.a12", 0x400000, 0x80000, CRC(7775fdd4) SHA1(a03cac039b400b651a4bf2167a8f2338f488ce26) )
2117 	ROM_LOAD16_BYTE( "epr-14137.c13", 0x600001, 0x80000, CRC(846c4265) SHA1(58d0c213d085fb4dee18b7aefb05087d9d522950) )
2118 	ROM_LOAD16_BYTE( "epr-14145.a13", 0x600000, 0x80000, CRC(0e76c797) SHA1(9a44dc948e84e5acac36e80105c2349ee78e6cfa) )
2119 
2120 	ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
2121 	ROM_LOAD( "epr-14133.c7", 0x000000, 0x20000, CRC(cff96665) SHA1(b4dc7f1a03415ebebdb99a82ae89328c345e7678) )
2122 	ROM_LOAD( "mpr-14132.c6", 0x080000, 0x80000, CRC(1fae0220) SHA1(8414c74318ea915816c6b67801ac7c8c3fc905f9) )
2123 	ROM_LOAD( "mpr-14131.c5", 0x100000, 0x80000, CRC(be5a7d0b) SHA1(c2c598b0cf711273fdd568f3401375e9772c1d61) )
2124 	ROM_LOAD( "epr-14130.c4", 0x180000, 0x80000, CRC(948f34a1) SHA1(d4c6728d5eea06cee6ac15a34ec8cccb4cc4b982) )
2125 ROM_END
2126 
2127 ROM_START( ddcrew1d )
2128 	ROM_REGION( 0x100000, "maincpu", 0 ) // 68000 code
2129 	ROM_LOAD16_BYTE( "bootleg_epr-14154.a4", 0x00000, 0x40000, CRC(95749c77) SHA1(fdb924e0bb104326ba2e72e76b91d1fcc500aac0) )
2130 	ROM_LOAD16_BYTE( "bootleg_epr-14155.a6", 0x00001, 0x40000, CRC(bef3c932) SHA1(f74f114aedafdace6ec51c4d3fa80a1b411b1543) )
2131 	ROM_LOAD16_BYTE( "mpr-14139.a5", 0x80000, 0x40000, CRC(06c31531) SHA1(d084cb72bf83578b34e959bb60a0695faf4161f8) )
2132 	ROM_LOAD16_BYTE( "mpr-14141.a7", 0x80001, 0x40000, CRC(080a494b) SHA1(64522dccbf6ed856ab80aa185454183df87d7ae9) )
2133 
2134 	ROM_REGION( 0xc0000, "gfx1", 0 ) // tiles
2135 	ROM_LOAD( "epr-14127.c1", 0x00000, 0x40000, CRC(2228cd88) SHA1(5774bb6a401c3da05c5f3c9d3996b20bb3713cb2) )
2136 	ROM_LOAD( "epr-14128.c2", 0x40000, 0x40000, CRC(edba8e10) SHA1(25a2833ead4ca363802ddc2eb97c40976502921a) )
2137 	ROM_LOAD( "epr-14129.c3", 0x80000, 0x40000, CRC(e8ecc305) SHA1(a26d0c5c7826cd315f8b2c27e5a503a2a7b535c4) )
2138 
2139 	ROM_REGION16_BE( 0x800000, "sprites", 0 ) // sprites
2140 	ROM_LOAD16_BYTE( "mpr-14134.c10", 0x000001, 0x80000, CRC(4fda6a4b) SHA1(a9e582e494ab967e8f3ccf4d5844bb8ef889928c) )
2141 	ROM_LOAD16_BYTE( "mpr-14142.a10", 0x000000, 0x80000, CRC(3cbf1f2a) SHA1(80b6b006936740087786acd538e28aca85fa6894) )
2142 	ROM_LOAD16_BYTE( "mpr-14135.c11", 0x200001, 0x80000, CRC(e9c74876) SHA1(aff9d071e77f01c6937188bf67be38fa898343e6) )
2143 	ROM_LOAD16_BYTE( "mpr-14143.a11", 0x200000, 0x80000, CRC(59022c31) SHA1(5e1409fe0f29284dc6a3ffacf69b761aae09f132) )
2144 	ROM_LOAD16_BYTE( "mpr-14136.c12", 0x400001, 0x80000, CRC(720d9858) SHA1(8ebcb8b3e9555ca48b28908d47dcbbd654398b6f) )
2145 	ROM_LOAD16_BYTE( "mpr-14144.a12", 0x400000, 0x80000, CRC(7775fdd4) SHA1(a03cac039b400b651a4bf2167a8f2338f488ce26) )
2146 	ROM_LOAD16_BYTE( "epr-14137.c13", 0x600001, 0x80000, CRC(846c4265) SHA1(58d0c213d085fb4dee18b7aefb05087d9d522950) )
2147 	ROM_LOAD16_BYTE( "epr-14145.a13", 0x600000, 0x80000, CRC(0e76c797) SHA1(9a44dc948e84e5acac36e80105c2349ee78e6cfa) )
2148 
2149 	ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
2150 	ROM_LOAD( "epr-14133.c7", 0x000000, 0x20000, CRC(cff96665) SHA1(b4dc7f1a03415ebebdb99a82ae89328c345e7678) )
2151 	ROM_LOAD( "mpr-14132.c6", 0x080000, 0x80000, CRC(1fae0220) SHA1(8414c74318ea915816c6b67801ac7c8c3fc905f9) )
2152 	ROM_LOAD( "mpr-14131.c5", 0x100000, 0x80000, CRC(be5a7d0b) SHA1(c2c598b0cf711273fdd568f3401375e9772c1d61) )
2153 	ROM_LOAD( "epr-14130.c4", 0x180000, 0x80000, CRC(948f34a1) SHA1(d4c6728d5eea06cee6ac15a34ec8cccb4cc4b982) )
2154 ROM_END
2155 
2156 
2157 /**************************************************************************************************************************
2158     D.D. Crew, Sega System 18
2159     CPU: FD1094 (317-0185)
2160     ROM Board: 171-5873B (834-8166-03)
2161 */
2162 ROM_START( ddcrewj )
2163 	ROM_REGION( 0x100000, "maincpu", 0 ) // 68000 code
2164 	ROM_LOAD16_BYTE( "epr-14150.a4", 0x00000, 0x40000, CRC(fc866b19) SHA1(1e59d23c25ac5e34c8982cb21e09d52cccc7aca7) )
2165 	ROM_LOAD16_BYTE( "epr-14151.a6", 0x00001, 0x40000, CRC(46d23fe4) SHA1(926136db7a7d6d3bcdc552156e8cb4cb4224c2e5) )
2166 	ROM_LOAD16_BYTE( "mpr-14139.a5", 0x80000, 0x40000, CRC(06c31531) SHA1(d084cb72bf83578b34e959bb60a0695faf4161f8) )
2167 	ROM_LOAD16_BYTE( "mpr-14141.a7", 0x80001, 0x40000, CRC(080a494b) SHA1(64522dccbf6ed856ab80aa185454183df87d7ae9) )
2168 
2169 	ROM_REGION( 0x2000, "maincpu:key", 0 )  // decryption key
2170 	ROM_LOAD( "317-0185.key", 0x0000, 0x2000, CRC(a650b506) SHA1(05ab361114f26576d69c3477943b42f7957fb879) )
2171 
2172 	ROM_REGION( 0xc0000, "gfx1", 0 ) // tiles
2173 	ROM_LOAD( "epr-14127.c1", 0x00000, 0x40000, CRC(2228cd88) SHA1(5774bb6a401c3da05c5f3c9d3996b20bb3713cb2) )
2174 	ROM_LOAD( "epr-14128.c2", 0x40000, 0x40000, CRC(edba8e10) SHA1(25a2833ead4ca363802ddc2eb97c40976502921a) )
2175 	ROM_LOAD( "epr-14129.c3", 0x80000, 0x40000, CRC(e8ecc305) SHA1(a26d0c5c7826cd315f8b2c27e5a503a2a7b535c4) )
2176 
2177 	ROM_REGION16_BE( 0x800000, "sprites", 0 ) // sprites
2178 	ROM_LOAD16_BYTE( "mpr-14134.c10", 0x000001, 0x80000, CRC(4fda6a4b) SHA1(a9e582e494ab967e8f3ccf4d5844bb8ef889928c) )
2179 	ROM_LOAD16_BYTE( "mpr-14142.a10", 0x000000, 0x80000, CRC(3cbf1f2a) SHA1(80b6b006936740087786acd538e28aca85fa6894) )
2180 	ROM_LOAD16_BYTE( "mpr-14135.c11", 0x200001, 0x80000, CRC(e9c74876) SHA1(aff9d071e77f01c6937188bf67be38fa898343e6) )
2181 	ROM_LOAD16_BYTE( "mpr-14143.a11", 0x200000, 0x80000, CRC(59022c31) SHA1(5e1409fe0f29284dc6a3ffacf69b761aae09f132) )
2182 	ROM_LOAD16_BYTE( "mpr-14136.c12", 0x400001, 0x80000, CRC(720d9858) SHA1(8ebcb8b3e9555ca48b28908d47dcbbd654398b6f) )
2183 	ROM_LOAD16_BYTE( "mpr-14144.a12", 0x400000, 0x80000, CRC(7775fdd4) SHA1(a03cac039b400b651a4bf2167a8f2338f488ce26) )
2184 	ROM_LOAD16_BYTE( "epr-14137.c13", 0x600001, 0x80000, CRC(846c4265) SHA1(58d0c213d085fb4dee18b7aefb05087d9d522950) )
2185 	ROM_LOAD16_BYTE( "epr-14145.a13", 0x600000, 0x80000, CRC(0e76c797) SHA1(9a44dc948e84e5acac36e80105c2349ee78e6cfa) )
2186 
2187 	ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
2188 	ROM_LOAD( "epr-14133.c7", 0x000000, 0x20000, CRC(cff96665) SHA1(b4dc7f1a03415ebebdb99a82ae89328c345e7678) )
2189 	ROM_LOAD( "mpr-14132.c6", 0x080000, 0x80000, CRC(1fae0220) SHA1(8414c74318ea915816c6b67801ac7c8c3fc905f9) )
2190 	ROM_LOAD( "mpr-14131.c5", 0x100000, 0x80000, CRC(be5a7d0b) SHA1(c2c598b0cf711273fdd568f3401375e9772c1d61) )
2191 	ROM_LOAD( "epr-14130.c4", 0x180000, 0x80000, CRC(948f34a1) SHA1(d4c6728d5eea06cee6ac15a34ec8cccb4cc4b982) )
2192 ROM_END
2193 
2194 
2195 ROM_START( ddcrewjd )
2196 	ROM_REGION( 0x100000, "maincpu", 0 ) // 68000 code
2197 	ROM_LOAD16_BYTE( "bootleg_epr-14150.a4", 0x00000, 0x40000, CRC(1f267de5) SHA1(24b5683c427ea8a56906d8246807e6be2ec8dbe6) )
2198 	ROM_LOAD16_BYTE( "bootleg_epr-14151.a6", 0x00001, 0x40000, CRC(35074062) SHA1(a9b657a550c652a62096d396f7eccf8a0888b482))
2199 	ROM_LOAD16_BYTE( "mpr-14139.a5", 0x80000, 0x40000, CRC(06c31531) SHA1(d084cb72bf83578b34e959bb60a0695faf4161f8) )
2200 	ROM_LOAD16_BYTE( "mpr-14141.a7", 0x80001, 0x40000, CRC(080a494b) SHA1(64522dccbf6ed856ab80aa185454183df87d7ae9) )
2201 
2202 	ROM_REGION( 0xc0000, "gfx1", 0 ) // tiles
2203 	ROM_LOAD( "epr-14127.c1", 0x00000, 0x40000, CRC(2228cd88) SHA1(5774bb6a401c3da05c5f3c9d3996b20bb3713cb2) )
2204 	ROM_LOAD( "epr-14128.c2", 0x40000, 0x40000, CRC(edba8e10) SHA1(25a2833ead4ca363802ddc2eb97c40976502921a) )
2205 	ROM_LOAD( "epr-14129.c3", 0x80000, 0x40000, CRC(e8ecc305) SHA1(a26d0c5c7826cd315f8b2c27e5a503a2a7b535c4) )
2206 
2207 	ROM_REGION16_BE( 0x800000, "sprites", 0 ) // sprites
2208 	ROM_LOAD16_BYTE( "mpr-14134.c10", 0x000001, 0x80000, CRC(4fda6a4b) SHA1(a9e582e494ab967e8f3ccf4d5844bb8ef889928c) )
2209 	ROM_LOAD16_BYTE( "mpr-14142.a10", 0x000000, 0x80000, CRC(3cbf1f2a) SHA1(80b6b006936740087786acd538e28aca85fa6894) )
2210 	ROM_LOAD16_BYTE( "mpr-14135.c11", 0x200001, 0x80000, CRC(e9c74876) SHA1(aff9d071e77f01c6937188bf67be38fa898343e6) )
2211 	ROM_LOAD16_BYTE( "mpr-14143.a11", 0x200000, 0x80000, CRC(59022c31) SHA1(5e1409fe0f29284dc6a3ffacf69b761aae09f132) )
2212 	ROM_LOAD16_BYTE( "mpr-14136.c12", 0x400001, 0x80000, CRC(720d9858) SHA1(8ebcb8b3e9555ca48b28908d47dcbbd654398b6f) )
2213 	ROM_LOAD16_BYTE( "mpr-14144.a12", 0x400000, 0x80000, CRC(7775fdd4) SHA1(a03cac039b400b651a4bf2167a8f2338f488ce26) )
2214 	ROM_LOAD16_BYTE( "epr-14137.c13", 0x600001, 0x80000, CRC(846c4265) SHA1(58d0c213d085fb4dee18b7aefb05087d9d522950) )
2215 	ROM_LOAD16_BYTE( "epr-14145.a13", 0x600000, 0x80000, CRC(0e76c797) SHA1(9a44dc948e84e5acac36e80105c2349ee78e6cfa) )
2216 
2217 	ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
2218 	ROM_LOAD( "epr-14133.c7", 0x000000, 0x20000, CRC(cff96665) SHA1(b4dc7f1a03415ebebdb99a82ae89328c345e7678) )
2219 	ROM_LOAD( "mpr-14132.c6", 0x080000, 0x80000, CRC(1fae0220) SHA1(8414c74318ea915816c6b67801ac7c8c3fc905f9) )
2220 	ROM_LOAD( "mpr-14131.c5", 0x100000, 0x80000, CRC(be5a7d0b) SHA1(c2c598b0cf711273fdd568f3401375e9772c1d61) )
2221 	ROM_LOAD( "epr-14130.c4", 0x180000, 0x80000, CRC(948f34a1) SHA1(d4c6728d5eea06cee6ac15a34ec8cccb4cc4b982) )
2222 ROM_END
2223 
2224 /**************************************************************************************************************************
2225     D.D. Crew, Sega System 18
2226     CPU: FD1094 (317-0182 for 2P version, 317-0185 for 4P version, 317-0188 for 3P version)
2227     ROM Board: 171-5987A
2228     (4th Player on Sega System 18,24) I/O Board: 837-7968
2229 */
2230 ROM_START( ddcrewj2 )
2231 	ROM_REGION( 0x100000, "maincpu", 0 ) // 68000 code
2232 	ROM_LOAD16_BYTE( "epr-14138.a4", 0x00000, 0x40000, CRC(df280b1b) SHA1(581e8b6cbf3231d772de6b0e26b94541931215fd) )
2233 	ROM_LOAD16_BYTE( "epr-14140.a6", 0x00001, 0x40000, CRC(48f223ee) SHA1(5192b92d081829d2a4fcf2258675b24c94cfb4e5) )
2234 	ROM_LOAD16_BYTE( "mpr-14139.a5", 0x80000, 0x40000, CRC(06c31531) SHA1(d084cb72bf83578b34e959bb60a0695faf4161f8) )
2235 	ROM_LOAD16_BYTE( "mpr-14141.a7", 0x80001, 0x40000, CRC(080a494b) SHA1(64522dccbf6ed856ab80aa185454183df87d7ae9) )
2236 
2237 	ROM_REGION( 0x2000, "maincpu:key", 0 )  // decryption key
2238 	ROM_LOAD( "317-0182.key", 0x0000, 0x2000, CRC(2e8a3601) SHA1(8b6e10babfd2398c1669ba6bf9aad61cd02f23ba) )
2239 
2240 	ROM_REGION( 0xc0000, "gfx1", 0 ) // tiles
2241 	ROM_LOAD( "epr-14127.c1", 0x00000, 0x40000, CRC(2228cd88) SHA1(5774bb6a401c3da05c5f3c9d3996b20bb3713cb2) )
2242 	ROM_LOAD( "epr-14128.c2", 0x40000, 0x40000, CRC(edba8e10) SHA1(25a2833ead4ca363802ddc2eb97c40976502921a) )
2243 	ROM_LOAD( "epr-14129.c3", 0x80000, 0x40000, CRC(e8ecc305) SHA1(a26d0c5c7826cd315f8b2c27e5a503a2a7b535c4) )
2244 
2245 	ROM_REGION16_BE( 0x800000, "sprites", 0 ) // sprites
2246 	ROM_LOAD16_BYTE( "mpr-14134.c10", 0x000001, 0x80000, CRC(4fda6a4b) SHA1(a9e582e494ab967e8f3ccf4d5844bb8ef889928c) )
2247 	ROM_LOAD16_BYTE( "mpr-14142.a10", 0x000000, 0x80000, CRC(3cbf1f2a) SHA1(80b6b006936740087786acd538e28aca85fa6894) )
2248 	ROM_LOAD16_BYTE( "mpr-14135.c11", 0x200001, 0x80000, CRC(e9c74876) SHA1(aff9d071e77f01c6937188bf67be38fa898343e6) )
2249 	ROM_LOAD16_BYTE( "mpr-14143.a11", 0x200000, 0x80000, CRC(59022c31) SHA1(5e1409fe0f29284dc6a3ffacf69b761aae09f132) )
2250 	ROM_LOAD16_BYTE( "mpr-14136.c12", 0x400001, 0x80000, CRC(720d9858) SHA1(8ebcb8b3e9555ca48b28908d47dcbbd654398b6f) )
2251 	ROM_LOAD16_BYTE( "mpr-14144.a12", 0x400000, 0x80000, CRC(7775fdd4) SHA1(a03cac039b400b651a4bf2167a8f2338f488ce26) )
2252 	ROM_LOAD16_BYTE( "epr-14137.c13", 0x600001, 0x80000, CRC(846c4265) SHA1(58d0c213d085fb4dee18b7aefb05087d9d522950) )
2253 	ROM_LOAD16_BYTE( "epr-14145.a13", 0x600000, 0x80000, CRC(0e76c797) SHA1(9a44dc948e84e5acac36e80105c2349ee78e6cfa) )
2254 
2255 	ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
2256 	ROM_LOAD( "epr-14133.c7", 0x000000, 0x20000, CRC(cff96665) SHA1(b4dc7f1a03415ebebdb99a82ae89328c345e7678) )
2257 	ROM_LOAD( "mpr-14132.c6", 0x080000, 0x80000, CRC(1fae0220) SHA1(8414c74318ea915816c6b67801ac7c8c3fc905f9) )
2258 	ROM_LOAD( "mpr-14131.c5", 0x100000, 0x80000, CRC(be5a7d0b) SHA1(c2c598b0cf711273fdd568f3401375e9772c1d61) )
2259 	ROM_LOAD( "epr-14130.c4", 0x180000, 0x80000, CRC(948f34a1) SHA1(d4c6728d5eea06cee6ac15a34ec8cccb4cc4b982) )
2260 ROM_END
2261 
2262 ROM_START( ddcrewj2d )
2263 	ROM_REGION( 0x100000, "maincpu", 0 ) // 68000 code
2264 	ROM_LOAD16_BYTE( "bootleg_epr-14138.a4", 0x00000, 0x40000, CRC(1a586bb2) SHA1(897f7b73a5099752980fe81a190cfac959481c1e) )
2265 	ROM_LOAD16_BYTE( "bootleg_epr-14140.a6", 0x00001, 0x40000, CRC(43e030ae) SHA1(4c145709a726b2180801f65a0d68022ff6f0c619) )
2266 	ROM_LOAD16_BYTE( "mpr-14139.a5", 0x80000, 0x40000, CRC(06c31531) SHA1(d084cb72bf83578b34e959bb60a0695faf4161f8) )
2267 	ROM_LOAD16_BYTE( "mpr-14141.a7", 0x80001, 0x40000, CRC(080a494b) SHA1(64522dccbf6ed856ab80aa185454183df87d7ae9) )
2268 
2269 
2270 	ROM_REGION( 0xc0000, "gfx1", 0 ) // tiles
2271 	ROM_LOAD( "epr-14127.c1", 0x00000, 0x40000, CRC(2228cd88) SHA1(5774bb6a401c3da05c5f3c9d3996b20bb3713cb2) )
2272 	ROM_LOAD( "epr-14128.c2", 0x40000, 0x40000, CRC(edba8e10) SHA1(25a2833ead4ca363802ddc2eb97c40976502921a) )
2273 	ROM_LOAD( "epr-14129.c3", 0x80000, 0x40000, CRC(e8ecc305) SHA1(a26d0c5c7826cd315f8b2c27e5a503a2a7b535c4) )
2274 
2275 	ROM_REGION16_BE( 0x800000, "sprites", 0 ) // sprites
2276 	ROM_LOAD16_BYTE( "mpr-14134.c10", 0x000001, 0x80000, CRC(4fda6a4b) SHA1(a9e582e494ab967e8f3ccf4d5844bb8ef889928c) )
2277 	ROM_LOAD16_BYTE( "mpr-14142.a10", 0x000000, 0x80000, CRC(3cbf1f2a) SHA1(80b6b006936740087786acd538e28aca85fa6894) )
2278 	ROM_LOAD16_BYTE( "mpr-14135.c11", 0x200001, 0x80000, CRC(e9c74876) SHA1(aff9d071e77f01c6937188bf67be38fa898343e6) )
2279 	ROM_LOAD16_BYTE( "mpr-14143.a11", 0x200000, 0x80000, CRC(59022c31) SHA1(5e1409fe0f29284dc6a3ffacf69b761aae09f132) )
2280 	ROM_LOAD16_BYTE( "mpr-14136.c12", 0x400001, 0x80000, CRC(720d9858) SHA1(8ebcb8b3e9555ca48b28908d47dcbbd654398b6f) )
2281 	ROM_LOAD16_BYTE( "mpr-14144.a12", 0x400000, 0x80000, CRC(7775fdd4) SHA1(a03cac039b400b651a4bf2167a8f2338f488ce26) )
2282 	ROM_LOAD16_BYTE( "epr-14137.c13", 0x600001, 0x80000, CRC(846c4265) SHA1(58d0c213d085fb4dee18b7aefb05087d9d522950) )
2283 	ROM_LOAD16_BYTE( "epr-14145.a13", 0x600000, 0x80000, CRC(0e76c797) SHA1(9a44dc948e84e5acac36e80105c2349ee78e6cfa) )
2284 
2285 	ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
2286 	ROM_LOAD( "epr-14133.c7", 0x000000, 0x20000, CRC(cff96665) SHA1(b4dc7f1a03415ebebdb99a82ae89328c345e7678) )
2287 	ROM_LOAD( "mpr-14132.c6", 0x080000, 0x80000, CRC(1fae0220) SHA1(8414c74318ea915816c6b67801ac7c8c3fc905f9) )
2288 	ROM_LOAD( "mpr-14131.c5", 0x100000, 0x80000, CRC(be5a7d0b) SHA1(c2c598b0cf711273fdd568f3401375e9772c1d61) )
2289 	ROM_LOAD( "epr-14130.c4", 0x180000, 0x80000, CRC(948f34a1) SHA1(d4c6728d5eea06cee6ac15a34ec8cccb4cc4b982) )
2290 ROM_END
2291 
2292 /**************************************************************************************************************************
2293  **************************************************************************************************************************
2294  **************************************************************************************************************************
2295     Desert Breaker, Sega System 18
2296 
2297     game No. 833-8830-02
2298     pcb  No. 837-8832-02 (171-5873-02b)
2299     ROM  No. 834-8831-02 (171-5987a)
2300     CPU Hiatchi FD1094 317-0196
2301 */
2302 ROM_START( desertbr )
2303 	ROM_REGION( 0x200000, "maincpu", 0 ) // 68000 code - custom CPU 317-0196
2304 	ROM_LOAD16_BYTE( "epr-14802.a4", 0x000000, 0x80000, CRC(9ab93cbc) SHA1(a8d0013e17519c26c6ba7d28ec73e22ea5bde0e9) )
2305 	ROM_LOAD16_BYTE( "epr-14902.a6", 0x000001, 0x80000, CRC(6724e7b1) SHA1(540c8bb7e848488dead81ca58f3bece45a87e611) )
2306 	ROM_LOAD16_BYTE( "epr-14793.a5", 0x100000, 0x80000, CRC(dc9d7af3) SHA1(1fc1fedc1a4beed94cece268d0bb4bf62eeb407c) )
2307 	ROM_LOAD16_BYTE( "epr-14795.a7", 0x100001, 0x80000, CRC(7e5bf7d9) SHA1(32ac68ee423a34e0f1bedc8765e03f40e01c3af1) )
2308 
2309 	ROM_REGION( 0x2000, "maincpu:key", 0 )  // decryption key
2310 	ROM_LOAD( "317-0196.key", 0x0000, 0x2000, CRC(cb942262) SHA1(7ad7cd3df887c6e6435d74784cb12ce016acd0da) )
2311 
2312 	ROM_REGION( 0x300000, "gfx1", 0 ) // tiles
2313 	ROM_LOAD( "mpr-14781.c1", 0x000000, 0x100000, CRC(c4f7d7aa) SHA1(3c69dd7a26efccd7111ef33dfa6e8b738095c0bf) )
2314 	ROM_LOAD( "mpr-14782.c2", 0x100000, 0x100000, CRC(ccc98d05) SHA1(b89594bbfff45e3b4fe433aeeaf8b4073c2cabb5) )
2315 	ROM_LOAD( "mpr-14783.c3", 0x200000, 0x100000, CRC(ef202bec) SHA1(b557092f8a3e1c9889d34588344c6dd2c6f06731) )
2316 
2317 	ROM_REGION16_BE( 0x800000, "sprites", 0 ) // sprites
2318 	ROM_LOAD16_BYTE( "mpr-14788.c10", 0x000001, 0x100000, CRC(b5b05536) SHA1(f8fde7ebca38c0a6f6a864c17771aa155e6fc30d) )
2319 	ROM_LOAD16_BYTE( "mpr-14796.a10", 0x000000, 0x100000, CRC(c033220a) SHA1(279d3ef62b41d2c6a18ce1217a549402a874638b) )
2320 	ROM_LOAD16_BYTE( "mpr-14789.c11", 0x200001, 0x100000, CRC(0f9bcb97) SHA1(c15ab3ece596c54e1c4d8e8a755473609334e8ba) )
2321 	ROM_LOAD16_BYTE( "mpr-14797.a11", 0x200000, 0x100000, CRC(4c301cc9) SHA1(8aea8af0b078b81d1054331b273568b1b903531b) )
2322 	ROM_LOAD16_BYTE( "mpr-14790.c12", 0x400001, 0x100000, CRC(6a07ac27) SHA1(0558b662c7965c5b74cbc552423194a8facbc092) )
2323 	ROM_LOAD16_BYTE( "mpr-14798.a12", 0x400000, 0x100000, CRC(50634625) SHA1(f4baaebdb1f850e92ca865e103fbca68cdb0de0f) )
2324 	ROM_LOAD16_BYTE( "mpr-14791.c13", 0x600001, 0x100000, CRC(a4ae352b) SHA1(dc814e1c2e167e191cd43fa554ff8ee974d47152) )
2325 	ROM_LOAD16_BYTE( "mpr-14799.a13", 0x600000, 0x100000, CRC(aeb7b025) SHA1(9ce2a9a46176a110c8d2e77deb3d8b9b69b902fa) )
2326 
2327 	ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
2328 	ROM_LOAD( "epr-14787.c7", 0x000000, 0x40000, CRC(cc6feec7) SHA1(31cc243178b98681a52500a485d74ed9e1274888) )
2329 	ROM_LOAD( "mpr-14786.c6", 0x080000, 0x80000, CRC(cc8349f2) SHA1(9f00d8ea372b70ba44a90dab497deadcc5be3dab) )
2330 	ROM_LOAD( "mpr-14785.c5", 0x100000, 0x80000, CRC(7babba13) SHA1(190cd9ea0f73272e0df34bbdfd8e0035f9e9b0b0) )
2331 	ROM_LOAD( "mpr-14784.c4", 0x180000, 0x80000, CRC(073878e4) SHA1(eff08080d06a16fccf4876e42b389fef599cceba) )
2332 ROM_END
2333 
2334 ROM_START( desertbrd )
2335 	ROM_REGION( 0x200000, "maincpu", 0 ) // 68000 code
2336 	ROM_LOAD16_BYTE( "bootleg_epr-14802.a4", 0x000000, 0x80000, CRC(af74af1c) SHA1(42048fc8042816886a5f7e05f195ee9ee9af9c04) )
2337 	ROM_LOAD16_BYTE( "bootleg_epr-14902.a6", 0x000001, 0x80000, CRC(c883404b) SHA1(e11bb91fc1280158d3b524d598ee87d72e6efe03) )
2338 	ROM_LOAD16_BYTE( "epr-14793.a5", 0x100000, 0x80000, CRC(dc9d7af3) SHA1(1fc1fedc1a4beed94cece268d0bb4bf62eeb407c) )
2339 	ROM_LOAD16_BYTE( "epr-14795.a7", 0x100001, 0x80000, CRC(7e5bf7d9) SHA1(32ac68ee423a34e0f1bedc8765e03f40e01c3af1) )
2340 
2341 	ROM_REGION( 0x300000, "gfx1", 0 ) // tiles
2342 	ROM_LOAD( "mpr-14781.c1", 0x000000, 0x100000, CRC(c4f7d7aa) SHA1(3c69dd7a26efccd7111ef33dfa6e8b738095c0bf) )
2343 	ROM_LOAD( "mpr-14782.c2", 0x100000, 0x100000, CRC(ccc98d05) SHA1(b89594bbfff45e3b4fe433aeeaf8b4073c2cabb5) )
2344 	ROM_LOAD( "mpr-14783.c3", 0x200000, 0x100000, CRC(ef202bec) SHA1(b557092f8a3e1c9889d34588344c6dd2c6f06731) )
2345 
2346 	ROM_REGION16_BE( 0x800000, "sprites", 0 ) // sprites
2347 	ROM_LOAD16_BYTE( "mpr-14788.c10", 0x000001, 0x100000, CRC(b5b05536) SHA1(f8fde7ebca38c0a6f6a864c17771aa155e6fc30d) )
2348 	ROM_LOAD16_BYTE( "mpr-14796.a10", 0x000000, 0x100000, CRC(c033220a) SHA1(279d3ef62b41d2c6a18ce1217a549402a874638b) )
2349 	ROM_LOAD16_BYTE( "mpr-14789.c11", 0x200001, 0x100000, CRC(0f9bcb97) SHA1(c15ab3ece596c54e1c4d8e8a755473609334e8ba) )
2350 	ROM_LOAD16_BYTE( "mpr-14797.a11", 0x200000, 0x100000, CRC(4c301cc9) SHA1(8aea8af0b078b81d1054331b273568b1b903531b) )
2351 	ROM_LOAD16_BYTE( "mpr-14790.c12", 0x400001, 0x100000, CRC(6a07ac27) SHA1(0558b662c7965c5b74cbc552423194a8facbc092) )
2352 	ROM_LOAD16_BYTE( "mpr-14798.a12", 0x400000, 0x100000, CRC(50634625) SHA1(f4baaebdb1f850e92ca865e103fbca68cdb0de0f) )
2353 	ROM_LOAD16_BYTE( "mpr-14791.c13", 0x600001, 0x100000, CRC(a4ae352b) SHA1(dc814e1c2e167e191cd43fa554ff8ee974d47152) )
2354 	ROM_LOAD16_BYTE( "mpr-14799.a13", 0x600000, 0x100000, CRC(aeb7b025) SHA1(9ce2a9a46176a110c8d2e77deb3d8b9b69b902fa) )
2355 
2356 	ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
2357 	ROM_LOAD( "epr-14787.c7", 0x000000, 0x40000, CRC(cc6feec7) SHA1(31cc243178b98681a52500a485d74ed9e1274888) )
2358 	ROM_LOAD( "mpr-14786.c6", 0x080000, 0x80000, CRC(cc8349f2) SHA1(9f00d8ea372b70ba44a90dab497deadcc5be3dab) )
2359 	ROM_LOAD( "mpr-14785.c5", 0x100000, 0x80000, CRC(7babba13) SHA1(190cd9ea0f73272e0df34bbdfd8e0035f9e9b0b0) )
2360 	ROM_LOAD( "mpr-14784.c4", 0x180000, 0x80000, CRC(073878e4) SHA1(eff08080d06a16fccf4876e42b389fef599cceba) )
2361 ROM_END
2362 
2363 
2364 /**************************************************************************************************************************
2365     Desert Breaker, Sega System 18
2366 
2367     game No. 833-8830?
2368     pcb  No. 837-8832? (171-5873B)
2369     ROM  No. 834-8831 (171-5987A)
2370     CPU Hiatchi FD1094 317-0194
2371 */
2372 ROM_START( desertbrj )
2373 	ROM_REGION( 0x200000, "maincpu", 0 ) // 68000 code - custom CPU 317-0196
2374 	ROM_LOAD16_BYTE( "epr-14792.a4", 0x000000, 0x80000, CRC(453d9d02) SHA1(df5d85c2e1a25c18860aa96462ea4893bb633190) )
2375 	ROM_LOAD16_BYTE( "epr-14794.a6", 0x000001, 0x80000, CRC(4426758f) SHA1(d8bebcf05a83d34a93f74e2263f4290e995656ba) )
2376 	ROM_LOAD16_BYTE( "epr-14793.a5", 0x100000, 0x80000, CRC(dc9d7af3) SHA1(1fc1fedc1a4beed94cece268d0bb4bf62eeb407c) )
2377 	ROM_LOAD16_BYTE( "epr-14795.a7", 0x100001, 0x80000, CRC(7e5bf7d9) SHA1(32ac68ee423a34e0f1bedc8765e03f40e01c3af1) )
2378 
2379 	ROM_REGION( 0x2000, "maincpu:key", 0 )  // decryption key
2380 	ROM_LOAD( "317-0194.key", 0x0000, 0x2000, CRC(40cbc4cb) SHA1(51777d8a619268ac0b1fda6e7781cde753354419) )
2381 
2382 	ROM_REGION( 0x300000, "gfx1", 0 ) // tiles
2383 	ROM_LOAD( "mpr-14781.c1", 0x000000, 0x100000, CRC(c4f7d7aa) SHA1(3c69dd7a26efccd7111ef33dfa6e8b738095c0bf) )
2384 	ROM_LOAD( "mpr-14782.c2", 0x100000, 0x100000, CRC(ccc98d05) SHA1(b89594bbfff45e3b4fe433aeeaf8b4073c2cabb5) )
2385 	ROM_LOAD( "mpr-14783.c3", 0x200000, 0x100000, CRC(ef202bec) SHA1(b557092f8a3e1c9889d34588344c6dd2c6f06731) )
2386 
2387 	ROM_REGION16_BE( 0x800000, "sprites", 0 ) // sprites
2388 	ROM_LOAD16_BYTE( "mpr-14788.c10", 0x000001, 0x100000, CRC(b5b05536) SHA1(f8fde7ebca38c0a6f6a864c17771aa155e6fc30d) )
2389 	ROM_LOAD16_BYTE( "mpr-14796.a10", 0x000000, 0x100000, CRC(c033220a) SHA1(279d3ef62b41d2c6a18ce1217a549402a874638b) )
2390 	ROM_LOAD16_BYTE( "mpr-14789.c11", 0x200001, 0x100000, CRC(0f9bcb97) SHA1(c15ab3ece596c54e1c4d8e8a755473609334e8ba) )
2391 	ROM_LOAD16_BYTE( "mpr-14797.a11", 0x200000, 0x100000, CRC(4c301cc9) SHA1(8aea8af0b078b81d1054331b273568b1b903531b) )
2392 	ROM_LOAD16_BYTE( "mpr-14790.c12", 0x400001, 0x100000, CRC(6a07ac27) SHA1(0558b662c7965c5b74cbc552423194a8facbc092) )
2393 	ROM_LOAD16_BYTE( "mpr-14798.a12", 0x400000, 0x100000, CRC(50634625) SHA1(f4baaebdb1f850e92ca865e103fbca68cdb0de0f) )
2394 	ROM_LOAD16_BYTE( "mpr-14791.c13", 0x600001, 0x100000, CRC(a4ae352b) SHA1(dc814e1c2e167e191cd43fa554ff8ee974d47152) )
2395 	ROM_LOAD16_BYTE( "mpr-14799.a13", 0x600000, 0x100000, CRC(aeb7b025) SHA1(9ce2a9a46176a110c8d2e77deb3d8b9b69b902fa) )
2396 
2397 	ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
2398 	ROM_LOAD( "epr-14787.c7", 0x000000, 0x40000, CRC(cc6feec7) SHA1(31cc243178b98681a52500a485d74ed9e1274888) )
2399 	ROM_LOAD( "mpr-14786.c6", 0x080000, 0x80000, CRC(cc8349f2) SHA1(9f00d8ea372b70ba44a90dab497deadcc5be3dab) )
2400 	ROM_LOAD( "mpr-14785.c5", 0x100000, 0x80000, CRC(7babba13) SHA1(190cd9ea0f73272e0df34bbdfd8e0035f9e9b0b0) )
2401 	ROM_LOAD( "mpr-14784.c4", 0x180000, 0x80000, CRC(073878e4) SHA1(eff08080d06a16fccf4876e42b389fef599cceba) )
2402 ROM_END
2403 
2404 
2405 ROM_START( desertbrjd )
2406 	ROM_REGION( 0x200000, "maincpu", 0 )
2407 	ROM_LOAD16_BYTE( "bootleg_epr-14792.a4", 0x000000, 0x80000, CRC(fd8ed26d) SHA1(db5a9a68a05d03db7a1fe60a281310a0d38a86ed) )
2408 	ROM_LOAD16_BYTE( "bootleg_epr-14794.a6", 0x000001, 0x80000, CRC(399f167d) SHA1(ee2d8cb1f6725b38f038e0021317e11b79ce81f0) )
2409 	ROM_LOAD16_BYTE( "epr-14793.a5", 0x100000, 0x80000, CRC(dc9d7af3) SHA1(1fc1fedc1a4beed94cece268d0bb4bf62eeb407c) )
2410 	ROM_LOAD16_BYTE( "epr-14795.a7", 0x100001, 0x80000, CRC(7e5bf7d9) SHA1(32ac68ee423a34e0f1bedc8765e03f40e01c3af1) )
2411 
2412 	ROM_REGION( 0x300000, "gfx1", 0 ) // tiles
2413 	ROM_LOAD( "mpr-14781.c1", 0x000000, 0x100000, CRC(c4f7d7aa) SHA1(3c69dd7a26efccd7111ef33dfa6e8b738095c0bf) )
2414 	ROM_LOAD( "mpr-14782.c2", 0x100000, 0x100000, CRC(ccc98d05) SHA1(b89594bbfff45e3b4fe433aeeaf8b4073c2cabb5) )
2415 	ROM_LOAD( "mpr-14783.c3", 0x200000, 0x100000, CRC(ef202bec) SHA1(b557092f8a3e1c9889d34588344c6dd2c6f06731) )
2416 
2417 	ROM_REGION16_BE( 0x800000, "sprites", 0 ) // sprites
2418 	ROM_LOAD16_BYTE( "mpr-14788.c10", 0x000001, 0x100000, CRC(b5b05536) SHA1(f8fde7ebca38c0a6f6a864c17771aa155e6fc30d) )
2419 	ROM_LOAD16_BYTE( "mpr-14796.a10", 0x000000, 0x100000, CRC(c033220a) SHA1(279d3ef62b41d2c6a18ce1217a549402a874638b) )
2420 	ROM_LOAD16_BYTE( "mpr-14789.c11", 0x200001, 0x100000, CRC(0f9bcb97) SHA1(c15ab3ece596c54e1c4d8e8a755473609334e8ba) )
2421 	ROM_LOAD16_BYTE( "mpr-14797.a11", 0x200000, 0x100000, CRC(4c301cc9) SHA1(8aea8af0b078b81d1054331b273568b1b903531b) )
2422 	ROM_LOAD16_BYTE( "mpr-14790.c12", 0x400001, 0x100000, CRC(6a07ac27) SHA1(0558b662c7965c5b74cbc552423194a8facbc092) )
2423 	ROM_LOAD16_BYTE( "mpr-14798.a12", 0x400000, 0x100000, CRC(50634625) SHA1(f4baaebdb1f850e92ca865e103fbca68cdb0de0f) )
2424 	ROM_LOAD16_BYTE( "mpr-14791.c13", 0x600001, 0x100000, CRC(a4ae352b) SHA1(dc814e1c2e167e191cd43fa554ff8ee974d47152) )
2425 	ROM_LOAD16_BYTE( "mpr-14799.a13", 0x600000, 0x100000, CRC(aeb7b025) SHA1(9ce2a9a46176a110c8d2e77deb3d8b9b69b902fa) )
2426 
2427 	ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
2428 	ROM_LOAD( "epr-14787.c7", 0x000000, 0x40000, CRC(cc6feec7) SHA1(31cc243178b98681a52500a485d74ed9e1274888) )
2429 	ROM_LOAD( "mpr-14786.c6", 0x080000, 0x80000, CRC(cc8349f2) SHA1(9f00d8ea372b70ba44a90dab497deadcc5be3dab) )
2430 	ROM_LOAD( "mpr-14785.c5", 0x100000, 0x80000, CRC(7babba13) SHA1(190cd9ea0f73272e0df34bbdfd8e0035f9e9b0b0) )
2431 	ROM_LOAD( "mpr-14784.c4", 0x180000, 0x80000, CRC(073878e4) SHA1(eff08080d06a16fccf4876e42b389fef599cceba) )
2432 ROM_END
2433 
2434 
2435 /**************************************************************************************************************************
2436  **************************************************************************************************************************
2437  **************************************************************************************************************************
2438     Hammer Away, Sega System 18 (prototype / unreleased)
2439     CPU: M68000
2440     ROM Board: 837-7525
2441 
2442     Japanese text on the mission screens, but no "For use in Japan..." warning. There are screen shots of a version without
2443     the Japanese text on mission screens and an alternate title screen, so a "World" proto might exist.
2444 */
2445 ROM_START( hamaway )
2446 	ROM_REGION( 0x100000, "maincpu", 0 ) // 68000 code
2447 	ROM_LOAD16_BYTE( "4.bin",  0x000000, 0x40000, CRC(cc0981e1) SHA1(63528bd36f27e62fdf40715101e6d05b73e48f16) ) // 1xxxxxxxxxxxxxxxxx = 0xFF
2448 	ROM_LOAD16_BYTE( "6.bin",  0x000001, 0x40000, CRC(e8599ee6) SHA1(3e32b025403aecbaecfcdd0325e4acd676e99c4e) ) // 1xxxxxxxxxxxxxxxxx = 0xFF
2449 	ROM_LOAD16_BYTE( "5.bin",  0x080000, 0x40000, CRC(fdb247fd) SHA1(ee9db799fb5de27f81904f8ef792203415b6d4a6) )
2450 	ROM_LOAD16_BYTE( "7.bin",  0x080001, 0x40000, CRC(63711470) SHA1(6c4be3a0cf0f897c34ef0b3bf549f52b185bb915) )
2451 
2452 	ROM_REGION( 0x180000, "gfx1", 0 ) // tiles
2453 	ROM_LOAD( "c10.bin",  0x000000, 0x40000, CRC(c55cb5cf) SHA1(396179632b29ac5f8b7f8f3c91d7cf834e548bdf) )
2454 	ROM_LOAD( "1.bin",    0x040000, 0x40000, CRC(33be003f) SHA1(134fa6b3347c306d9e30882dfcf24632b49f85ea) )
2455 	ROM_LOAD( "c11.bin",  0x080000, 0x40000, CRC(37787915) SHA1(c8d251be6c41de3aed2da6da70aa87071b70b1f6) )
2456 	ROM_LOAD( "2.bin",    0x0c0000, 0x40000, CRC(60ca5c9f) SHA1(6358ea00125a5e3f55acf73aeb9c36b1db6e711e) )
2457 	ROM_LOAD( "c12.bin",  0x100000, 0x40000, CRC(f12f1cf3) SHA1(45e883029c58e617a2a20ac1ab5c5f598c95f4bd) )
2458 	ROM_LOAD( "3.bin",    0x140000, 0x40000, CRC(520aa7ae) SHA1(9584206aedd8be5ce9dca0ed370f8fe77aabaf76) )
2459 
2460 	ROM_REGION16_BE( 0x200000, "sprites", ROMREGION_ERASEFF ) // sprites
2461 	ROM_LOAD16_BYTE( "c17.bin", 0x000001, 0x40000, CRC(aa28d7aa) SHA1(3dd5d95b05e408c023f9bd77753c37080714239d) )
2462 	ROM_LOAD16_BYTE( "10.bin",  0x000000, 0x40000, CRC(c4c95161) SHA1(2e313a4ca9506f53a2062b4a8e5ba7b381ba93ae) )
2463 	ROM_LOAD16_BYTE( "c18.bin", 0x080001, 0x40000, CRC(0f8fe8bb) SHA1(e6f68442b8d4def29b106458496a47344f70d511) )
2464 	ROM_LOAD16_BYTE( "11.bin",  0x080000, 0x40000, CRC(2b5eacbc) SHA1(ba3690501588b9c88a31022b44bc3c82b44ae26b) )
2465 	ROM_LOAD16_BYTE( "c19.bin", 0x100001, 0x40000, CRC(3c616caa) SHA1(d48a6239b7a52ac13971f7513a65a17af492bfdf) ) // 11xxxxxxxxxxxxxxxx = 0xFF
2466 	ROM_LOAD16_BYTE( "12.bin",  0x100000, 0x40000, CRC(c7bbd579) SHA1(ab87bfdad66ea241cb23c9bbfea05f5a1574d6c9) ) // 1ST AND 2ND HALF IDENTICAL (but ok, because pairing ROM has no data in the 2nd half anyway)
2467 
2468 	ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
2469 	ROM_LOAD( "c16.bin", 0x000000, 0x40000, CRC(913cc18c) SHA1(4bf4ec14937586c3ae77fcad57dcb21f6433ef81) )
2470 	ROM_LOAD( "c15.bin", 0x080000, 0x40000, CRC(b53694fc) SHA1(0e42be2730abce1b52ea94a9fe61cbd1c9a0ccae) )
2471 ROM_END
2472 
2473 
2474 /**************************************************************************************************************************
2475  **************************************************************************************************************************
2476  **************************************************************************************************************************
2477     Laser Ghost (World), Sega System 18
2478     CPU: FD1094 (317-0166)
2479     ROM Board: 171-5873B
2480 */
2481 ROM_START( lghost )
2482 	ROM_REGION( 0x100000, "maincpu", 0 ) // 68000 code
2483 	ROM_LOAD16_BYTE( "epr-13429.a4", 0x00000, 0x40000, CRC(09bd65c0) SHA1(f2b332a86d52af3c5270f668bdd43a0d44eca346) )
2484 	ROM_LOAD16_BYTE( "epr-13430.a6", 0x00001, 0x40000, CRC(51009fe0) SHA1(f1e6e3714c01c15c0e932470a9e1a17abb59e958) )
2485 	ROM_LOAD16_BYTE( "epr-13411.a5", 0x80000, 0x40000, CRC(5160167b) SHA1(3d176a18c7527b1e485f10b144bb4db1b945e709) )
2486 	ROM_LOAD16_BYTE( "epr-13413.a7", 0x80001, 0x40000, CRC(656b3bd8) SHA1(db81d4ae3138308dce1e3db7a859f1d63c4ff815) )
2487 
2488 	ROM_REGION( 0x2000, "maincpu:key", 0 )  // decryption key
2489 	ROM_LOAD( "317-0166.key", 0x0000, 0x2000, CRC(8379961f) SHA1(44e0662e92ece65ad2049b2cd804f516e631166e) )
2490 
2491 	ROM_REGION( 0xc0000, "gfx1", 0 ) // tiles
2492 	ROM_LOAD( "epr-13414.c1", 0x00000, 0x40000, CRC(dada2419) SHA1(f6ffd02d75232a09ea83fd199e5e30b2773b0cf5) )
2493 	ROM_LOAD( "epr-13415.c2", 0x40000, 0x40000, CRC(bbb62c48) SHA1(7a4c5bd11b73a92deece72b55627f48ac167acd6) )
2494 	ROM_LOAD( "epr-13416.c3", 0x80000, 0x40000, CRC(1d11dbae) SHA1(331aa49c6b38d32ec33184dbd0851888463ddbc7) )
2495 
2496 	ROM_REGION16_BE( 0x800000, "sprites", 0 ) // sprites
2497 	ROM_LOAD16_BYTE( "epr-13603.a10", 0x000000, 0x80000, CRC(5350a94e) SHA1(47e99803cab4b508feb51069c940d6c824d6961d) )
2498 	ROM_LOAD16_BYTE( "epr-13604.c10", 0x000001, 0x80000, CRC(4009c8e5) SHA1(97f513d312f4c90f8bffdf797afa3749779989a5) )
2499 	ROM_LOAD16_BYTE( "mpr-13421.a11", 0x200000, 0x80000, CRC(2fc75890) SHA1(9f97f07dba3b978df8eb357894168ad74f151d30) )
2500 	ROM_LOAD16_BYTE( "mpr-13424.c11", 0x200001, 0x80000, CRC(fb98d920) SHA1(cebdebe88902e96c631df6053ac2589f794da155) )
2501 	ROM_LOAD16_BYTE( "mpr-13422.a12", 0x400000, 0x80000, CRC(48a0754d) SHA1(9fead9f8319593adb4bddaaa4d053b21ca726009) )
2502 	ROM_LOAD16_BYTE( "mpr-13425.c12", 0x400001, 0x80000, CRC(f8252589) SHA1(5a1ed24296d0609393e53df3ee585a366da4ee46) )
2503 	ROM_LOAD16_BYTE( "mpr-13423.a13", 0x600000, 0x80000, CRC(335bbc9d) SHA1(78793335b2f8a1bb05809259521db193c17c9b98) )
2504 	ROM_LOAD16_BYTE( "mpr-13426.c13", 0x600001, 0x80000, CRC(5cfb1e25) SHA1(1dd57475604f339e58bf946e17ae0dc5cf4a3dba) )
2505 
2506 	ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
2507 	ROM_LOAD( "epr-13417.c7",   0x000000, 0x20000, CRC(cd7beb49) SHA1(2435ce000f1eefdd06b27ea93e22fd82c0e999d2) )
2508 	ROM_LOAD( "mpr-13420.c6",   0x080000, 0x40000, CRC(3de0dee4) SHA1(31833684df5a34d5e9ef04f2ab42355b8e9cbb45) )
2509 	ROM_LOAD( "mpr-13419.c5",   0x100000, 0x40000, CRC(e7021b0a) SHA1(82e390fac63965d4f80ae01758c19ae951c39475) )
2510 	ROM_LOAD( "mpr-13418.c4",   0x180000, 0x40000, CRC(0732594d) SHA1(9fbeae29f1a31d136ddc9a49c786b2a08a523e0d) )
2511 ROM_END
2512 
2513 ROM_START( lghostd )
2514 	ROM_REGION( 0x100000, "maincpu", 0 ) // 68000 code
2515 	ROM_LOAD16_BYTE( "bootleg_epr-13429.a4", 0x00000, 0x40000, CRC(3d641671) SHA1(68941985c19732b073363fa1eb3848b78e31bc05) )
2516 	ROM_LOAD16_BYTE( "bootleg_epr-13430.a6", 0x00001, 0x40000, CRC(f0ba14be) SHA1(a771ec7ca9f7087ed990d6565cce5c15d08766a4) )
2517 	ROM_LOAD16_BYTE( "epr-13411.a5", 0x80000, 0x40000, CRC(5160167b) SHA1(3d176a18c7527b1e485f10b144bb4db1b945e709) )
2518 	ROM_LOAD16_BYTE( "epr-13413.a7", 0x80001, 0x40000, CRC(656b3bd8) SHA1(db81d4ae3138308dce1e3db7a859f1d63c4ff815) )
2519 
2520 	ROM_REGION( 0xc0000, "gfx1", 0 ) // tiles
2521 	ROM_LOAD( "epr-13414.c1", 0x00000, 0x40000, CRC(dada2419) SHA1(f6ffd02d75232a09ea83fd199e5e30b2773b0cf5) )
2522 	ROM_LOAD( "epr-13415.c2", 0x40000, 0x40000, CRC(bbb62c48) SHA1(7a4c5bd11b73a92deece72b55627f48ac167acd6) )
2523 	ROM_LOAD( "epr-13416.c3", 0x80000, 0x40000, CRC(1d11dbae) SHA1(331aa49c6b38d32ec33184dbd0851888463ddbc7) )
2524 
2525 	ROM_REGION16_BE( 0x800000, "sprites", 0 ) // sprites
2526 	ROM_LOAD16_BYTE( "epr-13603.a10", 0x000000, 0x80000, CRC(5350a94e) SHA1(47e99803cab4b508feb51069c940d6c824d6961d) )
2527 	ROM_LOAD16_BYTE( "epr-13604.c10", 0x000001, 0x80000, CRC(4009c8e5) SHA1(97f513d312f4c90f8bffdf797afa3749779989a5) )
2528 	ROM_LOAD16_BYTE( "mpr-13421.a11", 0x200000, 0x80000, CRC(2fc75890) SHA1(9f97f07dba3b978df8eb357894168ad74f151d30) )
2529 	ROM_LOAD16_BYTE( "mpr-13424.c11", 0x200001, 0x80000, CRC(fb98d920) SHA1(cebdebe88902e96c631df6053ac2589f794da155) )
2530 	ROM_LOAD16_BYTE( "mpr-13422.a12", 0x400000, 0x80000, CRC(48a0754d) SHA1(9fead9f8319593adb4bddaaa4d053b21ca726009) )
2531 	ROM_LOAD16_BYTE( "mpr-13425.c12", 0x400001, 0x80000, CRC(f8252589) SHA1(5a1ed24296d0609393e53df3ee585a366da4ee46) )
2532 	ROM_LOAD16_BYTE( "mpr-13423.a13", 0x600000, 0x80000, CRC(335bbc9d) SHA1(78793335b2f8a1bb05809259521db193c17c9b98) )
2533 	ROM_LOAD16_BYTE( "mpr-13426.c13", 0x600001, 0x80000, CRC(5cfb1e25) SHA1(1dd57475604f339e58bf946e17ae0dc5cf4a3dba) )
2534 
2535 	ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
2536 	ROM_LOAD( "epr-13417.c7",   0x000000, 0x20000, CRC(cd7beb49) SHA1(2435ce000f1eefdd06b27ea93e22fd82c0e999d2) )
2537 	ROM_LOAD( "mpr-13420.c6",   0x080000, 0x40000, CRC(3de0dee4) SHA1(31833684df5a34d5e9ef04f2ab42355b8e9cbb45) )
2538 	ROM_LOAD( "mpr-13419.c5",   0x100000, 0x40000, CRC(e7021b0a) SHA1(82e390fac63965d4f80ae01758c19ae951c39475) )
2539 	ROM_LOAD( "mpr-13418.c4",   0x180000, 0x40000, CRC(0732594d) SHA1(9fbeae29f1a31d136ddc9a49c786b2a08a523e0d) )
2540 ROM_END
2541 
2542 /**************************************************************************************************************************
2543     Laser Ghost (US), Sega System 18
2544     CPU: FD1094 (317-0165)
2545       Game BD: 833-7627-04 LASER GHOST
2546     ROM Board: 834-7597-04 (type 171-5873B)
2547     A/D BD NO. 837-7536
2548 
2549 A PCB was found with a Game BD: 833-7627-01-T GHOST HUNTERS
2550 While the DATA matched the set below (lghostu), all ROMs were hand labeled and dated as follows:
2551 
2552 ROM0 E * A3AB @ A4
2553 ROM0 O * B21C @ A6
2554 ROM1 E 5B93 @ A5
2555 ROM1 O 6B23 @ A7
2556 
2557 FD1094 labeled as LASER GHOST USA
2558 
2559 Fix0 11/19-14 @ C1
2560 Fix1 11/19-14 @ C2
2561 Fix2 11/19-14 @ C3
2562 
2563 bank0 O 11/20-14 @ C10
2564 bank0 E 11/20-14 @ A10
2565 bank1 O 10/31 @ C11
2566 bank1 E 10/31 @ A11
2567 bank2 O 10/31 @ C12
2568 bank2 E 10/31 @ A12
2569 bank3 O 10/31 @ C13
2570 bank3 E 10/31 @ A13
2571 
2572 Sound 0 FINAL @ C7
2573 Sound 1 10/22 @ C6
2574 Sound 2 10/22 @ C5
2575 Sound 3 10/22 @ C4
2576 
2577 suggesting the original name for the game was Ghost Hunters and the ROMs dated 11/20-14 & 11/19-14
2578 contain the data for name change to Laser Ghost
2579 */
2580 ROM_START( lghostu )
2581 	ROM_REGION( 0x100000, "maincpu", 0 ) // 68000 code
2582 	ROM_LOAD16_BYTE( "epr-13427.a4",  0x00000, 0x40000, CRC(5bf8fb6b) SHA1(587bbf45b5e470da7d9166b2cbf4ac58a1f2a825) )
2583 	ROM_LOAD16_BYTE( "epr-13428.a6",  0x00001, 0x40000, CRC(276775f5) SHA1(5dd5dabe7e9311b3520d0405dda0c983e9bc4ba2) )
2584 	ROM_LOAD16_BYTE( "epr-13411.a5",  0x80000, 0x40000, CRC(5160167b) SHA1(3d176a18c7527b1e485f10b144bb4db1b945e709) )
2585 	ROM_LOAD16_BYTE( "epr-13413.a7",  0x80001, 0x40000, CRC(656b3bd8) SHA1(db81d4ae3138308dce1e3db7a859f1d63c4ff815) )
2586 
2587 	ROM_REGION( 0x2000, "maincpu:key", 0 )  // decryption key
2588 	ROM_LOAD( "317-0165.key", 0x0000, 0x2000,  CRC(a04267ab) SHA1(688ee59dfaaf240e23de4cada648689d1717ab04) )
2589 
2590 	ROM_REGION( 0xc0000, "gfx1", 0 ) // tiles
2591 	ROM_LOAD( "epr-13414.c1", 0x00000, 0x40000, CRC(dada2419) SHA1(f6ffd02d75232a09ea83fd199e5e30b2773b0cf5) )
2592 	ROM_LOAD( "epr-13415.c2", 0x40000, 0x40000, CRC(bbb62c48) SHA1(7a4c5bd11b73a92deece72b55627f48ac167acd6) )
2593 	ROM_LOAD( "epr-13416.c3", 0x80000, 0x40000, CRC(1d11dbae) SHA1(331aa49c6b38d32ec33184dbd0851888463ddbc7) )
2594 
2595 	ROM_REGION16_BE( 0x800000, "sprites", 0 ) // sprites
2596 	ROM_LOAD16_BYTE( "epr-13603.a10", 0x000000, 0x80000, CRC(5350a94e) SHA1(47e99803cab4b508feb51069c940d6c824d6961d) )
2597 	ROM_LOAD16_BYTE( "epr-13604.c10", 0x000001, 0x80000, CRC(4009c8e5) SHA1(97f513d312f4c90f8bffdf797afa3749779989a5) )
2598 	ROM_LOAD16_BYTE( "mpr-13421.a11", 0x200000, 0x80000, CRC(2fc75890) SHA1(9f97f07dba3b978df8eb357894168ad74f151d30) )
2599 	ROM_LOAD16_BYTE( "mpr-13424.c11", 0x200001, 0x80000, CRC(fb98d920) SHA1(cebdebe88902e96c631df6053ac2589f794da155) )
2600 	ROM_LOAD16_BYTE( "mpr-13422.a12", 0x400000, 0x80000, CRC(48a0754d) SHA1(9fead9f8319593adb4bddaaa4d053b21ca726009) )
2601 	ROM_LOAD16_BYTE( "mpr-13425.c12", 0x400001, 0x80000, CRC(f8252589) SHA1(5a1ed24296d0609393e53df3ee585a366da4ee46) )
2602 	ROM_LOAD16_BYTE( "mpr-13423.a13", 0x600000, 0x80000, CRC(335bbc9d) SHA1(78793335b2f8a1bb05809259521db193c17c9b98) )
2603 	ROM_LOAD16_BYTE( "mpr-13426.c13", 0x600001, 0x80000, CRC(5cfb1e25) SHA1(1dd57475604f339e58bf946e17ae0dc5cf4a3dba) )
2604 
2605 	ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
2606 	ROM_LOAD( "epr-13417.c7",   0x000000, 0x20000, CRC(cd7beb49) SHA1(2435ce000f1eefdd06b27ea93e22fd82c0e999d2) )
2607 	ROM_LOAD( "mpr-13420.c6",   0x080000, 0x40000, CRC(3de0dee4) SHA1(31833684df5a34d5e9ef04f2ab42355b8e9cbb45) )
2608 	ROM_LOAD( "mpr-13419.c5",   0x100000, 0x40000, CRC(e7021b0a) SHA1(82e390fac63965d4f80ae01758c19ae951c39475) )
2609 	ROM_LOAD( "mpr-13418.c4",   0x180000, 0x40000, CRC(0732594d) SHA1(9fbeae29f1a31d136ddc9a49c786b2a08a523e0d) )
2610 ROM_END
2611 
2612 
2613 ROM_START( lghostud )
2614 	ROM_REGION( 0x100000, "maincpu", 0 ) // 68000 code
2615 	ROM_LOAD16_BYTE( "bootleg_epr-13427.a4",  0x00000, 0x40000, CRC(8e9e092e) SHA1(3751a5d74d729f72d34b881bede34b6029ab7f95) )
2616 	ROM_LOAD16_BYTE( "bootleg_epr-13428.a6",  0x00001, 0x40000, CRC(346d4ba3) SHA1(d020bc1456843abc3a4132ea212c3e8140bfd4d2) )
2617 	ROM_LOAD16_BYTE( "epr-13411.a5",  0x80000, 0x40000, CRC(5160167b) SHA1(3d176a18c7527b1e485f10b144bb4db1b945e709) )
2618 	ROM_LOAD16_BYTE( "epr-13413.a7",  0x80001, 0x40000, CRC(656b3bd8) SHA1(db81d4ae3138308dce1e3db7a859f1d63c4ff815) )
2619 
2620 	ROM_REGION( 0xc0000, "gfx1", 0 ) // tiles
2621 	ROM_LOAD( "epr-13414.c1", 0x00000, 0x40000, CRC(dada2419) SHA1(f6ffd02d75232a09ea83fd199e5e30b2773b0cf5) )
2622 	ROM_LOAD( "epr-13415.c2", 0x40000, 0x40000, CRC(bbb62c48) SHA1(7a4c5bd11b73a92deece72b55627f48ac167acd6) )
2623 	ROM_LOAD( "epr-13416.c3", 0x80000, 0x40000, CRC(1d11dbae) SHA1(331aa49c6b38d32ec33184dbd0851888463ddbc7) )
2624 
2625 	ROM_REGION16_BE( 0x800000, "sprites", 0 ) // sprites
2626 	ROM_LOAD16_BYTE( "epr-13603.a10", 0x000000, 0x80000, CRC(5350a94e) SHA1(47e99803cab4b508feb51069c940d6c824d6961d) )
2627 	ROM_LOAD16_BYTE( "epr-13604.c10", 0x000001, 0x80000, CRC(4009c8e5) SHA1(97f513d312f4c90f8bffdf797afa3749779989a5) )
2628 	ROM_LOAD16_BYTE( "mpr-13421.a11", 0x200000, 0x80000, CRC(2fc75890) SHA1(9f97f07dba3b978df8eb357894168ad74f151d30) )
2629 	ROM_LOAD16_BYTE( "mpr-13424.c11", 0x200001, 0x80000, CRC(fb98d920) SHA1(cebdebe88902e96c631df6053ac2589f794da155) )
2630 	ROM_LOAD16_BYTE( "mpr-13422.a12", 0x400000, 0x80000, CRC(48a0754d) SHA1(9fead9f8319593adb4bddaaa4d053b21ca726009) )
2631 	ROM_LOAD16_BYTE( "mpr-13425.c12", 0x400001, 0x80000, CRC(f8252589) SHA1(5a1ed24296d0609393e53df3ee585a366da4ee46) )
2632 	ROM_LOAD16_BYTE( "mpr-13423.a13", 0x600000, 0x80000, CRC(335bbc9d) SHA1(78793335b2f8a1bb05809259521db193c17c9b98) )
2633 	ROM_LOAD16_BYTE( "mpr-13426.c13", 0x600001, 0x80000, CRC(5cfb1e25) SHA1(1dd57475604f339e58bf946e17ae0dc5cf4a3dba) )
2634 
2635 	ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
2636 	ROM_LOAD( "epr-13417.c7",   0x000000, 0x20000, CRC(cd7beb49) SHA1(2435ce000f1eefdd06b27ea93e22fd82c0e999d2) )
2637 	ROM_LOAD( "mpr-13420.c6",   0x080000, 0x40000, CRC(3de0dee4) SHA1(31833684df5a34d5e9ef04f2ab42355b8e9cbb45) )
2638 	ROM_LOAD( "mpr-13419.c5",   0x100000, 0x40000, CRC(e7021b0a) SHA1(82e390fac63965d4f80ae01758c19ae951c39475) )
2639 	ROM_LOAD( "mpr-13418.c4",   0x180000, 0x40000, CRC(0732594d) SHA1(9fbeae29f1a31d136ddc9a49c786b2a08a523e0d) )
2640 ROM_END
2641 
2642 
2643 /**************************************************************************************************************************
2644     Laser Ghost (Japan), Sega System 18
2645     CPU: FD1094 (317-0164)
2646       Game BD: 833-7627-03 LASER GHOST
2647     ROM Board: 834-7597-03 (type 171-5873B)
2648     A/D BD NO. 837-7536
2649 */
2650 ROM_START( lghostj )
2651 	ROM_REGION( 0x100000, "maincpu", 0 ) // 68000 code
2652 	ROM_LOAD16_BYTE( "epr-13410.a4",  0x00000, 0x40000, CRC(9c1d672b) SHA1(d617b1fbdad1b42af6f1341e4556c3481c4a7031) )
2653 	ROM_LOAD16_BYTE( "epr-13412.a6",  0x00001, 0x40000, CRC(3a3155fa) SHA1(534231450d4da0668e8742ada8c9c86f2e5768a6))
2654 	ROM_LOAD16_BYTE( "epr-13411.a5",  0x80000, 0x40000, CRC(5160167b) SHA1(3d176a18c7527b1e485f10b144bb4db1b945e709) )
2655 	ROM_LOAD16_BYTE( "epr-13413.a7",  0x80001, 0x40000, CRC(656b3bd8) SHA1(db81d4ae3138308dce1e3db7a859f1d63c4ff815) )
2656 
2657 	ROM_REGION( 0x2000, "maincpu:key", 0 )  // decryption key
2658 	ROM_LOAD( "317-0164.key", 0x0000, 0x2000,  CRC(6bf5cf2d) SHA1(9f43b057ac162a62a5f3b5511b0825f34a2a31a3))
2659 
2660 	ROM_REGION( 0xc0000, "gfx1", 0 ) // tiles
2661 	ROM_LOAD( "epr-13414.c1", 0x00000, 0x40000, CRC(dada2419) SHA1(f6ffd02d75232a09ea83fd199e5e30b2773b0cf5) )
2662 	ROM_LOAD( "epr-13415.c2", 0x40000, 0x40000, CRC(bbb62c48) SHA1(7a4c5bd11b73a92deece72b55627f48ac167acd6) )
2663 	ROM_LOAD( "epr-13416.c3", 0x80000, 0x40000, CRC(1d11dbae) SHA1(331aa49c6b38d32ec33184dbd0851888463ddbc7) )
2664 
2665 	ROM_REGION16_BE( 0x800000, "sprites", 0 ) // sprites
2666 	ROM_LOAD16_BYTE( "epr-13603.a10", 0x000000, 0x80000, CRC(5350a94e) SHA1(47e99803cab4b508feb51069c940d6c824d6961d) )
2667 	ROM_LOAD16_BYTE( "epr-13604.c10", 0x000001, 0x80000, CRC(4009c8e5) SHA1(97f513d312f4c90f8bffdf797afa3749779989a5) )
2668 	ROM_LOAD16_BYTE( "mpr-13421.a11", 0x200000, 0x80000, CRC(2fc75890) SHA1(9f97f07dba3b978df8eb357894168ad74f151d30) )
2669 	ROM_LOAD16_BYTE( "mpr-13424.c11", 0x200001, 0x80000, CRC(fb98d920) SHA1(cebdebe88902e96c631df6053ac2589f794da155) )
2670 	ROM_LOAD16_BYTE( "mpr-13422.a12", 0x400000, 0x80000, CRC(48a0754d) SHA1(9fead9f8319593adb4bddaaa4d053b21ca726009) )
2671 	ROM_LOAD16_BYTE( "mpr-13425.c12", 0x400001, 0x80000, CRC(f8252589) SHA1(5a1ed24296d0609393e53df3ee585a366da4ee46) )
2672 	ROM_LOAD16_BYTE( "mpr-13423.a13", 0x600000, 0x80000, CRC(335bbc9d) SHA1(78793335b2f8a1bb05809259521db193c17c9b98) )
2673 	ROM_LOAD16_BYTE( "mpr-13426.c13", 0x600001, 0x80000, CRC(5cfb1e25) SHA1(1dd57475604f339e58bf946e17ae0dc5cf4a3dba) )
2674 
2675 	ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
2676 	ROM_LOAD( "epr-13417.c7",   0x000000, 0x20000, CRC(cd7beb49) SHA1(2435ce000f1eefdd06b27ea93e22fd82c0e999d2) )
2677 	ROM_LOAD( "mpr-13420.c6",   0x080000, 0x40000, CRC(3de0dee4) SHA1(31833684df5a34d5e9ef04f2ab42355b8e9cbb45) )
2678 	ROM_LOAD( "mpr-13419.c5",   0x100000, 0x40000, CRC(e7021b0a) SHA1(82e390fac63965d4f80ae01758c19ae951c39475) )
2679 	ROM_LOAD( "mpr-13418.c4",   0x180000, 0x40000, CRC(0732594d) SHA1(9fbeae29f1a31d136ddc9a49c786b2a08a523e0d) )
2680 ROM_END
2681 
2682 
2683 /**************************************************************************************************************************
2684  **************************************************************************************************************************
2685  **************************************************************************************************************************
2686     Moonwalker, Sega System 18
2687     CPU: FD1094 (317-0159)
2688     ROM Board: 171-5873B
2689    Main board: 837-7530-02
2690       Game BD: 833-7528-02 MOONWALKER
2691     ROM Board: 834-7529-02
2692 */
2693 ROM_START( mwalk )
2694 	ROM_REGION( 0x80000, "maincpu", 0 ) // 68000 code - custom cpu 317-0159
2695 	ROM_LOAD16_BYTE( "epr-13235.a6", 0x000000, 0x40000, CRC(6983e129) SHA1(a8dd430620ab8ce11df46aa208d762d47f510464) )
2696 	ROM_LOAD16_BYTE( "epr-13234.a5", 0x000001, 0x40000, CRC(c9fd20f2) SHA1(9476e6481e6d8f223acd52f543fa04f408d48dc3) )
2697 
2698 	ROM_REGION( 0x2000, "maincpu:key", 0 )  // decryption key
2699 	ROM_LOAD( "317-0159.key", 0x0000, 0x2000, CRC(507838f0) SHA1(0c92d313da40b5dec7398c05b57698de6153b4b0) )
2700 
2701 	ROM_REGION( 0xc0000, "gfx1", 0 ) // tiles
2702 	ROM_LOAD( "mpr-13216.b1", 0x00000, 0x40000, CRC(862d2c03) SHA1(3c5446d702a639b62a602c6d687f9875d8450218) )
2703 	ROM_LOAD( "mpr-13217.b2", 0x40000, 0x40000, CRC(7d1ac3ec) SHA1(8495357304f1df135bba77ef3b96e79a883b8ff0) )
2704 	ROM_LOAD( "mpr-13218.b3", 0x80000, 0x40000, CRC(56d3393c) SHA1(50a2d065060692c9ecaa56046a781cb21d93e554) )
2705 
2706 	ROM_REGION16_BE( 0x200000, "sprites", 0 ) // sprites
2707 	ROM_LOAD16_BYTE( "mpr-13224.b11", 0x000001, 0x40000, CRC(c59f107b) SHA1(10fa60fca6e34eda277c483bb1c0e81bb88c8a47) )
2708 	ROM_LOAD16_BYTE( "mpr-13231.a11", 0x000000, 0x40000, CRC(a5e96346) SHA1(a854f4dd5dc16975373255110fdb8ab3d121b1af) )
2709 	ROM_LOAD16_BYTE( "mpr-13223.b10", 0x080001, 0x40000, CRC(364f60ff) SHA1(9ac887ec0b2e32b504b7c6a5f3bb1ce3fe41a15a) )
2710 	ROM_LOAD16_BYTE( "mpr-13230.a10", 0x080000, 0x40000, CRC(9550091f) SHA1(bb6e898f7b540e130fd338c10f74609a7604cef4) )
2711 	ROM_LOAD16_BYTE( "mpr-13222.b9",  0x100001, 0x40000, CRC(523df3ed) SHA1(2e496125e75decd674c3a08404fbdb53791a965d) )
2712 	ROM_LOAD16_BYTE( "mpr-13229.a9",  0x100000, 0x40000, CRC(f40dc45d) SHA1(e9468cef428f52ecdf6837c6d9a9fea934e7676c) )
2713 	ROM_LOAD16_BYTE( "epr-13221.b8",  0x180001, 0x40000, CRC(9ae7546a) SHA1(5413b0131881b0b32bac8de51da9a299835014bb) )
2714 	ROM_LOAD16_BYTE( "epr-13228.a8",  0x180000, 0x40000, CRC(de3786be) SHA1(2279bb390aa3efab9aeee0a643e5cb6a4f5933b6) )
2715 
2716 	ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
2717 	ROM_LOAD( "epr-13225.a4", 0x000000, 0x20000, CRC(56c2e82b) SHA1(d5755a1bb6e889d274dc60e883d4d65f12fdc877) )
2718 	ROM_LOAD( "mpr-13219.b4", 0x080000, 0x40000, CRC(19e2061f) SHA1(2dcf1718a43dab4da53b4f67722664e70ddd2169) )
2719 	ROM_LOAD( "mpr-13220.b5", 0x100000, 0x40000, CRC(58d4d9ce) SHA1(725e73a656845b02702ef131b4c0aa2a73cdd02e) )
2720 	ROM_LOAD( "mpr-13249.b6", 0x180000, 0x40000, CRC(623edc5d) SHA1(c32d9f818d40f311877fbe6532d9e95b6045c3c4) )
2721 
2722 	ROM_REGION( 0x10000, "mcu", 0 ) // protection MCU
2723 	ROM_LOAD( "315-5437.ic4", 0x00000, 0x1000,  CRC(4bf63bc1) SHA1(2766ab30b466b079febb30c488adad9ea56813f7) )
2724 ROM_END
2725 
2726 ROM_START( mwalkd )
2727 	ROM_REGION( 0x80000, "maincpu", 0 )
2728 	ROM_LOAD16_BYTE( "bootleg_epr-13235.a6", 0x000000, 0x40000, CRC(9973f6c3) SHA1(e6267361e808499fcd1c49af6243596b7ebe434d) )
2729 	ROM_LOAD16_BYTE( "bootleg_epr-13234.a5", 0x000001, 0x40000, CRC(ef5098e9) SHA1(2bd17e07477d0f31bddc7e0f53e3447065913072) )
2730 
2731 	ROM_REGION( 0xc0000, "gfx1", 0 ) // tiles
2732 	ROM_LOAD( "mpr-13216.b1", 0x00000, 0x40000, CRC(862d2c03) SHA1(3c5446d702a639b62a602c6d687f9875d8450218) )
2733 	ROM_LOAD( "mpr-13217.b2", 0x40000, 0x40000, CRC(7d1ac3ec) SHA1(8495357304f1df135bba77ef3b96e79a883b8ff0) )
2734 	ROM_LOAD( "mpr-13218.b3", 0x80000, 0x40000, CRC(56d3393c) SHA1(50a2d065060692c9ecaa56046a781cb21d93e554) )
2735 
2736 	ROM_REGION16_BE( 0x200000, "sprites", 0 ) // sprites
2737 	ROM_LOAD16_BYTE( "mpr-13224.b11", 0x000001, 0x40000, CRC(c59f107b) SHA1(10fa60fca6e34eda277c483bb1c0e81bb88c8a47) )
2738 	ROM_LOAD16_BYTE( "mpr-13231.a11", 0x000000, 0x40000, CRC(a5e96346) SHA1(a854f4dd5dc16975373255110fdb8ab3d121b1af) )
2739 	ROM_LOAD16_BYTE( "mpr-13223.b10", 0x080001, 0x40000, CRC(364f60ff) SHA1(9ac887ec0b2e32b504b7c6a5f3bb1ce3fe41a15a) )
2740 	ROM_LOAD16_BYTE( "mpr-13230.a10", 0x080000, 0x40000, CRC(9550091f) SHA1(bb6e898f7b540e130fd338c10f74609a7604cef4) )
2741 	ROM_LOAD16_BYTE( "mpr-13222.b9",  0x100001, 0x40000, CRC(523df3ed) SHA1(2e496125e75decd674c3a08404fbdb53791a965d) )
2742 	ROM_LOAD16_BYTE( "mpr-13229.a9",  0x100000, 0x40000, CRC(f40dc45d) SHA1(e9468cef428f52ecdf6837c6d9a9fea934e7676c) )
2743 	ROM_LOAD16_BYTE( "epr-13221.b8",  0x180001, 0x40000, CRC(9ae7546a) SHA1(5413b0131881b0b32bac8de51da9a299835014bb) )
2744 	ROM_LOAD16_BYTE( "epr-13228.a8",  0x180000, 0x40000, CRC(de3786be) SHA1(2279bb390aa3efab9aeee0a643e5cb6a4f5933b6) )
2745 
2746 	ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
2747 	ROM_LOAD( "epr-13225.a4", 0x000000, 0x20000, CRC(56c2e82b) SHA1(d5755a1bb6e889d274dc60e883d4d65f12fdc877) )
2748 	ROM_LOAD( "mpr-13219.b4", 0x080000, 0x40000, CRC(19e2061f) SHA1(2dcf1718a43dab4da53b4f67722664e70ddd2169) )
2749 	ROM_LOAD( "mpr-13220.b5", 0x100000, 0x40000, CRC(58d4d9ce) SHA1(725e73a656845b02702ef131b4c0aa2a73cdd02e) )
2750 	ROM_LOAD( "mpr-13249.b6", 0x180000, 0x40000, CRC(623edc5d) SHA1(c32d9f818d40f311877fbe6532d9e95b6045c3c4) )
2751 
2752 	ROM_REGION( 0x10000, "mcu", 0 ) // protection MCU
2753 	ROM_LOAD( "315-5437.ic4", 0x00000, 0x1000,  CRC(4bf63bc1) SHA1(2766ab30b466b079febb30c488adad9ea56813f7) )
2754 ROM_END
2755 
2756 
2757 /**************************************************************************************************************************
2758     Moonwalker, Sega System 18
2759     CPU: FD1094 (317-0158)
2760     ROM Board: 171-5873B
2761    Main board: 837-7530-01
2762       Game BD: 833-7528-01 MOONWALKER
2763     ROM Board: 834-7529-01
2764 */
2765 ROM_START( mwalku )
2766 	ROM_REGION( 0x80000, "maincpu", 0 ) // 68000 code - custom cpu 317-0158
2767 	ROM_LOAD16_BYTE( "epr-13233.a6", 0x000000, 0x40000, CRC(f3dac671) SHA1(cd9d372c7e272d2371bc1f9fb0167831c804423f) )
2768 	ROM_LOAD16_BYTE( "epr-13232.a5", 0x000001, 0x40000, CRC(541d8bdf) SHA1(6a99153fddca246ba070e93c4bacd145f15f76bf) )
2769 
2770 	ROM_REGION( 0x2000, "maincpu:key", 0 )  // decryption key
2771 	ROM_LOAD( "317-0158.key", 0x0000, 0x2000, CRC(a8a50e8c) SHA1(6e05a40dbf31b4007df1bb27eee85a78da3d8417) )
2772 
2773 	ROM_REGION( 0xc0000, "gfx1", 0 ) // tiles
2774 	ROM_LOAD( "mpr-13216.b1", 0x00000, 0x40000, CRC(862d2c03) SHA1(3c5446d702a639b62a602c6d687f9875d8450218) )
2775 	ROM_LOAD( "mpr-13217.b2", 0x40000, 0x40000, CRC(7d1ac3ec) SHA1(8495357304f1df135bba77ef3b96e79a883b8ff0) )
2776 	ROM_LOAD( "mpr-13218.b3", 0x80000, 0x40000, CRC(56d3393c) SHA1(50a2d065060692c9ecaa56046a781cb21d93e554) )
2777 
2778 	ROM_REGION16_BE( 0x200000, "sprites", 0 ) // sprites
2779 	ROM_LOAD16_BYTE( "mpr-13224.b11", 0x000001, 0x40000, CRC(c59f107b) SHA1(10fa60fca6e34eda277c483bb1c0e81bb88c8a47) )
2780 	ROM_LOAD16_BYTE( "mpr-13231.a11", 0x000000, 0x40000, CRC(a5e96346) SHA1(a854f4dd5dc16975373255110fdb8ab3d121b1af) )
2781 	ROM_LOAD16_BYTE( "mpr-13223.b10", 0x080001, 0x40000, CRC(364f60ff) SHA1(9ac887ec0b2e32b504b7c6a5f3bb1ce3fe41a15a) )
2782 	ROM_LOAD16_BYTE( "mpr-13230.a10", 0x080000, 0x40000, CRC(9550091f) SHA1(bb6e898f7b540e130fd338c10f74609a7604cef4) )
2783 	ROM_LOAD16_BYTE( "mpr-13222.b9",  0x100001, 0x40000, CRC(523df3ed) SHA1(2e496125e75decd674c3a08404fbdb53791a965d) )
2784 	ROM_LOAD16_BYTE( "mpr-13229.a9",  0x100000, 0x40000, CRC(f40dc45d) SHA1(e9468cef428f52ecdf6837c6d9a9fea934e7676c) )
2785 	ROM_LOAD16_BYTE( "epr-13221.b8",  0x180001, 0x40000, CRC(9ae7546a) SHA1(5413b0131881b0b32bac8de51da9a299835014bb) )
2786 	ROM_LOAD16_BYTE( "epr-13228.a8",  0x180000, 0x40000, CRC(de3786be) SHA1(2279bb390aa3efab9aeee0a643e5cb6a4f5933b6) )
2787 
2788 	ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
2789 	ROM_LOAD( "epr-13225.a4", 0x000000, 0x20000, CRC(56c2e82b) SHA1(d5755a1bb6e889d274dc60e883d4d65f12fdc877) )
2790 	ROM_LOAD( "mpr-13219.b4", 0x080000, 0x40000, CRC(19e2061f) SHA1(2dcf1718a43dab4da53b4f67722664e70ddd2169) )
2791 	ROM_LOAD( "mpr-13220.b5", 0x100000, 0x40000, CRC(58d4d9ce) SHA1(725e73a656845b02702ef131b4c0aa2a73cdd02e) )
2792 	ROM_LOAD( "mpr-13249.b6", 0x180000, 0x40000, CRC(623edc5d) SHA1(c32d9f818d40f311877fbe6532d9e95b6045c3c4) )
2793 
2794 	ROM_REGION( 0x10000, "mcu", 0 ) // protection MCU
2795 	ROM_LOAD( "315-5437.ic4", 0x00000, 0x1000,  CRC(4bf63bc1) SHA1(2766ab30b466b079febb30c488adad9ea56813f7) )
2796 ROM_END
2797 
2798 ROM_START( mwalkud )
2799 	ROM_REGION( 0x80000, "maincpu", 0 )
2800 	ROM_LOAD16_BYTE( "bootleg_epr-13233.a6", 0x000000, 0x40000, CRC(b34fe725) SHA1(9d656b68ba758fba9739413cf404ee9b1471fd68) )
2801 	ROM_LOAD16_BYTE( "bootleg_epr-13232.a5", 0x000001, 0x40000, CRC(0d100fd4) SHA1(8c09c00dcb11fac2c7226e4fcc36b25458ccccff) )
2802 
2803 	ROM_REGION( 0xc0000, "gfx1", 0 ) // tiles
2804 	ROM_LOAD( "mpr-13216.b1", 0x00000, 0x40000, CRC(862d2c03) SHA1(3c5446d702a639b62a602c6d687f9875d8450218) )
2805 	ROM_LOAD( "mpr-13217.b2", 0x40000, 0x40000, CRC(7d1ac3ec) SHA1(8495357304f1df135bba77ef3b96e79a883b8ff0) )
2806 	ROM_LOAD( "mpr-13218.b3", 0x80000, 0x40000, CRC(56d3393c) SHA1(50a2d065060692c9ecaa56046a781cb21d93e554) )
2807 
2808 	ROM_REGION16_BE( 0x200000, "sprites", 0 ) // sprites
2809 	ROM_LOAD16_BYTE( "mpr-13224.b11", 0x000001, 0x40000, CRC(c59f107b) SHA1(10fa60fca6e34eda277c483bb1c0e81bb88c8a47) )
2810 	ROM_LOAD16_BYTE( "mpr-13231.a11", 0x000000, 0x40000, CRC(a5e96346) SHA1(a854f4dd5dc16975373255110fdb8ab3d121b1af) )
2811 	ROM_LOAD16_BYTE( "mpr-13223.b10", 0x080001, 0x40000, CRC(364f60ff) SHA1(9ac887ec0b2e32b504b7c6a5f3bb1ce3fe41a15a) )
2812 	ROM_LOAD16_BYTE( "mpr-13230.a10", 0x080000, 0x40000, CRC(9550091f) SHA1(bb6e898f7b540e130fd338c10f74609a7604cef4) )
2813 	ROM_LOAD16_BYTE( "mpr-13222.b9",  0x100001, 0x40000, CRC(523df3ed) SHA1(2e496125e75decd674c3a08404fbdb53791a965d) )
2814 	ROM_LOAD16_BYTE( "mpr-13229.a9",  0x100000, 0x40000, CRC(f40dc45d) SHA1(e9468cef428f52ecdf6837c6d9a9fea934e7676c) )
2815 	ROM_LOAD16_BYTE( "epr-13221.b8",  0x180001, 0x40000, CRC(9ae7546a) SHA1(5413b0131881b0b32bac8de51da9a299835014bb) )
2816 	ROM_LOAD16_BYTE( "epr-13228.a8",  0x180000, 0x40000, CRC(de3786be) SHA1(2279bb390aa3efab9aeee0a643e5cb6a4f5933b6) )
2817 
2818 	ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
2819 	ROM_LOAD( "epr-13225.a4", 0x000000, 0x20000, CRC(56c2e82b) SHA1(d5755a1bb6e889d274dc60e883d4d65f12fdc877) )
2820 	ROM_LOAD( "mpr-13219.b4", 0x080000, 0x40000, CRC(19e2061f) SHA1(2dcf1718a43dab4da53b4f67722664e70ddd2169) )
2821 	ROM_LOAD( "mpr-13220.b5", 0x100000, 0x40000, CRC(58d4d9ce) SHA1(725e73a656845b02702ef131b4c0aa2a73cdd02e) )
2822 	ROM_LOAD( "mpr-13249.b6", 0x180000, 0x40000, CRC(623edc5d) SHA1(c32d9f818d40f311877fbe6532d9e95b6045c3c4) )
2823 
2824 	ROM_REGION( 0x10000, "mcu", 0 ) // protection MCU
2825 	ROM_LOAD( "315-5437.ic4", 0x00000, 0x1000,  CRC(4bf63bc1) SHA1(2766ab30b466b079febb30c488adad9ea56813f7) )
2826 ROM_END
2827 
2828 /**************************************************************************************************************************
2829     Moonwalker, Sega System 18
2830     CPU: FD1094 (317-0157)
2831     ROM Board: 171-5873B
2832    Main board: 837-7530
2833       Game BD: 833-7528 MOONWALKER
2834     ROM Board: 834-7529
2835 */
2836 ROM_START( mwalkj )
2837 	ROM_REGION( 0x80000, "maincpu", 0 ) // 68000 code - custom cpu 317-0157
2838 	ROM_LOAD16_BYTE( "epr-13227.a6", 0x000000, 0x40000, CRC(6c0534b3) SHA1(23f35d1a15275cbc4b6d2f81f5634abac3832282) )
2839 	ROM_LOAD16_BYTE( "epr-13226.a5", 0x000001, 0x40000, CRC(99765854) SHA1(c00776c676b77fed4e94bb02f52f905c845ee73c) )
2840 
2841 	ROM_REGION( 0x2000, "maincpu:key", 0 )  // decryption key
2842 	ROM_LOAD( "317-0157.key", 0x0000, 0x2000, CRC(324d6931) SHA1(f8f4530a75aeeace1c8456da37118975c5c43316) )
2843 
2844 	ROM_REGION( 0xc0000, "gfx1", 0 ) // tiles
2845 	ROM_LOAD( "mpr-13216.b1", 0x00000, 0x40000, CRC(862d2c03) SHA1(3c5446d702a639b62a602c6d687f9875d8450218) )
2846 	ROM_LOAD( "mpr-13217.b2", 0x40000, 0x40000, CRC(7d1ac3ec) SHA1(8495357304f1df135bba77ef3b96e79a883b8ff0) )
2847 	ROM_LOAD( "mpr-13218.b3", 0x80000, 0x40000, CRC(56d3393c) SHA1(50a2d065060692c9ecaa56046a781cb21d93e554) )
2848 
2849 	ROM_REGION16_BE( 0x200000, "sprites", 0 ) // sprites
2850 	ROM_LOAD16_BYTE( "mpr-13224.b11", 0x000001, 0x40000, CRC(c59f107b) SHA1(10fa60fca6e34eda277c483bb1c0e81bb88c8a47) )
2851 	ROM_LOAD16_BYTE( "mpr-13231.a11", 0x000000, 0x40000, CRC(a5e96346) SHA1(a854f4dd5dc16975373255110fdb8ab3d121b1af) )
2852 	ROM_LOAD16_BYTE( "mpr-13223.b10", 0x080001, 0x40000, CRC(364f60ff) SHA1(9ac887ec0b2e32b504b7c6a5f3bb1ce3fe41a15a) )
2853 	ROM_LOAD16_BYTE( "mpr-13230.a10", 0x080000, 0x40000, CRC(9550091f) SHA1(bb6e898f7b540e130fd338c10f74609a7604cef4) )
2854 	ROM_LOAD16_BYTE( "mpr-13222.b9",  0x100001, 0x40000, CRC(523df3ed) SHA1(2e496125e75decd674c3a08404fbdb53791a965d) )
2855 	ROM_LOAD16_BYTE( "mpr-13229.a9",  0x100000, 0x40000, CRC(f40dc45d) SHA1(e9468cef428f52ecdf6837c6d9a9fea934e7676c) )
2856 	ROM_LOAD16_BYTE( "epr-13221.b8",  0x180001, 0x40000, CRC(9ae7546a) SHA1(5413b0131881b0b32bac8de51da9a299835014bb) )
2857 	ROM_LOAD16_BYTE( "epr-13228.a8",  0x180000, 0x40000, CRC(de3786be) SHA1(2279bb390aa3efab9aeee0a643e5cb6a4f5933b6) )
2858 
2859 	ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
2860 	ROM_LOAD( "epr-13225.a4", 0x000000, 0x20000, CRC(56c2e82b) SHA1(d5755a1bb6e889d274dc60e883d4d65f12fdc877) )
2861 	ROM_LOAD( "mpr-13219.b4", 0x080000, 0x40000, CRC(19e2061f) SHA1(2dcf1718a43dab4da53b4f67722664e70ddd2169) )
2862 	ROM_LOAD( "mpr-13220.b5", 0x100000, 0x40000, CRC(58d4d9ce) SHA1(725e73a656845b02702ef131b4c0aa2a73cdd02e) )
2863 	ROM_LOAD( "mpr-13249.b6", 0x180000, 0x40000, CRC(623edc5d) SHA1(c32d9f818d40f311877fbe6532d9e95b6045c3c4) )
2864 
2865 	ROM_REGION( 0x10000, "mcu", 0 ) // protection MCU
2866 	ROM_LOAD( "315-5437.ic4", 0x00000, 0x1000, CRC(4bf63bc1) SHA1(2766ab30b466b079febb30c488adad9ea56813f7) )
2867 ROM_END
2868 
2869 ROM_START( mwalkjd )
2870 	ROM_REGION( 0x80000, "maincpu", 0 )
2871 	ROM_LOAD16_BYTE( "bootleg_epr-13227.a6", 0x000000, 0x40000, CRC(d8e00521) SHA1(a53cdf7e359b25527f4a39ae1a5d0a461ac73242) )
2872 	ROM_LOAD16_BYTE( "bootleg_epr-13226.a5", 0x000001, 0x40000, CRC(cb0ba822) SHA1(c2db762525e7cc65a7272e7a732ba9e3cee29c5d) )
2873 
2874 	ROM_REGION( 0xc0000, "gfx1", 0 ) // tiles
2875 	ROM_LOAD( "mpr-13216.b1", 0x00000, 0x40000, CRC(862d2c03) SHA1(3c5446d702a639b62a602c6d687f9875d8450218) )
2876 	ROM_LOAD( "mpr-13217.b2", 0x40000, 0x40000, CRC(7d1ac3ec) SHA1(8495357304f1df135bba77ef3b96e79a883b8ff0) )
2877 	ROM_LOAD( "mpr-13218.b3", 0x80000, 0x40000, CRC(56d3393c) SHA1(50a2d065060692c9ecaa56046a781cb21d93e554) )
2878 
2879 	ROM_REGION16_BE( 0x200000, "sprites", 0 ) // sprites
2880 	ROM_LOAD16_BYTE( "mpr-13224.b11", 0x000001, 0x40000, CRC(c59f107b) SHA1(10fa60fca6e34eda277c483bb1c0e81bb88c8a47) )
2881 	ROM_LOAD16_BYTE( "mpr-13231.a11", 0x000000, 0x40000, CRC(a5e96346) SHA1(a854f4dd5dc16975373255110fdb8ab3d121b1af) )
2882 	ROM_LOAD16_BYTE( "mpr-13223.b10", 0x080001, 0x40000, CRC(364f60ff) SHA1(9ac887ec0b2e32b504b7c6a5f3bb1ce3fe41a15a) )
2883 	ROM_LOAD16_BYTE( "mpr-13230.a10", 0x080000, 0x40000, CRC(9550091f) SHA1(bb6e898f7b540e130fd338c10f74609a7604cef4) )
2884 	ROM_LOAD16_BYTE( "mpr-13222.b9",  0x100001, 0x40000, CRC(523df3ed) SHA1(2e496125e75decd674c3a08404fbdb53791a965d) )
2885 	ROM_LOAD16_BYTE( "mpr-13229.a9",  0x100000, 0x40000, CRC(f40dc45d) SHA1(e9468cef428f52ecdf6837c6d9a9fea934e7676c) )
2886 	ROM_LOAD16_BYTE( "epr-13221.b8",  0x180001, 0x40000, CRC(9ae7546a) SHA1(5413b0131881b0b32bac8de51da9a299835014bb) )
2887 	ROM_LOAD16_BYTE( "epr-13228.a8",  0x180000, 0x40000, CRC(de3786be) SHA1(2279bb390aa3efab9aeee0a643e5cb6a4f5933b6) )
2888 
2889 	ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
2890 	ROM_LOAD( "epr-13225.a4", 0x000000, 0x20000, CRC(56c2e82b) SHA1(d5755a1bb6e889d274dc60e883d4d65f12fdc877) )
2891 	ROM_LOAD( "mpr-13219.b4", 0x080000, 0x40000, CRC(19e2061f) SHA1(2dcf1718a43dab4da53b4f67722664e70ddd2169) )
2892 	ROM_LOAD( "mpr-13220.b5", 0x100000, 0x40000, CRC(58d4d9ce) SHA1(725e73a656845b02702ef131b4c0aa2a73cdd02e) )
2893 	ROM_LOAD( "mpr-13249.b6", 0x180000, 0x40000, CRC(623edc5d) SHA1(c32d9f818d40f311877fbe6532d9e95b6045c3c4) )
2894 
2895 	ROM_REGION( 0x10000, "mcu", 0 ) // protection MCU
2896 	// not verified if mcu is the same as the other sets..
2897 	ROM_LOAD( "315-5437.ic4", 0x00000, 0x1000, BAD_DUMP CRC(4bf63bc1) SHA1(2766ab30b466b079febb30c488adad9ea56813f7) )
2898 ROM_END
2899 
2900 /**************************************************************************************************************************
2901  **************************************************************************************************************************
2902  **************************************************************************************************************************
2903     Pontoon, Sega System 18
2904     CPU: FD1094 317-0153
2905     ROM Board: 171-5873B
2906 */
2907 ROM_START( pontoon )
2908 	ROM_REGION( 0x80000, "maincpu", 0 ) // 68000 code
2909 	ROM_LOAD16_BYTE( "epr-13175.a6", 0x000000, 0x40000, CRC(a2a5d0f5) SHA1(e22b13f152e0edadeb0f84b4a93ad366201cbae9) )
2910 	ROM_LOAD16_BYTE( "epr-13174.a5", 0x000001, 0x40000, CRC(db976b13) SHA1(3970968b21491beb8aac109eeb753b69ca752205) )
2911 
2912 	ROM_REGION( 0x2000, "maincpu:key", 0 )  // decryption key
2913 	ROM_LOAD( "317-0153.key", 0x0000, 0x2000, CRC(bcac8c7a) SHA1(1ee9db8f21a55cbfc391af9731d6a1dcf7f2d4c2) )
2914 
2915 	ROM_REGION( 0xc0000, "gfx1", 0 ) // tiles
2916 	ROM_LOAD( "epr-13097.b1", 0x00000, 0x40000, CRC(6474b245) SHA1(af7db8ac8e74628a8ba61d0860960deeca4a3e3f) )
2917 	ROM_LOAD( "epr-13098.b2", 0x40000, 0x40000, CRC(89fc9a9b) SHA1(d98691eb5fef8aca4ad5e416d0a3797d6ca9b012) )
2918 	ROM_LOAD( "epr-13099.b3", 0x80000, 0x40000, CRC(790e0ac6) SHA1(a4999b7015ef27d6cbe4f53bc0d7fe05ee40d178) )
2919 
2920 	ROM_REGION16_BE( 0x80000, "sprites", 0 ) // sprites
2921 	ROM_LOAD16_BYTE( "epr-13173.b11",  0x000001, 0x40000, CRC(40a0ddfa) SHA1(f3917361f627865d2f1a22791904da056ce8a93a) )
2922 	ROM_LOAD16_BYTE( "epr-13176.a11",  0x000000, 0x40000, CRC(1184fbd2) SHA1(685ee2d7c4a0134af13ccf5d15f2e56a6b905195) )
2923 
2924 	ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
2925 	ROM_LOAD( "epr-12826a.a4", 0x00000, 0x20000, CRC(d41e2a3f) SHA1(087a6515ebefc3252a1feab5bf7b8a22bff9e379) )
2926 ROM_END
2927 
2928 
2929 /**************************************************************************************************************************
2930  **************************************************************************************************************************
2931  **************************************************************************************************************************
2932     Shadow Dancer, Sega System 18
2933     CPU: 68000
2934     ROM Board: 171-5873B
2935 
2936     game No. 833-7246-03
2937     pcb  No. 837-7248-01
2938     ROM  No. 834-7247-02
2939 */
2940 ROM_START( shdancer )
2941 	ROM_REGION( 0x80000, "maincpu", 0 ) // 68000 code
2942 	ROM_LOAD16_BYTE( "epr-12774b.a6",  0x000000, 0x40000, CRC(3d5b3fa9) SHA1(370dd6e8ab9fb9e77eee9262d13fbdb4cf575abc) )
2943 	ROM_LOAD16_BYTE( "epr-12773b.a5",  0x000001, 0x40000, CRC(2596004e) SHA1(1b993aa74e7559f7e99253fd2144db9449c04cce) )
2944 
2945 	ROM_REGION( 0xc0000, "gfx1", 0 ) // tiles
2946 	ROM_LOAD( "mpr-12712.b1",  0x00000, 0x40000, CRC(9bdabe3d) SHA1(4bb30fa2d4cdefe4a864cef7153b516bc5b02c42) )
2947 	ROM_LOAD( "mpr-12713.b2",  0x40000, 0x40000, CRC(852d2b1c) SHA1(8e5bc83d45e48b621ea3016207f2028fe41701e6) )
2948 	ROM_LOAD( "mpr-12714.b3",  0x80000, 0x40000, CRC(448226ce) SHA1(3060e4a43311069e2691d659c1e0c1a48edfeedb) )
2949 
2950 	ROM_REGION16_BE( 0x200000, "sprites", 0 ) // sprites
2951 	ROM_LOAD16_BYTE( "mpr-12719.b11", 0x000001, 0x40000, CRC(d6888534) SHA1(2201f1921a68cf39e5a94b487c90e48d032d630f) )
2952 	ROM_LOAD16_BYTE( "mpr-12726.a11", 0x000000, 0x40000, CRC(ff344945) SHA1(2743778c42f53321f9691d60bbf94ea8baf1382f) )
2953 	ROM_LOAD16_BYTE( "mpr-12718.b10", 0x080001, 0x40000, CRC(ba2efc0c) SHA1(459a1a280f870c94aefb70127ed007cb090ed203) )
2954 	ROM_LOAD16_BYTE( "mpr-12725.a10", 0x080000, 0x40000, CRC(268a0c17) SHA1(2756054fa3c3aed30a1fce5e41acb0ceaebe90b5) )
2955 	ROM_LOAD16_BYTE( "mpr-12717.b9",  0x100001, 0x40000, CRC(c81cc4f8) SHA1(22f364e85057ceef533e051c8d0755b9691c5ec4) )
2956 	ROM_LOAD16_BYTE( "mpr-12724.a9",  0x100000, 0x40000, CRC(0f4903dc) SHA1(851bd60e877c9e39be23dc1fde91efc9da513c29) )
2957 	ROM_LOAD16_BYTE( "epr-12716.b8",  0x180001, 0x40000, CRC(a870e629) SHA1(29f6633240f9737ec19e16100decc7aa045b2060) )
2958 	ROM_LOAD16_BYTE( "epr-12723.a8",  0x180000, 0x40000, CRC(c606cf90) SHA1(cb53ae9a6da1eb31c584173d1fbbd1c8539fb54c) )
2959 
2960 	ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
2961 	ROM_LOAD( "epr-12987.a4",  0x00000, 0x20000, CRC(d1c020cc) SHA1(7823e31fc44180570ee2512a73e993533204b5ab) )
2962 	ROM_LOAD( "mpr-12715.b4",  0x80000, 0x40000, CRC(07051a52) SHA1(d48658497f4a34665d3e051f893ff057c38925ae) )
2963 ROM_END
2964 
2965 /**************************************************************************************************************************
2966     Shadow Dancer, Sega System 18
2967     CPU: 68000
2968     ROM Board: 171-5873B
2969 */
2970 ROM_START( shdancerj )
2971 	ROM_REGION( 0x80000, "maincpu", 0 ) // 68000 code
2972 	ROM_LOAD16_BYTE( "epr-12722b.a6",  0x000000, 0x40000, CRC(c00552a2) SHA1(74fddfe596bc00bc11c4a06e2103417e8fd334f6) )
2973 	ROM_LOAD16_BYTE( "epr-12721b.a5",  0x000001, 0x40000, CRC(653d351a) SHA1(1a03a154cb81a5a2f28c38aecdd6b5d107ea7ffa) )
2974 
2975 	ROM_REGION( 0xc0000, "gfx1", 0 ) // tiles
2976 	ROM_LOAD( "mpr-12712.b1",  0x00000, 0x40000, CRC(9bdabe3d) SHA1(4bb30fa2d4cdefe4a864cef7153b516bc5b02c42) )
2977 	ROM_LOAD( "mpr-12713.b2",  0x40000, 0x40000, CRC(852d2b1c) SHA1(8e5bc83d45e48b621ea3016207f2028fe41701e6) )
2978 	ROM_LOAD( "mpr-12714.b3",  0x80000, 0x40000, CRC(448226ce) SHA1(3060e4a43311069e2691d659c1e0c1a48edfeedb) )
2979 
2980 	ROM_REGION16_BE( 0x200000, "sprites", 0 ) // sprites
2981 	ROM_LOAD16_BYTE( "mpr-12719.b11", 0x000001, 0x40000, CRC(d6888534) SHA1(2201f1921a68cf39e5a94b487c90e48d032d630f) )
2982 	ROM_LOAD16_BYTE( "mpr-12726.a11", 0x000000, 0x40000, CRC(ff344945) SHA1(2743778c42f53321f9691d60bbf94ea8baf1382f) )
2983 	ROM_LOAD16_BYTE( "mpr-12718.b10", 0x080001, 0x40000, CRC(ba2efc0c) SHA1(459a1a280f870c94aefb70127ed007cb090ed203) )
2984 	ROM_LOAD16_BYTE( "mpr-12725.a10", 0x080000, 0x40000, CRC(268a0c17) SHA1(2756054fa3c3aed30a1fce5e41acb0ceaebe90b5) )
2985 	ROM_LOAD16_BYTE( "mpr-12717.b9",  0x100001, 0x40000, CRC(c81cc4f8) SHA1(22f364e85057ceef533e051c8d0755b9691c5ec4) )
2986 	ROM_LOAD16_BYTE( "mpr-12724.a9",  0x100000, 0x40000, CRC(0f4903dc) SHA1(851bd60e877c9e39be23dc1fde91efc9da513c29) )
2987 	ROM_LOAD16_BYTE( "epr-12716.b8",  0x180001, 0x40000, CRC(a870e629) SHA1(29f6633240f9737ec19e16100decc7aa045b2060) )
2988 	ROM_LOAD16_BYTE( "epr-12723.a8",  0x180000, 0x40000, CRC(c606cf90) SHA1(cb53ae9a6da1eb31c584173d1fbbd1c8539fb54c) )
2989 
2990 	ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
2991 	ROM_LOAD( "epr-12720.a4",  0x00000, 0x20000, CRC(7a0d8de1) SHA1(eca5e2104e5b3e772d083a718171234f06ea8a55) )
2992 	ROM_LOAD( "mpr-12715.b4",  0x80000, 0x40000, CRC(07051a52) SHA1(d48658497f4a34665d3e051f893ff057c38925ae) )
2993 ROM_END
2994 
2995 /**************************************************************************************************************************
2996     Shadow Dancer, Sega System 18
2997     CPU: 68000
2998     ROM Board: 171-5873B
2999 
3000     game No. 833-7246-01
3001     pcb  No. 837-7248
3002     ROM  No. 834-7247-01
3003 */
3004 ROM_START( shdancer1 )
3005 	ROM_REGION( 0x80000, "maincpu", 0 ) // 68000 code
3006 	ROM_LOAD16_BYTE( "epr-12772b.a6",  0x000000, 0x40000, CRC(6868a4d4) SHA1(f0d142c81fe1eba4f5c59a0163e25c80ccfe85d7) )
3007 	ROM_LOAD16_BYTE( "epr-12771b.a5",  0x000001, 0x40000, CRC(04e30c84) SHA1(6c5705f7de6ee1bd754b51988cc7d1008f817c78) )
3008 
3009 	ROM_REGION( 0xc0000, "gfx1", 0 ) // tiles
3010 	ROM_LOAD( "mpr-12712.b1",  0x00000, 0x40000, CRC(9bdabe3d) SHA1(4bb30fa2d4cdefe4a864cef7153b516bc5b02c42) )
3011 	ROM_LOAD( "mpr-12713.b2",  0x40000, 0x40000, CRC(852d2b1c) SHA1(8e5bc83d45e48b621ea3016207f2028fe41701e6) )
3012 	ROM_LOAD( "mpr-12714.b3",  0x80000, 0x40000, CRC(448226ce) SHA1(3060e4a43311069e2691d659c1e0c1a48edfeedb) )
3013 
3014 	ROM_REGION16_BE( 0x200000, "sprites", 0 ) // sprites
3015 	ROM_LOAD16_BYTE( "mpr-12719.b11", 0x000001, 0x40000, CRC(d6888534) SHA1(2201f1921a68cf39e5a94b487c90e48d032d630f) )
3016 	ROM_LOAD16_BYTE( "mpr-12726.a11", 0x000000, 0x40000, CRC(ff344945) SHA1(2743778c42f53321f9691d60bbf94ea8baf1382f) )
3017 	ROM_LOAD16_BYTE( "mpr-12718.b10", 0x080001, 0x40000, CRC(ba2efc0c) SHA1(459a1a280f870c94aefb70127ed007cb090ed203) )
3018 	ROM_LOAD16_BYTE( "mpr-12725.a10", 0x080000, 0x40000, CRC(268a0c17) SHA1(2756054fa3c3aed30a1fce5e41acb0ceaebe90b5) )
3019 	ROM_LOAD16_BYTE( "mpr-12717.b9",  0x100001, 0x40000, CRC(c81cc4f8) SHA1(22f364e85057ceef533e051c8d0755b9691c5ec4) )
3020 	ROM_LOAD16_BYTE( "mpr-12724.a9",  0x100000, 0x40000, CRC(0f4903dc) SHA1(851bd60e877c9e39be23dc1fde91efc9da513c29) )
3021 	ROM_LOAD16_BYTE( "epr-12716.b8",  0x180001, 0x40000, CRC(a870e629) SHA1(29f6633240f9737ec19e16100decc7aa045b2060) )
3022 	ROM_LOAD16_BYTE( "epr-12723.a8",  0x180000, 0x40000, CRC(c606cf90) SHA1(cb53ae9a6da1eb31c584173d1fbbd1c8539fb54c) )
3023 
3024 	ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
3025 	ROM_LOAD( "epr-12720.a4",  0x00000, 0x20000, CRC(7a0d8de1) SHA1(eca5e2104e5b3e772d083a718171234f06ea8a55) )
3026 	ROM_LOAD( "mpr-12715.b4",  0x80000, 0x40000, CRC(07051a52) SHA1(d48658497f4a34665d3e051f893ff057c38925ae) )
3027 ROM_END
3028 
3029 
3030 /**************************************************************************************************************************
3031  **************************************************************************************************************************
3032  **************************************************************************************************************************
3033     Wally wo Sagase! (Where's Wally?), Sega System 18
3034     CPU: FD1094 317-0197B
3035     ROM Board: 171-5873B
3036    Main board: 837-8777-01
3037       Game BD: 833-8775-01 WALLY
3038     ROM Board: 834-8776-01
3039 */
3040 ROM_START( wwallyj )
3041 	ROM_REGION( 0x80000, "maincpu", 0 ) // 68000 code - custom CPU 317-0197B
3042 	ROM_LOAD16_BYTE( "epr-14730b.a4", 0x000000, 0x40000, CRC(e72bc17a) SHA1(ac3b7d86571a6f510c202735134c1bc4809aa26e) )
3043 	ROM_LOAD16_BYTE( "epr-14731b.a6", 0x000001, 0x40000, CRC(6e3235b9) SHA1(11d5628644e8301550c36c93e5f137c67c11e735) )
3044 
3045 	ROM_REGION( 0x2000, "maincpu:key", 0 )  // decryption key
3046 	ROM_LOAD( "317-0197b.key", 0x0000, 0x2000, CRC(f5b7c5b4) SHA1(be971a2349e7c3adc995581355fea48f5123421c) )
3047 
3048 	ROM_REGION( 0x0c0000, "gfx1", 0 ) // tiles
3049 	ROM_LOAD( "mpr-14719.c1", 0x000000, 0x40000, CRC(8b58c743) SHA1(ee50baa184d68558d62d1817b2b9c138226ed25a) )
3050 	ROM_LOAD( "mpr-14720.c2", 0x040000, 0x40000, CRC(f96d19f4) SHA1(e350b551db8d01062397cd9a0c952a7b5dbf3fe6) )
3051 	ROM_LOAD( "mpr-14721.c3", 0x080000, 0x40000, CRC(c4ced91d) SHA1(4c8a070959ca10e2dddf407ddbba212415d78727) )
3052 
3053 	ROM_REGION16_BE( 0x500000, "sprites", 0 ) // sprites
3054 	ROM_LOAD16_BYTE( "mpr-14726.c10", 0x000001, 0x100000, CRC(7213d1d3) SHA1(b70346a1dd3aa112bc696a7f4dd9ca908c3e5afa) )
3055 	ROM_LOAD16_BYTE( "mpr-14732.a10", 0x000000, 0x100000, CRC(04ced549) SHA1(59fd6510f0e14613d830ac6527f12ccc0b9351a5) )
3056 	ROM_LOAD16_BYTE( "mpr-14727.c11", 0x200001, 0x100000, CRC(3b74e0f0) SHA1(40432dbbbf75dae1e5e32b7cc2c4884f5e9e3bf5) )
3057 	ROM_LOAD16_BYTE( "mpr-14733.a11", 0x200000, 0x100000, CRC(6da0444f) SHA1(80c32895af19bda3277376fdbd1c163f0ed25665) )
3058 	ROM_LOAD16_BYTE( "mpr-14728.c12", 0x400001, 0x080000, CRC(5b921587) SHA1(2779dc658bb7a51f2399af5a6463ccb2dd388e88) )
3059 	ROM_LOAD16_BYTE( "mpr-14734.a12", 0x400000, 0x080000, CRC(6f3f5ed9) SHA1(01972c8bd5bfde58715bc0adc7dea73bf6350a26) )
3060 
3061 	ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
3062 	ROM_LOAD( "epr-14725.c7",   0x000000, 0x20000, CRC(2b29684f) SHA1(b83962a4f475f9b3e79d4f7ff577b170c4043156) )
3063 	ROM_LOAD( "mpr-14724.c6",   0x080000, 0x80000, CRC(47cbea86) SHA1(c70d1fed2912c7c05223ce0bb0941706f957295f) )
3064 	ROM_LOAD( "mpr-14723.c5",   0x100000, 0x80000, CRC(bc5adc27) SHA1(09405002b940a3d3eb0f1258f37af51e0b7581b9) )
3065 	ROM_LOAD( "mpr-14722.c4",   0x180000, 0x80000, CRC(1bd081f8) SHA1(e5b0b5d8334486f813d7c430bb7fce3f69605a21) )
3066 ROM_END
3067 
3068 ROM_START( wwallyjd )
3069 	ROM_REGION( 0x80000, "maincpu", 0 )
3070 	ROM_LOAD16_BYTE( "bootleg_epr-14730b.a4", 0x000000, 0x40000, CRC(1d46f791) SHA1(5bfffd108254db69e582a4e4c1012b9c9e223830) )
3071 	ROM_LOAD16_BYTE( "bootleg_epr-14731b.a6", 0x000001, 0x40000, CRC(a0f6325e) SHA1(a952d08c3d2324425db9d959e4e43f0c7024165b) )
3072 
3073 	ROM_REGION( 0x0c0000, "gfx1", 0 ) // tiles
3074 	ROM_LOAD( "mpr-14719.c1", 0x000000, 0x40000, CRC(8b58c743) SHA1(ee50baa184d68558d62d1817b2b9c138226ed25a) )
3075 	ROM_LOAD( "mpr-14720.c2", 0x040000, 0x40000, CRC(f96d19f4) SHA1(e350b551db8d01062397cd9a0c952a7b5dbf3fe6) )
3076 	ROM_LOAD( "mpr-14721.c3", 0x080000, 0x40000, CRC(c4ced91d) SHA1(4c8a070959ca10e2dddf407ddbba212415d78727) )
3077 
3078 	ROM_REGION16_BE( 0x500000, "sprites", 0 ) // sprites
3079 	ROM_LOAD16_BYTE( "mpr-14726.c10", 0x000001, 0x100000, CRC(7213d1d3) SHA1(b70346a1dd3aa112bc696a7f4dd9ca908c3e5afa) )
3080 	ROM_LOAD16_BYTE( "mpr-14732.a10", 0x000000, 0x100000, CRC(04ced549) SHA1(59fd6510f0e14613d830ac6527f12ccc0b9351a5) )
3081 	ROM_LOAD16_BYTE( "mpr-14727.c11", 0x200001, 0x100000, CRC(3b74e0f0) SHA1(40432dbbbf75dae1e5e32b7cc2c4884f5e9e3bf5) )
3082 	ROM_LOAD16_BYTE( "mpr-14733.a11", 0x200000, 0x100000, CRC(6da0444f) SHA1(80c32895af19bda3277376fdbd1c163f0ed25665) )
3083 	ROM_LOAD16_BYTE( "mpr-14728.c12", 0x400001, 0x080000, CRC(5b921587) SHA1(2779dc658bb7a51f2399af5a6463ccb2dd388e88) )
3084 	ROM_LOAD16_BYTE( "mpr-14734.a12", 0x400000, 0x080000, CRC(6f3f5ed9) SHA1(01972c8bd5bfde58715bc0adc7dea73bf6350a26) )
3085 
3086 	ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
3087 	ROM_LOAD( "epr-14725.c7",   0x000000, 0x20000, CRC(2b29684f) SHA1(b83962a4f475f9b3e79d4f7ff577b170c4043156) )
3088 	ROM_LOAD( "mpr-14724.c6",   0x080000, 0x80000, CRC(47cbea86) SHA1(c70d1fed2912c7c05223ce0bb0941706f957295f) )
3089 	ROM_LOAD( "mpr-14723.c5",   0x100000, 0x80000, CRC(bc5adc27) SHA1(09405002b940a3d3eb0f1258f37af51e0b7581b9) )
3090 	ROM_LOAD( "mpr-14722.c4",   0x180000, 0x80000, CRC(1bd081f8) SHA1(e5b0b5d8334486f813d7c430bb7fce3f69605a21) )
3091 ROM_END
3092 
3093 
3094 /**************************************************************************************************************************
3095     Wally wo Sagase! (Where's Wally?), Sega System 18
3096     CPU: FD1094 317-0197A
3097     ROM Board: 171-5873B
3098 */
3099 ROM_START( wwallyja )
3100 	ROM_REGION( 0x80000, "maincpu", 0 ) // 68000 code - custom CPU 317-0197A
3101 	ROM_LOAD16_BYTE( "epr-14730a.a4", 0x000000, 0x40000, CRC(daa7880e) SHA1(9ea83e04c3e07d84afa67097c28b3951c9db8d00) )
3102 	ROM_LOAD16_BYTE( "epr-14731a.a6", 0x000001, 0x40000, CRC(5e36353b) SHA1(488c54bbef3c8a129785465887bff3b301e11387) )
3103 
3104 	ROM_REGION( 0x2000, "maincpu:key", 0 )  // decryption key
3105 	ROM_LOAD( "317-0197a.key", 0x0000, 0x2000, CRC(2fb6a9a1) SHA1(2649d0905527dbe0dd0ad5cf68c457b4aa5fb32c) )
3106 
3107 	ROM_REGION( 0x0c0000, "gfx1", 0 ) // tiles
3108 	ROM_LOAD( "mpr-14719.c1", 0x000000, 0x40000, CRC(8b58c743) SHA1(ee50baa184d68558d62d1817b2b9c138226ed25a) )
3109 	ROM_LOAD( "mpr-14720.c2", 0x040000, 0x40000, CRC(f96d19f4) SHA1(e350b551db8d01062397cd9a0c952a7b5dbf3fe6) )
3110 	ROM_LOAD( "mpr-14721.c3", 0x080000, 0x40000, CRC(c4ced91d) SHA1(4c8a070959ca10e2dddf407ddbba212415d78727) )
3111 
3112 	ROM_REGION16_BE( 0x500000, "sprites", 0 ) // sprites
3113 	ROM_LOAD16_BYTE( "mpr-14726.c10", 0x000001, 0x100000, CRC(7213d1d3) SHA1(b70346a1dd3aa112bc696a7f4dd9ca908c3e5afa) )
3114 	ROM_LOAD16_BYTE( "mpr-14732.a10", 0x000000, 0x100000, CRC(04ced549) SHA1(59fd6510f0e14613d830ac6527f12ccc0b9351a5) )
3115 	ROM_LOAD16_BYTE( "mpr-14727.c11", 0x200001, 0x100000, CRC(3b74e0f0) SHA1(40432dbbbf75dae1e5e32b7cc2c4884f5e9e3bf5) )
3116 	ROM_LOAD16_BYTE( "mpr-14733.a11", 0x200000, 0x100000, CRC(6da0444f) SHA1(80c32895af19bda3277376fdbd1c163f0ed25665) )
3117 	ROM_LOAD16_BYTE( "mpr-14728.c12", 0x400001, 0x080000, CRC(5b921587) SHA1(2779dc658bb7a51f2399af5a6463ccb2dd388e88) )
3118 	ROM_LOAD16_BYTE( "mpr-14734.a12", 0x400000, 0x080000, CRC(6f3f5ed9) SHA1(01972c8bd5bfde58715bc0adc7dea73bf6350a26) )
3119 
3120 	ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
3121 	ROM_LOAD( "epr-14725.c7",   0x000000, 0x20000, CRC(2b29684f) SHA1(b83962a4f475f9b3e79d4f7ff577b170c4043156) )
3122 	ROM_LOAD( "mpr-14724.c6",   0x080000, 0x80000, CRC(47cbea86) SHA1(c70d1fed2912c7c05223ce0bb0941706f957295f) )
3123 	ROM_LOAD( "mpr-14723.c5",   0x100000, 0x80000, CRC(bc5adc27) SHA1(09405002b940a3d3eb0f1258f37af51e0b7581b9) )
3124 	ROM_LOAD( "mpr-14722.c4",   0x180000, 0x80000, CRC(1bd081f8) SHA1(e5b0b5d8334486f813d7c430bb7fce3f69605a21) )
3125 ROM_END
3126 
3127 ROM_START( wwallyjad )
3128 	ROM_REGION( 0x80000, "maincpu", 0 )
3129 	ROM_LOAD16_BYTE( "bootleg_epr-14730a.a4", 0x000000, 0x40000, CRC(0d9fb6df) SHA1(ea9c6ff545e31a8269c2e23620582e95817dac60))
3130 	ROM_LOAD16_BYTE( "bootleg_epr-14731a.a6", 0x000001, 0x40000, CRC(b88c140d) SHA1(407ded758caf76644d728e046d94b464fa03ca02) )
3131 
3132 	ROM_REGION( 0x0c0000, "gfx1", 0 ) // tiles
3133 	ROM_LOAD( "mpr-14719.c1", 0x000000, 0x40000, CRC(8b58c743) SHA1(ee50baa184d68558d62d1817b2b9c138226ed25a) )
3134 	ROM_LOAD( "mpr-14720.c2", 0x040000, 0x40000, CRC(f96d19f4) SHA1(e350b551db8d01062397cd9a0c952a7b5dbf3fe6) )
3135 	ROM_LOAD( "mpr-14721.c3", 0x080000, 0x40000, CRC(c4ced91d) SHA1(4c8a070959ca10e2dddf407ddbba212415d78727) )
3136 
3137 	ROM_REGION16_BE( 0x500000, "sprites", 0 ) // sprites
3138 	ROM_LOAD16_BYTE( "mpr-14726.c10", 0x000001, 0x100000, CRC(7213d1d3) SHA1(b70346a1dd3aa112bc696a7f4dd9ca908c3e5afa) )
3139 	ROM_LOAD16_BYTE( "mpr-14732.a10", 0x000000, 0x100000, CRC(04ced549) SHA1(59fd6510f0e14613d830ac6527f12ccc0b9351a5) )
3140 	ROM_LOAD16_BYTE( "mpr-14727.c11", 0x200001, 0x100000, CRC(3b74e0f0) SHA1(40432dbbbf75dae1e5e32b7cc2c4884f5e9e3bf5) )
3141 	ROM_LOAD16_BYTE( "mpr-14733.a11", 0x200000, 0x100000, CRC(6da0444f) SHA1(80c32895af19bda3277376fdbd1c163f0ed25665) )
3142 	ROM_LOAD16_BYTE( "mpr-14728.c12", 0x400001, 0x080000, CRC(5b921587) SHA1(2779dc658bb7a51f2399af5a6463ccb2dd388e88) )
3143 	ROM_LOAD16_BYTE( "mpr-14734.a12", 0x400000, 0x080000, CRC(6f3f5ed9) SHA1(01972c8bd5bfde58715bc0adc7dea73bf6350a26) )
3144 
3145 	ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
3146 	ROM_LOAD( "epr-14725.c7",   0x000000, 0x20000, CRC(2b29684f) SHA1(b83962a4f475f9b3e79d4f7ff577b170c4043156) )
3147 	ROM_LOAD( "mpr-14724.c6",   0x080000, 0x80000, CRC(47cbea86) SHA1(c70d1fed2912c7c05223ce0bb0941706f957295f) )
3148 	ROM_LOAD( "mpr-14723.c5",   0x100000, 0x80000, CRC(bc5adc27) SHA1(09405002b940a3d3eb0f1258f37af51e0b7581b9) )
3149 	ROM_LOAD( "mpr-14722.c4",   0x180000, 0x80000, CRC(1bd081f8) SHA1(e5b0b5d8334486f813d7c430bb7fce3f69605a21) )
3150 ROM_END
3151 
3152 
3153 
3154 /*************************************
3155  *
3156  *  Generic driver initialization
3157  *
3158  *************************************/
3159 
3160 void segas18_state::init_generic_shad()
3161 {
3162 	init_generic(ROM_BOARD_171_SHADOW);
3163 }
3164 
init_generic_5874()3165 void segas18_state::init_generic_5874()
3166 {
3167 	init_generic(ROM_BOARD_171_5874);
3168 }
3169 
init_generic_5987()3170 void segas18_state::init_generic_5987()
3171 {
3172 	init_generic(ROM_BOARD_171_5987);
3173 }
3174 
init_hamaway()3175 void segas18_state::init_hamaway()
3176 {
3177 	init_generic(ROM_BOARD_837_7525);
3178 }
3179 
3180 
3181 /*************************************
3182  *
3183  *  Game-specific driver inits
3184  *
3185  *************************************/
3186 
init_ddcrew()3187 void segas18_state::init_ddcrew()
3188 {
3189 	init_generic_5987();
3190 	m_custom_io_r = read16sm_delegate(*this, FUNC(segas18_state::ddcrew_custom_io_r));
3191 }
3192 
init_lghost()3193 void segas18_state::init_lghost()
3194 {
3195 	init_generic_5987();
3196 	m_custom_io_r = read16sm_delegate(*this, FUNC(segas18_state::lghost_custom_io_r));
3197 	m_custom_io_w = write16sm_delegate(*this, FUNC(segas18_state::lghost_custom_io_w));
3198 }
3199 
init_wwally()3200 void segas18_state::init_wwally()
3201 {
3202 	init_generic_5987();
3203 	m_custom_io_r = read16sm_delegate(*this, FUNC(segas18_state::wwally_custom_io_r));
3204 	m_custom_io_w = write16sm_delegate(*this, FUNC(segas18_state::wwally_custom_io_w));
3205 }
3206 
3207 
3208 /*************************************
3209  *
3210  *  Game driver(s)
3211  *
3212  *************************************/
3213 
3214 //    YEAR, NAME,      PARENT,   MACHINE,              INPUT,                   INIT,              MONITOR, COMPANY,        FULLNAME,                                        FLAGS
3215 GAME( 1990, astorm,    0,        system18_fd1094,      astorm2p, segas18_state, init_generic_5874, ROT0,   "Sega",          "Alien Storm (World, 2 Players) (FD1094 317-0154)", 0 )
3216 GAME( 1990, astorm3,   astorm,   system18_fd1094,      astorm,   segas18_state, init_generic_5874, ROT0,   "Sega",          "Alien Storm (World, 3 Players) (FD1094 317-0148)", 0 )
3217 GAME( 1990, astormu,   astorm,   system18_fd1094,      astorm,   segas18_state, init_generic_5874, ROT0,   "Sega",          "Alien Storm (US, 3 Players) (FD1094 317-0147)", 0 )
3218 GAME( 1990, astormj,   astorm,   system18_fd1094,      astorm2p, segas18_state, init_generic_5874, ROT0,   "Sega",          "Alien Storm (Japan, 2 Players) (FD1094 317-0146)", 0 )
3219 
3220 GAME( 1989, bloxeed,   0,        system18_fd1094,      bloxeed,  segas18_state, init_generic_5874, ROT0,   "Sega",          "Bloxeed (Japan) (FD1094 317-0139)", 0 )
3221 
3222 GAME( 1991, cltchitr,  0,        system18_fd1094,      cltchitr, segas18_state, init_generic_5987, ROT0,   "Sega",          "Clutch Hitter (US) (FD1094 317-0176)", 0 )
3223 GAME( 1991, cltchitrj, cltchitr, system18_fd1094,      cltchitr, segas18_state, init_generic_5987, ROT0,   "Sega",          "Clutch Hitter (Japan) (FD1094 317-0175)", 0 )
3224 
3225 GAME( 1992, desertbr,  0,        system18_fd1094,      desertbr, segas18_state, init_generic_5987, ROT270, "Sega",          "Desert Breaker (World) (FD1094 317-0196)", 0 )
3226 GAME( 1992, desertbrj, desertbr, system18_fd1094,      desertbr, segas18_state, init_generic_5987, ROT270, "Sega",          "Desert Breaker (Japan) (FD1094 317-0194)", 0 )
3227 
3228 GAME( 1991, ddcrew,    0,        system18_fd1094,      ddcrew3p, segas18_state, init_ddcrew,       ROT0,   "Sega",          "D. D. Crew (World, 3 Players) (FD1094 317-0190)", 0 )
3229 GAME( 1991, ddcrewu,   ddcrew,   system18_fd1094,      ddcrew,   segas18_state, init_ddcrew,       ROT0,   "Sega",          "D. D. Crew (US, 4 Players) (FD1094 317-0186)", 0 )
3230 GAME( 1991, ddcrew2,   ddcrew,   system18_fd1094,      ddcrew2p, segas18_state, init_ddcrew,       ROT0,   "Sega",          "D. D. Crew (World, 2 Players) (FD1094 317-0184)", 0 )
3231 GAME( 1991, ddcrew1,   ddcrew,   system18_fd1094,      ddcrew,   segas18_state, init_ddcrew,       ROT0,   "Sega",          "D. D. Crew (World, 4 Players) (FD1094 317-0187)", 0 )
3232 GAME( 1991, ddcrewj,   ddcrew,   system18_fd1094,      ddcrew,   segas18_state, init_ddcrew,       ROT0,   "Sega",          "D. D. Crew (Japan, 4 Players) (FD1094 317-0185)", 0 )
3233 GAME( 1991, ddcrewj2,  ddcrew,   system18_fd1094,      ddcrew2p, segas18_state, init_ddcrew,       ROT0,   "Sega",          "D. D. Crew (Japan, 2 Players) (FD1094 317-0182)", 0 )
3234 
3235 GAME( 1991, hamaway,   0,        system18,             hamaway,  segas18_state, init_hamaway,      ROT90,  "Sega / Santos", "Hammer Away (Japan, prototype)", 0 )
3236 
3237 GAME( 1990, lghost,    0,        lghost_fd1094,        lghost,   segas18_state, init_lghost,       ROT0,   "Sega",          "Laser Ghost (World) (FD1094 317-0166)", 0 )
3238 GAME( 1990, lghostu,   lghost,   lghost_fd1094,        lghost,   segas18_state, init_lghost,       ROT0,   "Sega",          "Laser Ghost (US) (FD1094 317-0165)", 0 )
3239 GAME( 1990, lghostj,   lghost,   lghost_fd1094,        lghost,   segas18_state, init_lghost,       ROT0,   "Sega",          "Laser Ghost (Japan) (FD1094 317-0164)", 0 )
3240 
3241 GAME( 1990, mwalk,     0,        system18_fd1094_i8751,mwalk,    segas18_state, init_generic_5874, ROT0,   "Sega",          "Michael Jackson's Moonwalker (World) (FD1094/8751 317-0159)", 0 )
3242 GAME( 1990, mwalku,    mwalk,    system18_fd1094_i8751,mwalka,   segas18_state, init_generic_5874, ROT0,   "Sega",          "Michael Jackson's Moonwalker (US) (FD1094/8751 317-0158)", 0 )
3243 GAME( 1990, mwalkj,    mwalk,    system18_fd1094_i8751,mwalk,    segas18_state, init_generic_5874, ROT0,   "Sega",          "Michael Jackson's Moonwalker (Japan) (FD1094/8751 317-0157)", 0 )
3244 
3245 GAME( 1989, pontoon,   0,        system18_fd1094,      shdancer, segas18_state, init_generic_5874, ROT0,   "Sega",          "Pontoon (FD1094 317-0153)", MACHINE_NOT_WORKING ) // satellite/networked gambling game?
3246 
3247 GAME( 1989, shdancer,  0,        system18,             shdancer, segas18_state, init_generic_shad, ROT0,   "Sega",          "Shadow Dancer (World)", 0 )
3248 GAME( 1989, shdancerj, shdancer, system18,             shdancer, segas18_state, init_generic_shad, ROT0,   "Sega",          "Shadow Dancer (Japan)", 0 )
3249 GAME( 1989, shdancer1, shdancer, system18,             shdancer, segas18_state, init_generic_shad, ROT0,   "Sega",          "Shadow Dancer (US)", 0 )
3250 
3251 GAME( 1992, wwallyj,   0,        wwally_fd1094,        wwally,   segas18_state, init_wwally,       ROT0,   "Sega",          "Wally wo Sagase! (rev B, Japan) (FD1094 317-0197B)", 0 ) // the ROMs do contain an english logo so maybe there is a world / us set too
3252 GAME( 1992, wwallyja,  wwallyj,  wwally_fd1094,        wwally,   segas18_state, init_wwally,       ROT0,   "Sega",          "Wally wo Sagase! (rev A, Japan) (FD1094 317-0197A)", 0 )
3253 
3254 // decrypted bootleg sets
3255 
3256 GAME( 1990, astorm3d,   astorm,   system18,      astorm,   segas18_state, init_generic_5874, ROT0,   "bootleg",          "Alien Storm (World, 3 Players) (bootleg of FD1094 317-0148 set)", 0 )
3257 GAME( 1990, astormud,   astorm,   system18,      astorm,   segas18_state, init_generic_5874, ROT0,   "bootleg",          "Alien Storm (US, 3 Players) (bootleg of FD1094 317-0147 set)", 0 )
3258 GAME( 1990, astormjd,   astorm,   system18,      astorm2p, segas18_state, init_generic_5874, ROT0,   "bootleg",          "Alien Storm (Japan, 2 Players) (bootleg of FD1094 317-0146 set)", 0 )
3259 
3260 GAME( 1989, bloxeedd,   bloxeed,  system18,      bloxeed,  segas18_state, init_generic_5874, ROT0,   "bootleg",          "Bloxeed (Japan) (bootleg of FD1094 317-0139 set)", 0 )
3261 
3262 GAME( 1991, cltchitrd,  cltchitr, system18,      cltchitr, segas18_state, init_generic_5987, ROT0,   "bootleg",          "Clutch Hitter (US) (bootleg of FD1094 317-0176 set)", 0 )
3263 GAME( 1991, cltchitrjd, cltchitr, system18,      cltchitr, segas18_state, init_generic_5987, ROT0,   "bootleg",          "Clutch Hitter (Japan) (bootleg of FD1094 317-0175 set)", 0 )
3264 
3265 GAME( 1992, desertbrd,  desertbr, system18,      desertbr, segas18_state, init_generic_5987, ROT270, "bootleg",          "Desert Breaker (World) (bootleg of FD1094 317-0196 set)", 0 )
3266 GAME( 1992, desertbrjd, desertbr, system18,      desertbr, segas18_state, init_generic_5987, ROT270, "bootleg",          "Desert Breaker (Japan) (bootleg of FD1094 317-0194 set)", 0 )
3267 
3268 GAME( 1991, ddcrewd,    ddcrew,   system18,      ddcrew3p, segas18_state, init_ddcrew,       ROT0,   "bootleg",          "D. D. Crew (World, 3 Players) (bootleg of FD1094 317-0190 set)", 0 )
3269 GAME( 1991, ddcrewud,   ddcrew,   system18,      ddcrew,   segas18_state, init_ddcrew,       ROT0,   "bootleg",          "D. D. Crew (US, 4 Players) (bootleg of FD1094 317-0186 set)", 0 )
3270 GAME( 1991, ddcrew2d,   ddcrew,   system18,      ddcrew2p, segas18_state, init_ddcrew,       ROT0,   "bootleg",          "D. D. Crew (World, 2 Players) (bootleg of FD1094 317-0184 set)", 0 )
3271 GAME( 1991, ddcrew1d,   ddcrew,   system18,      ddcrew,   segas18_state, init_ddcrew,       ROT0,   "bootleg",          "D. D. Crew (World, 4 Players) (bootleg of FD1094 317-0187 set)", 0 )
3272 GAME( 1991, ddcrewjd,   ddcrew,   system18,      ddcrew,   segas18_state, init_ddcrew,       ROT0,   "bootleg",          "D. D. Crew (Japan, 4 Players) (bootleg of FD1094 317-0185 set)", 0 )
3273 GAME( 1991, ddcrewj2d,  ddcrew,   system18,      ddcrew2p, segas18_state, init_ddcrew,       ROT0,   "bootleg",          "D. D. Crew (Japan, 2 Players) (bootleg of FD1094 317-0182 set)", 0 )
3274 
3275 GAME( 1990, lghostd,    lghost,   lghost,        lghost,   segas18_state, init_lghost,       ROT0,   "bootleg",          "Laser Ghost (World) (bootleg of FD1094 317-0166 set)", 0 )
3276 GAME( 1990, lghostud,   lghost,   lghost,        lghost,   segas18_state, init_lghost,       ROT0,   "bootleg",          "Laser Ghost (US) (bootleg of FD1094 317-0165 set)", 0 )
3277 
3278 GAME( 1990, mwalkd,     mwalk,    system18_i8751,mwalk,    segas18_state, init_generic_5874, ROT0,   "bootleg",          "Michael Jackson's Moonwalker (World) (bootleg of FD1094/8751 317-0159 set)", 0 )
3279 GAME( 1990, mwalkud,    mwalk,    system18_i8751,mwalka,   segas18_state, init_generic_5874, ROT0,   "bootleg",          "Michael Jackson's Moonwalker (US) (bootleg of FD1094/8751 317-0158 set)", 0 )
3280 GAME( 1990, mwalkjd,    mwalk,    system18_i8751,mwalk,    segas18_state, init_generic_5874, ROT0,   "bootleg",          "Michael Jackson's Moonwalker (Japan) (bootleg of FD1094/8751 317-0157 set)", 0 )
3281 
3282 GAME( 1992, wwallyjd,   wwallyj,  wwally,        wwally,   segas18_state, init_wwally,       ROT0,   "bootleg",          "Wally wo Sagase! (rev B, Japan) (bootleg of FD1094 317-0197B set)", 0 )
3283 GAME( 1992, wwallyjad,  wwallyj,  wwally,        wwally,   segas18_state, init_wwally,       ROT0,   "bootleg",          "Wally wo Sagase! (rev A, Japan) (bootleg of FD1094 317-0197A set)", 0 )
3284