1 /***************************************************************************
2 
3 	Midway MCR-3 system
4 
5     driver by Christopher Kirmse, Aaron Giles
6 
7 	Games supported:
8 		* Tapper
9 		* Timber
10 		* Discs of Tron (Squawk n' Talk)
11 		* Demolition Derby (Turbo Chip Squeak)
12 		* Demolition Derby (Monoboard version) (Turbo Chip Squeak)
13 		* Sarge (Turbo Chip Squeak)
14 		* Max RPM (Turbo Chip Squeak)
15 		* Rampage (Sounds Good)
16 		* Power Drive (Sounds Good)
17 		* Star Guards (Sounds Good)
18 		* Spy Hunter (Chip Squeak Deluxe)
19 		* Crater Raider
20 		* Turbo Tag (prototype) (Chip Squeak Deluxe)
21 
22 	Known bugs:
23 		* Spy Hunter crashes at the end of the boat level
24 		* sprite placement on the scrolling games seems a bit off
25 
26 ****************************************************************************
27 
28 	Memory map
29 
30 ****************************************************************************
31 
32 	========================================================================
33 	CPU #1
34 	========================================================================
35 	0000-DFFF   R     xxxxxxxx    Program ROM
36 	E000-E7FF   R/W   xxxxxxxx    NVRAM
37 	E800-E9FF   R/W   xxxxxxxx    Sprite RAM
38 	F000-F7FF   R/W   xxxxxxxx    Background video RAM
39 	F800-F8FF     W   xxxxxxxx    Palette RAM
40 	========================================================================
41 	0000        R     x-xxxxxx    Input ports
42 	            R     x-------    Service switch (active low)
43 	            R     --x-----    Tilt
44 	            R     ---xxx--    External inputs
45 	            R     ------x-    Right coin
46 	            R     -------x    Left coin
47 	0000        W     xxxxxxxx    Data latch OP0 (coin meters, 2 led's and cocktail 'flip')
48 	0001        R     xxxxxxxx    External inputs
49 	0002        R     xxxxxxxx    External inputs
50 	0003        R     xxxxxxxx    DIP switches
51 	0004        R     xxxxxxxx    External inputs
52 	0004        W     xxxxxxxx    Data latch OP4 (comm. with external hardware)
53 	0007        R     xxxxxxxx    Audio status
54 	001C-001F   W     xxxxxxxx    Audio latches 1-4
55 	00E0        W     --------    Watchdog reset
56 	00E8        W     xxxxxxxx    Unknown (written at initialization time)
57 	00F0-00F3   W     xxxxxxxx    CTC communications
58 	========================================================================
59 	Interrupts:
60 		NMI ???
61 		INT generated by CTC
62 	========================================================================
63 
64 
65 	========================================================================
66 	CPU #2 (Super Sound I/O)
67 	========================================================================
68 	0000-3FFF   R     xxxxxxxx    Program ROM
69 	8000-83FF   R/W   xxxxxxxx    Program RAM
70 	9000-9003   R     xxxxxxxx    Audio latches 1-4
71 	A000          W   xxxxxxxx    AY-8910 #1 control
72 	A001        R     xxxxxxxx    AY-8910 #1 status
73 	A002          W   xxxxxxxx    AY-8910 #1 data
74 	B000          W   xxxxxxxx    AY-8910 #2 control
75 	B001        R     xxxxxxxx    AY-8910 #2 status
76 	B002          W   xxxxxxxx    AY-8910 #2 data
77 	C000          W   xxxxxxxx    Audio status
78 	E000          W   xxxxxxxx    Unknown
79 	F000        R     xxxxxxxx    Audio board switches
80 	========================================================================
81 	Interrupts:
82 		NMI ???
83 		INT generated by external circuitry 780 times/second
84 	========================================================================
85 
86 ***************************************************************************/
87 
88 
89 #include "driver.h"
90 #include "machine/z80fmly.h"
91 #include "sndhrdw/mcr.h"
92 #include "vidhrdw/generic.h"
93 #include "artwork.h"
94 #include "mcr.h"
95 
96 
97 
98 /*************************************
99  *
100  *	Local variables and tables
101  *
102  *************************************/
103 
104 static UINT8 input_mux;
105 static UINT8 maxrpm_last_shift;
106 static INT8 maxrpm_p1_shift;
107 static INT8 maxrpm_p2_shift;
108 
109 /* Translation table for one-joystick emulation */
110 static const UINT8 one_joy_trans[16] =
111 {
112 	0x00,0x05,0x0A,0x00,0x06,0x04,0x08,0x00,
113 	0x09,0x01,0x02,0x00,0x00,0x00,0x00,0x00
114 };
115 
116 
117 
118 /*************************************
119  *
120  *	Discs of Tron I/O ports
121  *
122  *************************************/
123 
READ_HANDLER(dotron_port_2_r)124 static READ_HANDLER( dotron_port_2_r )
125 {
126 	static char lastfake = 0;
127 	static int mask = 0x00FF;
128 	static int count = 0;
129 	static int delta = 0;
130 	int data;
131 	char fake;
132 
133 	/* remap up and down on the mouse to aim up and down */
134 	data = input_port_2_r(offset);
135 	fake = input_port_6_r(offset);
136 
137 	delta += (fake - lastfake);
138 	lastfake = fake;
139 
140 	/* Map to "aim up" */
141 	if (delta > 5)
142 	{
143 		mask = 0x00EF;
144 		count = 5;
145 		delta = 0;
146 	}
147 
148 	/* Map to "aim down" */
149 	else if (delta < -5)
150 	{
151 		mask = 0x00DF;
152 		count = 5;
153 		delta = 0;
154 	}
155 
156 	if ((count--) <= 0)
157 	{
158 		count = 0;
159 		mask = 0x00FF;
160 	}
161 
162 	data &= mask;
163 
164 	return data;
165 }
166 
167 
WRITE_HANDLER(dotron_port_4_w)168 static WRITE_HANDLER( dotron_port_4_w )
169 {
170 	/* light control is in the top 2 bits */
171 	set_led_status(0, data & 0x40);		/* background light */
172 	set_led_status(1, data & 0x80);		/* strobe */
173 	artwork_show("backdrop", (data >> 6) & 1);
174 
175 	/* low 5 bits go to control the Squawk & Talk */
176 	squawkntalk_data_w(offset, data);
177 }
178 
179 
180 
181 /*************************************
182  *
183  *	Demolition Derby I/O ports
184  *
185  *************************************/
186 
WRITE_HANDLER(demoderb_port_4_w)187 static WRITE_HANDLER( demoderb_port_4_w )
188 {
189 	if (data & 0x40) input_mux = 1;
190 	if (data & 0x80) input_mux = 0;
191 	turbocs_data_w(offset, data);
192 }
193 
194 
READ_HANDLER(demoderb_port12_r)195 static READ_HANDLER( demoderb_port12_r )
196 {
197 	return readinputport(input_mux ? (6 + offset) : (1 + offset));
198 }
199 
200 
201 
202 /*************************************
203  *
204  *	Sarge I/O ports
205  *
206  *************************************/
207 
READ_HANDLER(sarge_port_1_r)208 static READ_HANDLER( sarge_port_1_r )
209 {
210 	return readinputport(1) & ~one_joy_trans[readinputport(6) & 0x0f];
211 }
212 
213 
READ_HANDLER(sarge_port_2_r)214 static READ_HANDLER( sarge_port_2_r )
215 {
216 	return readinputport(2) & ~one_joy_trans[(readinputport(6) >> 4) & 0x0f];
217 }
218 
219 
220 
221 /*************************************
222  *
223  *	Max RPM I/O ports
224  *
225  *************************************/
226 
WRITE_HANDLER(maxrpm_port_5_w)227 static WRITE_HANDLER( maxrpm_port_5_w )
228 {
229 	input_mux = (data >> 1) & 3;
230 	mcrmono_control_port_w(offset, data);
231 }
232 
233 
READ_HANDLER(maxrpm_port_1_r)234 static READ_HANDLER( maxrpm_port_1_r )
235 {
236 	/* multiplexed steering wheel/gas pedal */
237 	return readinputport(6 + input_mux);
238 }
239 
240 
READ_HANDLER(maxrpm_port_2_r)241 static READ_HANDLER( maxrpm_port_2_r )
242 {
243 	static const UINT8 shift_bits[5] = { 0x00, 0x05, 0x06, 0x01, 0x02 };
244 	UINT8 start = readinputport(0);
245 	UINT8 shift = readinputport(10);
246 
247 	/* reset on a start */
248 	if (!(start & 0x08))
249 		maxrpm_p1_shift = 0;
250 	if (!(start & 0x04))
251 		maxrpm_p2_shift = 0;
252 
253 	/* increment, decrement on falling edge */
254 	if (!(shift & 0x01) && (maxrpm_last_shift & 0x01))
255 	{
256 		maxrpm_p1_shift++;
257 		if (maxrpm_p1_shift > 4)
258 			maxrpm_p1_shift = 4;
259 	}
260 	if (!(shift & 0x02) && (maxrpm_last_shift & 0x02))
261 	{
262 		maxrpm_p1_shift--;
263 		if (maxrpm_p1_shift < 0)
264 			maxrpm_p1_shift = 0;
265 	}
266 	if (!(shift & 0x04) && (maxrpm_last_shift & 0x04))
267 	{
268 		maxrpm_p2_shift++;
269 		if (maxrpm_p2_shift > 4)
270 			maxrpm_p2_shift = 4;
271 	}
272 	if (!(shift & 0x08) && (maxrpm_last_shift & 0x08))
273 	{
274 		maxrpm_p2_shift--;
275 		if (maxrpm_p2_shift < 0)
276 			maxrpm_p2_shift = 0;
277 	}
278 
279 	maxrpm_last_shift = shift;
280 
281 	return ~((shift_bits[maxrpm_p1_shift] << 4) + shift_bits[maxrpm_p2_shift]);
282 }
283 
284 
285 
286 /*************************************
287  *
288  *	Power Drive I/O ports
289  *
290  *************************************/
291 
READ_HANDLER(powerdrv_port_2_r)292 static READ_HANDLER( powerdrv_port_2_r )
293 {
294 	int result = readinputport(2) & 0x7f;
295 	return result | (input_mux & 0x80);
296 }
297 
298 
WRITE_HANDLER(powerdrv_port_5_w)299 static WRITE_HANDLER( powerdrv_port_5_w )
300 {
301 	/* bit 1 controls led 0 */
302 	/* bit 2 controls led 1 */
303 	/* bit 3 controls led 2 */
304 	set_led_status(0, (data >> 1) & 1);
305 	set_led_status(1, (data >> 2) & 1);
306 	set_led_status(2, (data >> 3) & 1);
307 	mcrmono_control_port_w(offset, data);
308 }
309 
310 
WRITE_HANDLER(powerdrv_port_7_w)311 static WRITE_HANDLER( powerdrv_port_7_w )
312 {
313 	/* use input_mux for scratch */
314 	input_mux = ~input_mux & 0x80;
315 }
316 
317 
318 
319 /*************************************
320  *
321  *	Star Guards I/O ports
322  *
323  *************************************/
324 
READ_HANDLER(stargrds_port_0_r)325 static READ_HANDLER( stargrds_port_0_r )
326 {
327 	int result = readinputport(input_mux ? 6 : 0);
328 
329 	/* kludge for now: Star Guards will fail the self-test if bit 0x10 doesn't */
330 	/* toggle properly */
331 	static int temp = 0;
332 	result ^= temp ^= 0x10;
333 	return result;
334 }
335 
336 
WRITE_HANDLER(stargrds_port_5_w)337 static WRITE_HANDLER( stargrds_port_5_w )
338 {
339 	/* bit 1 controls input muxing on port 0 */
340 	/* bit 2 controls led 0 */
341 	/* bit 3 controls led 1 */
342 	/* bit 4 controls led 2 */
343 	input_mux = (data >> 1) & 1;
344 	set_led_status(0, (data >> 2) & 1);
345 	set_led_status(1, (data >> 3) & 1);
346 	set_led_status(2, (data >> 4) & 1);
347 	mcrmono_control_port_w(offset, data);
348 }
349 
350 
WRITE_HANDLER(stargrds_soundsgood_data_w)351 static WRITE_HANDLER( stargrds_soundsgood_data_w )
352 {
353 	soundsgood_data_w(offset, (data << 1) | (data >> 7));
354 }
355 
356 
357 
358 /*************************************
359  *
360  *	Spy Hunter I/O ports
361  *
362  *************************************/
363 
READ_HANDLER(spyhunt_port_2_r)364 static READ_HANDLER( spyhunt_port_2_r )
365 {
366 	/* multiplexed steering wheel/gas pedal */
367 	return readinputport(6 + input_mux);
368 }
369 
370 
WRITE_HANDLER(spyhunt_port_4_w)371 static WRITE_HANDLER( spyhunt_port_4_w )
372 {
373 	static UINT8 lastport4;
374 
375 	/* Spy Hunter uses port 4 for talking to the Chip Squeak Deluxe */
376 	/* (and for toggling the lamps and muxing the analog inputs) */
377 
378 	/* mux select is in bit 7 */
379 	input_mux = (data >> 7) & 1;
380 
381 	/* lamp driver command triggered by bit 5, data is in low four bits */
382 	if (((lastport4 ^ data) & 0x20) && !(data & 0x20))
383 	{
384 		static const char *lampname[8] =
385 		{
386 			"lamp0", "lamp1", "lamp2", "lamp3",
387 			"lamp4", "lamp5", "lamp6", "lamp7"
388 		};
389 		artwork_show(lampname[data & 7], (data >> 3) & 1);
390 	}
391 
392 	/* low 5 bits go to control the Chip Squeak Deluxe */
393 	csdeluxe_data_w(offset, data);
394 
395 	/* remember the last data */
396 	lastport4 = data;
397 }
398 
399 
400 
401 /*************************************
402  *
403  *	Turbo Tag kludges
404  *
405  *************************************/
406 
READ_HANDLER(turbotag_kludge_r)407 static READ_HANDLER( turbotag_kludge_r )
408 {
409 	/* The checksum on the ttprog1.bin ROM seems to be bad by 1 bit */
410 	/* The checksum should come out to $82 but it should be $92     */
411 	/* Unfortunately, the game refuses to start if any bad ROM is   */
412 	/* found; to work around this, we catch the checksum byte read  */
413 	/* and modify it to what we know we will be getting.            */
414 	if (activecpu_get_previouspc() == 0xb29)
415 		return 0x82;
416 	else
417 		return 0x92;
418 }
419 
420 
421 
422 /*************************************
423  *
424  *	NVRAM save/load
425  *
426  *************************************/
427 
NVRAM_HANDLER(mcr3)428 static NVRAM_HANDLER( mcr3 )
429 {
430   unsigned char *ram = memory_region(REGION_CPU1);
431 
432 	if (read_or_write)
433 		mame_fwrite(file, &ram[0xe000], 0x800);
434 	else if (file)
435 		mame_fread(file, &ram[0xe000], 0x800);
436 }
437 
438 
439 
440 /*************************************
441  *
442  *	Main CPU memory handlers
443  *
444  *************************************/
445 
MEMORY_READ_START(readmem)446 static MEMORY_READ_START( readmem )
447 	{ 0x0000, 0xdfff, MRA_ROM },
448 	{ 0xe000, 0xe9ff, MRA_RAM },
449 	{ 0xf000, 0xf7ff, MRA_RAM },
450 MEMORY_END
451 
452 
453 static MEMORY_WRITE_START( writemem )
454 	{ 0x0000, 0xdfff, MWA_ROM },
455 	{ 0xe000, 0xe7ff, MWA_RAM },
456 	{ 0xe800, 0xe9ff, MWA_RAM, &spriteram, &spriteram_size },
457 	{ 0xf000, 0xf7ff, mcr3_videoram_w, &videoram, &videoram_size },
458 	{ 0xf800, 0xf8ff, mcr3_paletteram_w, &paletteram },
459 MEMORY_END
460 
461 
462 static PORT_READ_START( readport )
463 	{ 0x00, 0x00, input_port_0_r },
464 	{ 0x01, 0x01, input_port_1_r },
465 	{ 0x02, 0x02, input_port_2_r },
466 	{ 0x03, 0x03, input_port_3_r },
467 	{ 0x04, 0x04, input_port_4_r },
468 	{ 0x07, 0x07, ssio_status_r },
469 	{ 0x10, 0x10, input_port_0_r },
470 	{ 0xf0, 0xf3, z80ctc_0_r },
471 PORT_END
472 
473 
474 static PORT_WRITE_START( writeport )
475 	{ 0x00, 0x00, mcr_control_port_w },
476 	{ 0x1c, 0x1f, ssio_data_w },
477 	{ 0x84, 0x86, mcr_scroll_value_w },
478 	{ 0xe0, 0xe0, watchdog_reset_w },
479 	{ 0xe8, 0xe8, MWA_NOP },
480 	{ 0xf0, 0xf3, z80ctc_0_w },
481 PORT_END
482 
483 
484 
485 /*************************************
486  *
487  *	MCR Monoboard CPU memory handlers
488  *
489  *************************************/
490 
491 static MEMORY_WRITE_START( mcrmono_writemem )
492 	{ 0x0000, 0xdfff, MWA_ROM },
493 	{ 0xe000, 0xe7ff, MWA_RAM },
494 	{ 0xe800, 0xe9ff, MWA_RAM, &spriteram, &spriteram_size },
495 	{ 0xec00, 0xecff, mcr3_paletteram_w, &paletteram },
496 	{ 0xf000, 0xf7ff, mcr3_videoram_w, &videoram, &videoram_size },
497 MEMORY_END
498 
499 
500 static PORT_WRITE_START( mcrmono_writeport )
501 	{ 0x05, 0x05, mcrmono_control_port_w },
502 	{ 0x07, 0x07, watchdog_reset_w },
503 	{ 0xf0, 0xf3, z80ctc_0_w },
504 PORT_END
505 
506 
507 
508 /*************************************
509  *
510  *	Spy Hunter main CPU memory handlers
511  *
512  *************************************/
513 
514 static MEMORY_READ_START( spyhunt_readmem )
515 	{ 0x0000, 0xdfff, MRA_ROM },
516 	{ 0xe000, 0xebff, MRA_RAM },
517 	{ 0xf000, 0xffff, MRA_RAM },
518 MEMORY_END
519 
520 
521 static MEMORY_WRITE_START( spyhunt_writemem )
522 	{ 0x0000, 0xdfff, MWA_ROM },
523 	{ 0xe000, 0xe7ff, spyhunt_videoram_w, &videoram, &videoram_size },
524 	{ 0xe800, 0xebff, spyhunt_alpharam_w, &spyhunt_alpharam },
525 	{ 0xf000, 0xf7ff, MWA_RAM },
526 	{ 0xf800, 0xf9ff, MWA_RAM, &spriteram, &spriteram_size },
527 	{ 0xfa00, 0xfaff, mcr3_paletteram_w, &paletteram },
528 MEMORY_END
529 
530 
531 
532 /*************************************
533  *
534  *	Port definitions
535  *
536  *************************************/
537 
538 INPUT_PORTS_START( tapper )
539 	PORT_START	/* IN0 */
540 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
541 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
542 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START1 )
543 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START2 )
544 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED )
545 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_TILT )
546 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE1 )
547 	PORT_SERVICE( 0x80, IP_ACTIVE_LOW )
548 
549 	PORT_START	/* IN1 */
550 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_4WAY )
551 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_4WAY )
552 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_4WAY )
553 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_4WAY )
554 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )
555 	PORT_BIT( 0xe0, IP_ACTIVE_LOW, IPT_UNUSED )
556 
557 	PORT_START	/* IN2 */
558 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_4WAY | IPF_COCKTAIL )
559 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_4WAY | IPF_COCKTAIL )
560 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_4WAY | IPF_COCKTAIL )
561 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_4WAY | IPF_COCKTAIL )
562 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
563 	PORT_BIT( 0xe0, IP_ACTIVE_LOW, IPT_UNUSED )
564 
565 	PORT_START	/* IN3 -- dipswitches */
566 	PORT_BIT( 0x03, IP_ACTIVE_LOW, IPT_UNUSED )
567 	PORT_DIPNAME( 0x04, 0x00, DEF_STR( Demo_Sounds ) )
568 	PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
569 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
570 	PORT_BIT( 0x38, IP_ACTIVE_LOW, IPT_UNUSED )
571 	PORT_DIPNAME( 0x40, 0x40, DEF_STR( Cabinet ) )
572 	PORT_DIPSETTING(    0x40, DEF_STR( Upright ) )
573 	PORT_DIPSETTING(    0x00, DEF_STR( Cocktail ) )
574 	PORT_DIPNAME( 0x80, 0x80, "Coin Meters" )
575 	PORT_DIPSETTING(    0x80, "1" )
576 	PORT_DIPSETTING(    0x00, "2" )
577 
578 	PORT_START	/* IN4 */
579 	PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
580 
581 	PORT_START	/* AIN0 */
582 	PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
583 INPUT_PORTS_END
584 
585 
586 INPUT_PORTS_START( timber )
587 	PORT_START	/* IN0 */
588 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
589 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
590 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START1 )
591 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START2 )
592 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED )
593 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_TILT )
594 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE1 )
595 	PORT_SERVICE( 0x80, IP_ACTIVE_LOW )
596 
597 	PORT_START	/* IN1 */
598 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_4WAY | IPF_PLAYER1 )
599 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_4WAY | IPF_PLAYER1 )
600 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_4WAY | IPF_PLAYER1 )
601 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_4WAY | IPF_PLAYER1 )
602 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
603 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
604 	PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
605 
606 	PORT_START	/* IN2 */
607 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_4WAY | IPF_PLAYER2 )
608 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_4WAY | IPF_PLAYER2 )
609 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_4WAY | IPF_PLAYER2 )
610 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_4WAY | IPF_PLAYER2 )
611 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
612 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
613 	PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
614 
615 	PORT_START	/* IN3 -- dipswitches */
616 	PORT_BIT( 0x03, IP_ACTIVE_LOW, IPT_UNUSED )
617 	PORT_DIPNAME( 0x04, 0x00, DEF_STR( Demo_Sounds ) )
618 	PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
619 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
620 	PORT_BIT( 0x38, IP_ACTIVE_LOW, IPT_UNUSED )
621 	PORT_DIPNAME( 0x40, 0x40, DEF_STR( Cabinet ) )
622 	PORT_DIPSETTING(    0x40, DEF_STR( Upright ) )
623 	PORT_DIPSETTING(    0x00, DEF_STR( Cocktail ) )
624 	PORT_DIPNAME( 0x80, 0x80, "Coin Meters" )
625 	PORT_DIPSETTING(    0x80, "1" )
626 	PORT_DIPSETTING(    0x00, "2" )
627 
628 	PORT_START	/* IN4 */
629 	PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
630 
631 	PORT_START	/* AIN0 */
632 	PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
633 INPUT_PORTS_END
634 
635 
636 INPUT_PORTS_START( dotron )
637 	PORT_START	/* IN0 */
638 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
639 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
640 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START1 )
641 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START2 )
642 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )
643 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_TILT )
644 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE1 )
645 	PORT_SERVICE( 0x80, IP_ACTIVE_LOW )
646 
647 	PORT_START	/* IN1 */
648 	PORT_ANALOGX( 0xff, 0x00, IPT_DIAL | IPF_REVERSE, 50, 10, 0, 0, KEYCODE_Z, KEYCODE_X, IP_JOY_NONE, IP_JOY_NONE )
649 
650 	PORT_START	/* IN2 */
651 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY )
652 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY )
653 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY )
654 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY )
655 	PORT_BITX(0x10, IP_ACTIVE_LOW, IPT_BUTTON3, "Aim Down", IP_KEY_DEFAULT, IP_JOY_DEFAULT )
656 	PORT_BITX(0x20, IP_ACTIVE_LOW, IPT_BUTTON4, "Aim Up", IP_KEY_DEFAULT, IP_JOY_DEFAULT )
657 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON2 )
658 	/* we default to Environmental otherwise speech is disabled */
659 	PORT_DIPNAME( 0x80, 0x00, DEF_STR( Cabinet ) )
660 	PORT_DIPSETTING(    0x00, "Environmental" )
661 	PORT_DIPSETTING(    0x80, DEF_STR( Upright ) )
662 
663 	PORT_START	/* IN3 -- dipswitches */
664 	PORT_DIPNAME( 0x01, 0x01, "Coin Meters" )
665 	PORT_DIPSETTING(    0x01, "1" )
666 	PORT_DIPSETTING(    0x00, "2" )
667 	PORT_BIT( 0xfe, IP_ACTIVE_LOW, IPT_UNUSED )
668 
669 	PORT_START	/* IN4 */
670 	PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
671 
672 	PORT_START	/* AIN0 */
673 	PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
674 
675 	PORT_START	/* fake port to make aiming up & down easier */
676 	PORT_ANALOG( 0xff, 0x00, IPT_TRACKBALL_Y, 100, 10, 0, 0 )
677 INPUT_PORTS_END
678 
679 
680 INPUT_PORTS_START( demoderb )
681 	PORT_START	/* IN0 */
682 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
683 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
684 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START1 )
685 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START2 )
686 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED )
687 	PORT_SERVICE( 0x20, IP_ACTIVE_LOW )
688 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_TILT )
689 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
690 
691 	PORT_START	/* IN1 -- the high 6 bits contain the steering wheel value */
692 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
693 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
694 	PORT_ANALOG( 0xfc, 0x00, IPT_DIAL | IPF_REVERSE | IPF_PLAYER1, 50, 10, 0, 0 )
695 
696 	PORT_START	/* IN2 -- the high 6 bits contain the steering wheel value */
697 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
698 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
699 	PORT_ANALOG( 0xfc, 0x00, IPT_DIAL | IPF_REVERSE | IPF_PLAYER2, 50, 10, 0, 0 )
700 
701 	PORT_START	/* IN3 -- dipswitches */
702 	PORT_DIPNAME( 0x01, 0x01, DEF_STR( Cabinet ) )
703 	PORT_DIPSETTING(    0x01, "2P Upright" )
704 	PORT_DIPSETTING(    0x00, "4P Cocktail" )
705 	PORT_DIPNAME( 0x02, 0x02, DEF_STR( Difficulty ) )
706 	PORT_DIPSETTING(    0x02, "Normal" )
707 	PORT_DIPSETTING(    0x00, "Harder" )
708 	PORT_DIPNAME( 0x04, 0x04, DEF_STR( Free_Play ) )
709 	PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
710 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
711 	PORT_DIPNAME( 0x08, 0x08, "Reward Screen" )
712 	PORT_DIPSETTING(    0x08, "Expanded" )
713 	PORT_DIPSETTING(    0x00, "Limited" )
714 	PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coinage ) )
715 	PORT_DIPSETTING(    0x20, DEF_STR( 2C_1C ) )
716 	PORT_DIPSETTING(    0x00, DEF_STR( 2C_2C ) )
717 	PORT_DIPSETTING(    0x30, DEF_STR( 1C_1C ) )
718 	PORT_DIPSETTING(    0x10, DEF_STR( 1C_2C ) )
719 	PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNKNOWN )
720 
721 	PORT_START	/* IN4 */
722 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN3 )
723 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN4 )
724 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START3 )
725 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START4 )
726 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER3 )
727 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER3 )
728 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER4 )
729 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER4 )
730 
731 	PORT_START	/* AIN0 */
732 	PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
733 
734 	PORT_START	/* IN1 (muxed) -- the high 6 bits contain the steering wheel value */
735 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
736 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
737 	PORT_ANALOG( 0xfc, 0x00, IPT_DIAL | IPF_REVERSE | IPF_PLAYER3, 50, 10, 0, 0 )
738 
739 	PORT_START	/* IN2 (muxed) -- the high 6 bits contain the steering wheel value */
740 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
741 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
742 	PORT_ANALOG( 0xfc, 0x00, IPT_DIAL | IPF_REVERSE | IPF_PLAYER4, 50, 10, 0, 0 )
743 INPUT_PORTS_END
744 
745 
746 INPUT_PORTS_START( sarge )
747 	PORT_START	/* IN0 */
748 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
749 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
750 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START1 )
751 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START2 )
752 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_TILT )
753 	PORT_SERVICE( 0x20, IP_ACTIVE_LOW )
754 	PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
755 
756 	PORT_START	/* IN1 */
757 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_UP    | IPF_2WAY | IPF_PLAYER1 )
758 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_DOWN  | IPF_2WAY | IPF_PLAYER1 )
759 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_UP   | IPF_2WAY | IPF_PLAYER1 )
760 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_DOWN | IPF_2WAY | IPF_PLAYER1 )
761 	PORT_BIT( 0x30, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
762 	PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
763 
764 	PORT_START	/* IN2 */
765 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_UP    | IPF_2WAY | IPF_PLAYER2 )
766 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_DOWN  | IPF_2WAY | IPF_PLAYER2 )
767 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_UP   | IPF_2WAY | IPF_PLAYER2 )
768 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_DOWN | IPF_2WAY | IPF_PLAYER2 )
769 	PORT_BIT( 0x30, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
770 	PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
771 
772 	PORT_START	/* IN3 -- dipswitches */
773 	PORT_DIPNAME( 0x08, 0x08, DEF_STR( Free_Play ) )
774 	PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
775 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
776 	PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coinage ) )
777 	PORT_DIPSETTING(    0x20, DEF_STR( 2C_1C ) )
778 	PORT_DIPSETTING(    0x30, DEF_STR( 1C_1C ) )
779 	PORT_DIPSETTING(    0x10, DEF_STR( 1C_2C ) )
780 /* 0x00 says 2 Coins/2 Credits in service mode, but gives 1 Coin/1 Credit */
781 	PORT_BIT( 0xc7, IP_ACTIVE_LOW, IPT_UNKNOWN )
782 
783 	PORT_START	/* IN4 */
784 	PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
785 
786 	PORT_START	/* AIN0 */
787 	PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
788 
789 	PORT_START	/* fake port for single joystick control */
790 	/* This fake port is handled via sarge_port_1_r and sarge_port_2_r */
791 	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP    | IPF_8WAY | IPF_CHEAT | IPF_PLAYER1 )
792 	PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN  | IPF_8WAY | IPF_CHEAT | IPF_PLAYER1 )
793 	PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT  | IPF_8WAY | IPF_CHEAT | IPF_PLAYER1 )
794 	PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_CHEAT | IPF_PLAYER1 )
795 	PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP    | IPF_8WAY | IPF_CHEAT | IPF_PLAYER2 )
796 	PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN  | IPF_8WAY | IPF_CHEAT | IPF_PLAYER2 )
797 	PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT  | IPF_8WAY | IPF_CHEAT | IPF_PLAYER2 )
798 	PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_CHEAT | IPF_PLAYER2 )
799 INPUT_PORTS_END
800 
801 
802 INPUT_PORTS_START( maxrpm )
803 	PORT_START	/* IN0 */
804 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
805 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
806 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START2 )
807 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 )
808 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_TILT )
809 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
810 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
811 	PORT_SERVICE( 0x80, IP_ACTIVE_LOW )
812 
813 	PORT_START	/* IN1 */
814 	PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
815 
816 	PORT_START	/* IN2 */
817 	PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
818 
819 	PORT_START	/* IN3 -- dipswitches */
820 	PORT_DIPNAME( 0x08, 0x08, DEF_STR( Free_Play ) )
821 	PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
822 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
823 	PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coinage ) )
824 	PORT_DIPSETTING(    0x20, DEF_STR( 2C_1C ) )
825 	PORT_DIPSETTING(    0x30, DEF_STR( 1C_1C ) )
826 	PORT_DIPSETTING(    0x10, DEF_STR( 1C_2C ) )
827 /* 0x00 says 2 Coins/2 Credits in service mode, but gives 1 Coin/1 Credit */
828 	PORT_BIT( 0xc7, IP_ACTIVE_LOW, IPT_UNKNOWN )
829 
830 	PORT_START	/* IN4 */
831 	PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
832 
833 	PORT_START	/* AIN0 */
834 	PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
835 
836 	PORT_START	/* new fake for acceleration */
837 	PORT_ANALOG( 0xff, 0x30, IPT_PEDAL | IPF_REVERSE | IPF_PLAYER2, 100, 10, 0x30, 0xff )
838 
839 	PORT_START	/* new fake for acceleration */
840 	PORT_ANALOG( 0xff, 0x30, IPT_PEDAL | IPF_REVERSE | IPF_PLAYER1, 100, 10, 0x30, 0xff )
841 
842 	PORT_START	/* new fake for steering */
843 	PORT_ANALOG( 0xff, 0x74, IPT_PADDLE | IPF_PLAYER2 | IPF_REVERSE, 40, 10, 0x34, 0xb4 )
844 
845 	PORT_START	/* new fake for steering */
846 	PORT_ANALOG( 0xff, 0x74, IPT_PADDLE | IPF_PLAYER1 | IPF_REVERSE, 40, 10, 0x34, 0xb4 )
847 
848 	PORT_START	/* fake for shifting */
849 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
850 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
851 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
852 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
853 	PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNKNOWN )
854 INPUT_PORTS_END
855 
856 
857 INPUT_PORTS_START( rampage )
858 	PORT_START	/* IN0 */
859 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
860 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
861 	PORT_BIT( 0x0c, IP_ACTIVE_LOW, IPT_UNUSED )
862 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_TILT )
863 	PORT_SERVICE( 0x20, IP_ACTIVE_LOW )
864 	PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
865 
866 	PORT_START	/* IN1 */
867 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY | IPF_PLAYER1 )
868 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER1 )
869 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY | IPF_PLAYER1 )
870 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY | IPF_PLAYER1 )
871 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
872 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
873 	PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
874 
875 	PORT_START	/* IN2 */
876 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY | IPF_PLAYER2 )
877 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
878 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY | IPF_PLAYER2 )
879 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY | IPF_PLAYER2 )
880 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
881 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
882 	PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
883 
884 	PORT_START	/* IN3 -- dipswitches */
885 	PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
886 	PORT_DIPSETTING(    0x02, "Easy" )
887 	PORT_DIPSETTING(    0x03, "Normal" )
888 	PORT_DIPSETTING(    0x01, "Hard" )
889 	PORT_DIPSETTING(    0x00, DEF_STR( Free_Play ) )
890 	PORT_DIPNAME( 0x04, 0x04, "Score Option" )
891 	PORT_DIPSETTING(    0x04, "Keep score when continuing" )
892 	PORT_DIPSETTING(    0x00, "Lose score when continuing" )
893 	PORT_DIPNAME( 0x08, 0x08, DEF_STR( Coin_A ) )
894 	PORT_DIPSETTING(    0x00, DEF_STR( 2C_1C ) )
895 	PORT_DIPSETTING(    0x08, DEF_STR( 1C_1C ) )
896 	PORT_DIPNAME( 0x70, 0x70, DEF_STR( Coin_B ) )
897 	PORT_DIPSETTING(    0x00, DEF_STR( 3C_1C ) )
898 	PORT_DIPSETTING(    0x10, DEF_STR( 2C_1C ) )
899 	PORT_DIPSETTING(    0x70, DEF_STR( 1C_1C ) )
900 	PORT_DIPSETTING(    0x60, DEF_STR( 1C_2C ) )
901 	PORT_DIPSETTING(    0x50, DEF_STR( 1C_3C ) )
902 	PORT_DIPSETTING(    0x40, DEF_STR( 1C_4C ) )
903 	PORT_DIPSETTING(    0x30, DEF_STR( 1C_5C ) )
904 	PORT_DIPSETTING(    0x20, DEF_STR( 1C_6C ) )
905 	PORT_BITX( 0x80,    0x80, IPT_DIPSWITCH_NAME | IPF_CHEAT, "Rack Advance", KEYCODE_F1, IP_JOY_NONE )
906 	PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
907 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
908 
909 	PORT_START	/* IN4 */
910 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_4WAY | IPF_PLAYER3 )
911 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_4WAY | IPF_PLAYER3 )
912 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_4WAY | IPF_PLAYER3 )
913 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_4WAY | IPF_PLAYER3 )
914 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER3 )
915 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER3 )
916 	PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
917 
918 	PORT_START	/* AIN0 */
919 	PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
920 INPUT_PORTS_END
921 
922 
923 INPUT_PORTS_START( powerdrv )
924 	PORT_START	/* IN0 */
925 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
926 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
927 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN3 )
928 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED )
929 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_TILT )
930 	PORT_SERVICE( 0x20, IP_ACTIVE_LOW )
931 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN4 )
932 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
933 
934 	PORT_START	/* IN1 */
935 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER1 )
936 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON4 | IPF_PLAYER1 | IPF_TOGGLE )
937 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
938 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
939 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER2 )
940 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON4 | IPF_PLAYER2 | IPF_TOGGLE )
941 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
942 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
943 
944 	PORT_START	/* IN2 */
945 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER3 )
946 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON4 | IPF_PLAYER3 | IPF_TOGGLE )
947 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER3 )
948 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER3 )
949 	PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )
950 
951 	PORT_START	/* IN3 -- dipswitches */
952 	PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coinage ) )
953 	PORT_DIPSETTING(    0x02, DEF_STR( 2C_1C ) )
954 /*	PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )*/
955 	PORT_DIPSETTING(    0x03, DEF_STR( 1C_1C ) )
956 	PORT_DIPSETTING(    0x01, DEF_STR( 1C_2C ) )
957 	PORT_BIT( 0x0c, IP_ACTIVE_LOW, IPT_UNUSED )
958 	PORT_DIPNAME( 0x30, 0x30, DEF_STR( Difficulty ) )
959 	PORT_DIPSETTING(    0x20, "Easy" )
960 	PORT_DIPSETTING(    0x30, "Factory" )
961 	PORT_DIPSETTING(    0x10, "Hard" )
962 	PORT_DIPSETTING(    0x00, "Hardest" )
963 	PORT_DIPNAME( 0x40, 0x40, DEF_STR( Demo_Sounds ) )
964 	PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
965 	PORT_DIPSETTING(    0x40, DEF_STR( On ) )
966 	PORT_BITX( 0x80,    0x80, IPT_DIPSWITCH_NAME | IPF_CHEAT, "Rack Advance", KEYCODE_F1, IP_JOY_NONE )
967 	PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
968 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
969 
970 	PORT_START	/* IN4 */
971 	PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNKNOWN )
972 
973 	PORT_START	/* AIN0 */
974 	PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
975 INPUT_PORTS_END
976 
977 
978 INPUT_PORTS_START( stargrds )
979 	PORT_START	/* IN0 */
980 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
981 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
982 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START1 )
983 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START2 )
984 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SPECIAL )	/* status from sounds good */
985 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_TILT )
986 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE1 )
987 	PORT_SERVICE( 0x80, IP_ACTIVE_LOW )
988 
989 	PORT_START	/* IN1 */
990 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_UP    | IPF_PLAYER1 )
991 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_DOWN  | IPF_PLAYER1 )
992 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_LEFT  | IPF_PLAYER1 )
993 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_RIGHT | IPF_PLAYER1 )
994 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_UP     | IPF_PLAYER1 )
995 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_DOWN   | IPF_PLAYER1 )
996 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_LEFT   | IPF_PLAYER1 )
997 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_RIGHT  | IPF_PLAYER1 )
998 
999 	PORT_START	/* IN2 */
1000 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_UP    | IPF_PLAYER2 )
1001 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_DOWN  | IPF_PLAYER2 )
1002 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_LEFT  | IPF_PLAYER2 )
1003 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_RIGHT | IPF_PLAYER2 )
1004 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_UP     | IPF_PLAYER2 )
1005 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_DOWN   | IPF_PLAYER2 )
1006 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_LEFT   | IPF_PLAYER2 )
1007 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_RIGHT  | IPF_PLAYER2 )
1008 
1009 	PORT_START	/* IN3 -- dipswitches */
1010 	PORT_BIT( 0x03, IP_ACTIVE_LOW, IPT_UNUSED )
1011 	PORT_DIPNAME( 0x0c, 0x0c, "Energy Units" )
1012 	PORT_DIPSETTING(    0x08, "8" )
1013 	PORT_DIPSETTING(    0x0c, "10" )
1014 	PORT_DIPSETTING(    0x04, "12" )
1015 	PORT_DIPSETTING(    0x00, "14" )
1016 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED )
1017 	PORT_DIPNAME( 0x20, 0x20, DEF_STR( Demo_Sounds ) )
1018 	PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
1019 	PORT_DIPSETTING(    0x20, DEF_STR( On ) )
1020 	PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Difficulty ) )
1021 	PORT_DIPSETTING(    0x80, "Easy" )
1022 	PORT_DIPSETTING(    0xc0, "Medium" )
1023 	PORT_DIPSETTING(    0x40, "Hard" )
1024 	PORT_DIPSETTING(    0x00, "Hardest" )
1025 
1026 	PORT_START	/* IN4 */
1027 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_UP    | IPF_PLAYER3 )
1028 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_DOWN  | IPF_PLAYER3 )
1029 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_LEFT  | IPF_PLAYER3 )
1030 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_RIGHT | IPF_PLAYER3 )
1031 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_UP     | IPF_PLAYER3 )
1032 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_DOWN   | IPF_PLAYER3 )
1033 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_LEFT   | IPF_PLAYER3 )
1034 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_RIGHT  | IPF_PLAYER3 )
1035 
1036 	PORT_START	/* AIN0 */
1037 	PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNKNOWN )
1038 
1039 	PORT_START	/* IN0 (muxed) */
1040 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
1041 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN3 )
1042 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START1 )
1043 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START3 )
1044 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SPECIAL )	/* status from sounds good */
1045 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_TILT )
1046 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE )
1047 	PORT_SERVICE( 0x80, IP_ACTIVE_LOW )
1048 INPUT_PORTS_END
1049 
1050 
1051 INPUT_PORTS_START( spyhunt )
1052 	PORT_START	/* IN0 */
1053 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
1054 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
1055 	PORT_BIT( 0x0c, IP_ACTIVE_LOW, IPT_UNUSED )
1056 	PORT_BITX(0x10, IP_ACTIVE_LOW, IPT_BUTTON6 | IPF_TOGGLE, "Gear Shift", KEYCODE_ENTER, IP_JOY_DEFAULT )
1057 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_TILT )
1058 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE )
1059 	PORT_SERVICE( 0x80, IP_ACTIVE_LOW )
1060 
1061 	PORT_START	/* IN1 -- various buttons, low 5 bits */
1062 	PORT_BITX( 0x01, IP_ACTIVE_LOW, IPT_BUTTON4, "Oil Slick", IP_KEY_DEFAULT, IP_JOY_DEFAULT )
1063 	PORT_BITX( 0x02, IP_ACTIVE_LOW, IPT_BUTTON5, "Missiles", IP_KEY_DEFAULT, IP_JOY_DEFAULT )
1064 	PORT_BITX( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3, "Weapon Truck", IP_KEY_DEFAULT, IP_JOY_DEFAULT )
1065 	PORT_BIT ( 0x04, IP_ACTIVE_LOW, IPT_START1 )
1066 	PORT_BITX( 0x08, IP_ACTIVE_LOW, IPT_BUTTON2, "Smoke Screen", IP_KEY_DEFAULT, IP_JOY_DEFAULT )
1067 	PORT_BITX( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1, "Machine Guns", IP_KEY_DEFAULT, IP_JOY_DEFAULT )
1068 	PORT_BIT(  0xe0, IP_ACTIVE_HIGH, IPT_UNUSED )
1069 
1070 	PORT_START	/* IN2 -- actually not used at all, but read as a trakport */
1071 	PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNUSED )
1072 
1073 	PORT_START	/* IN3 -- dipswitches -- low 4 bits only */
1074 	PORT_DIPNAME( 0x01, 0x01, "Game Timer" )
1075 	PORT_DIPSETTING(    0x00, "1:00" )
1076 	PORT_DIPSETTING(    0x01, "1:30" )
1077 	PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) )
1078 	PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
1079 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1080 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
1081 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
1082 	PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )
1083 
1084 	PORT_START	/* IN4 */
1085 	PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
1086 
1087 	PORT_START	/* AIN0 */
1088 	PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
1089 
1090 	PORT_START	/* new fake for acceleration */
1091 	PORT_ANALOG( 0xff, 0x30, IPT_PEDAL, 100, 10, 0x30, 0xff )
1092 
1093 	PORT_START	/* new fake for steering */
1094 	PORT_ANALOG( 0xff, 0x74, IPT_PADDLE, 40, 10, 0x34, 0xb4 )
1095 INPUT_PORTS_END
1096 
1097 
1098 INPUT_PORTS_START( crater )
1099 	PORT_START	/* IN0 */
1100 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
1101 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
1102 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START1 )
1103 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START2 )
1104 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )
1105 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_TILT )
1106 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
1107 	PORT_SERVICE( 0x80, IP_ACTIVE_LOW )
1108 
1109 	PORT_START	/* IN1 */
1110 	PORT_ANALOGX( 0xff, 0x00, IPT_DIAL | IPF_REVERSE, 25, 10, 0, 0, KEYCODE_Z, KEYCODE_X, IP_JOY_NONE, IP_JOY_NONE )
1111 
1112 	PORT_START	/* IN2 */
1113 	PORT_BIT( 0x03, IP_ACTIVE_LOW, IPT_UNUSED )
1114 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP   | IPF_2WAY )
1115 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_2WAY )
1116 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 )
1117 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
1118 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON2 )
1119 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
1120 
1121 	PORT_START	/* IN3 -- dipswitches */
1122 	PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
1123 
1124 	PORT_START	/* IN4 */
1125 	PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
1126 
1127 	PORT_START	/* AIN0 */
1128 	PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
1129 INPUT_PORTS_END
1130 
1131 
1132 INPUT_PORTS_START( turbotag )
1133 	PORT_START	/* IN0 */
1134 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
1135 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
1136 	PORT_BIT( 0x0c, IP_ACTIVE_LOW, IPT_UNUSED )
1137 	PORT_BITX(0x10, IP_ACTIVE_LOW, IPT_BUTTON6 | IPF_TOGGLE, "Gear Shift", KEYCODE_ENTER, IP_JOY_DEFAULT )
1138 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_TILT )
1139 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE )
1140 	PORT_SERVICE( 0x80, IP_ACTIVE_LOW )
1141 
1142 	PORT_START	/* IN1 -- various buttons, low 5 bits */
1143 	PORT_BITX( 0x01, IP_ACTIVE_LOW, IPT_BUTTON4, "Left Button", IP_KEY_DEFAULT, IP_JOY_DEFAULT )
1144 	PORT_BIT ( 0x01, IP_ACTIVE_LOW, IPT_START1 )
1145 	PORT_BITX( 0x02, IP_ACTIVE_LOW, IPT_BUTTON5, "Left Trigger", IP_KEY_DEFAULT, IP_JOY_DEFAULT )
1146 	PORT_BITX( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3, "Center Button", IP_KEY_DEFAULT, IP_JOY_DEFAULT )
1147 	PORT_BITX( 0x08, IP_ACTIVE_LOW, IPT_BUTTON2, "Right Button", IP_KEY_DEFAULT, IP_JOY_DEFAULT )
1148 	PORT_BITX( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1, "Right Trigger", IP_KEY_DEFAULT, IP_JOY_DEFAULT )
1149 	PORT_BIT(  0xe0, IP_ACTIVE_LOW, IPT_UNUSED )
1150 
1151 	PORT_START	/* IN2 -- actually not used at all, but read as a trakport */
1152 	PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNUSED )
1153 
1154 	PORT_START	/* IN3 -- dipswitches -- low 4 bits only */
1155 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
1156 	PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) )
1157 	PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
1158 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1159 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
1160 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
1161 	PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )
1162 
1163 	PORT_START	/* IN4 */
1164 	PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
1165 
1166 	PORT_START	/* AIN0 */
1167 	PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
1168 
1169 	PORT_START	/* new fake for acceleration */
1170 	PORT_ANALOG( 0xff, 0x30, IPT_PEDAL, 100, 10, 0x30, 0xc0 )
1171 
1172 	PORT_START	/* new fake for steering */
1173 	PORT_ANALOG( 0xff, 0x74, IPT_PADDLE, 40, 10, 0x34, 0xb4 )
1174 INPUT_PORTS_END
1175 
1176 
1177 
1178 /*************************************
1179  *
1180  *	Graphics definitions
1181  *
1182  *************************************/
1183 
1184 static struct GfxLayout spyhunt_charlayout =
1185 {
1186 	64,32,
1187 	RGN_FRAC(1,2),
1188 	4,
1189 	{ RGN_FRAC(1,2), RGN_FRAC(1,2)+1, 0, 1 },
1190 	{  0,  0,  2,  2,  4,  4,  6,  6,  8,  8, 10, 10, 12, 12, 14, 14,
1191 	  16, 16, 18, 18, 20, 20, 22, 22, 24, 24, 26, 26, 28, 28, 30, 30,
1192 	  32, 32, 34, 34, 36, 36, 38, 38, 40, 40, 42, 42, 44, 44, 46, 46,
1193 	  48, 48, 50, 50, 52, 52, 54, 54, 56, 56, 58, 58, 60, 60, 62, 62 },
1194 	{ 0*32,  0*32,  2*32,  2*32,  4*32,  4*32,  6*32,  6*32,
1195 	  8*32,  8*32, 10*32, 10*32, 12*32, 12*32, 14*32, 14*32,
1196 	 16*32, 16*32, 18*32, 18*32, 20*32, 20*32, 22*32, 22*32,
1197 	 24*32, 24*32, 26*32, 26*32, 28*32, 28*32, 30*32, 30*32 },
1198 	128*8
1199 };
1200 
1201 
1202 static struct GfxLayout spyhunt_alphalayout =
1203 {
1204 	16,16,
1205 	RGN_FRAC(1,1),
1206 	2,
1207 	{ 0, 1 },
1208 	{ 0, 0, 2, 2, 4, 4, 6, 6, 8, 8, 10, 10, 12, 12, 14, 14 },
1209 	{ 0, 0, 2*8, 2*8, 4*8, 4*8, 6*8, 6*8, 8*8, 8*8, 10*8, 10*8, 12*8, 12*8, 14*8, 14*8 },
1210 	16*8
1211 };
1212 
1213 
1214 static struct GfxDecodeInfo gfxdecodeinfo[] =
1215 {
1216 	{ REGION_GFX1, 0, &mcr_bg_layout,     0, 4 },
1217 	{ REGION_GFX2, 0, &mcr_sprite_layout, 0, 4 },
1218 	{ -1 } /* end of array */
1219 };
1220 
1221 
1222 static struct GfxDecodeInfo spyhunt_gfxdecodeinfo[] =
1223 {
1224 	{ REGION_GFX1, 0, &spyhunt_charlayout,  1*16, 1 },
1225 	{ REGION_GFX2, 0, &mcr_sprite_layout,   0*16, 4 },
1226 	{ REGION_GFX3, 0, &spyhunt_alphalayout, 4*16, 1 },
1227 	{ -1 } /* end of array */
1228 };
1229 
1230 
1231 
1232 /*************************************
1233  *
1234  *	Machine drivers
1235  *
1236  *************************************/
1237 
1238 /* Core MCR3 system with no sound */
1239 static MACHINE_DRIVER_START( mcr3 )
1240 
1241 	/* basic machine hardware */
1242 	MDRV_CPU_ADD_TAG("main", Z80, 5000000)
MDRV_CPU_CONFIG(mcr_daisy_chain)1243 	MDRV_CPU_CONFIG(mcr_daisy_chain)
1244 	MDRV_CPU_MEMORY(readmem,writemem)
1245 	MDRV_CPU_PORTS(readport,writeport)
1246 	MDRV_CPU_VBLANK_INT(mcr_interrupt,2)
1247 
1248 	MDRV_FRAMES_PER_SECOND(30)
1249 	MDRV_VBLANK_DURATION(DEFAULT_REAL_30HZ_VBLANK_DURATION)
1250 	MDRV_MACHINE_INIT(mcr)
1251 	MDRV_NVRAM_HANDLER(mcr3)
1252 
1253 	/* video hardware */
1254 	MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER | VIDEO_UPDATE_BEFORE_VBLANK)
1255 	MDRV_SCREEN_SIZE(32*16, 30*16)
1256 	MDRV_VISIBLE_AREA(0*16, 32*16-1, 0*16, 30*16-1)
1257 	MDRV_GFXDECODE(gfxdecodeinfo)
1258 	MDRV_PALETTE_LENGTH(64)
1259 
1260 	MDRV_VIDEO_START(mcr3)
1261 	MDRV_VIDEO_UPDATE(mcr3)
1262 MACHINE_DRIVER_END
1263 
1264 
1265 /* General MCR3 system with SSIO */
1266 static MACHINE_DRIVER_START( mcr3_ssio )
1267 
1268 	/* basic machine hardware */
1269 	MDRV_IMPORT_FROM(mcr3)
1270 	MDRV_IMPORT_FROM(mcr_ssio)
1271 MACHINE_DRIVER_END
1272 
1273 
1274 /* Discs of Tron = General MCR3 with Squawk & Talk */
1275 static MACHINE_DRIVER_START( dotron )
1276 
1277 	/* basic machine hardware */
1278 	MDRV_IMPORT_FROM(mcr3_ssio)
1279 	MDRV_IMPORT_FROM(squawk_n_talk)
1280 MACHINE_DRIVER_END
1281 
1282 
1283 /* Demolition Derby = General MCR3 with Turbo Chip Squeak instead of SSIO */
1284 static MACHINE_DRIVER_START( demoderb )
1285 
1286 	/* basic machine hardware */
1287 	MDRV_IMPORT_FROM(mcr3)
1288 	MDRV_IMPORT_FROM(turbo_chip_squeak)
1289 MACHINE_DRIVER_END
1290 
1291 
1292 /*************************************/
1293 
1294 
1295 /* Core MCR monoboard system with no sound */
1296 static MACHINE_DRIVER_START( mcrmono )
1297 
1298 	/* basic machine hardware */
1299 	MDRV_IMPORT_FROM(mcr3)
1300 
1301 	MDRV_CPU_MODIFY("main")
1302 	MDRV_CPU_MEMORY(readmem,mcrmono_writemem)
1303 	MDRV_CPU_PORTS(readport,mcrmono_writeport)
1304 
1305 	/* video hardware */
1306 	MDRV_VIDEO_START(mcrmono)
1307 MACHINE_DRIVER_END
1308 
1309 
1310 /* Sarge/Demolition Derby Mono/Max RPM = MCR monoboardmonoboard = MCR3 with no SSIO */
1311 /* in this case, Turbo Chip Squeak is used for sound */
1312 static MACHINE_DRIVER_START( mono_tcs )
1313 
1314 	/* basic machine hardware */
1315 	MDRV_IMPORT_FROM(mcrmono)
1316 	MDRV_IMPORT_FROM(turbo_chip_squeak)
1317 MACHINE_DRIVER_END
1318 
1319 
1320 /* Rampage/Power Drive/Star Guards = MCR monoboard with Sounds Good */
1321 static MACHINE_DRIVER_START( mono_sg )
1322 
1323 	/* basic machine hardware */
1324 	MDRV_IMPORT_FROM(mcrmono)
1325 	MDRV_IMPORT_FROM(sounds_good)
1326 MACHINE_DRIVER_END
1327 
1328 
1329 /*************************************/
1330 
1331 
1332 /* Core scrolling system with no sound */
1333 static MACHINE_DRIVER_START( mcrscroll )
1334 
1335 	/* basic machine hardware */
1336 	MDRV_IMPORT_FROM(mcr3)
1337 
1338 	MDRV_CPU_MODIFY("main")
1339 	MDRV_CPU_MEMORY(spyhunt_readmem,spyhunt_writemem)
1340 
1341 	/* video hardware */
1342 	MDRV_SCREEN_SIZE(30*16, 30*16)
1343 	MDRV_VISIBLE_AREA(0, 30*16-1, 0, 30*16-1)
1344 	MDRV_GFXDECODE(spyhunt_gfxdecodeinfo)
1345 	MDRV_PALETTE_LENGTH(64+4)
1346 
1347 	MDRV_PALETTE_INIT(spyhunt)
1348 	MDRV_VIDEO_START(spyhunt)
1349 	MDRV_VIDEO_UPDATE(spyhunt)
1350 MACHINE_DRIVER_END
1351 
1352 
1353 /* Spy Hunter = scrolling system with an SSIO and a chip squeak deluxe */
1354 static MACHINE_DRIVER_START( spyhunt )
1355 
1356 	/* basic machine hardware */
1357 	MDRV_IMPORT_FROM(mcrscroll)
1358 	MDRV_IMPORT_FROM(mcr_ssio)
1359 	MDRV_IMPORT_FROM(chip_squeak_deluxe)
1360 MACHINE_DRIVER_END
1361 
1362 
1363 /* Crater Raider = scrolling system with SSIO only */
1364 static MACHINE_DRIVER_START( crater )
1365 
1366 	/* basic machine hardware */
1367 	MDRV_IMPORT_FROM(mcrscroll)
1368 	MDRV_IMPORT_FROM(mcr_ssio)
1369 MACHINE_DRIVER_END
1370 
1371 
1372 /* Turbo Tag = scrolling system with CSD only */
1373 static MACHINE_DRIVER_START( turbotag )
1374 
1375 	/* basic machine hardware */
1376 	MDRV_IMPORT_FROM(mcrscroll)
1377 	MDRV_IMPORT_FROM(chip_squeak_deluxe)
1378 MACHINE_DRIVER_END
1379 
1380 
1381 
1382 /*************************************
1383  *
1384  *	ROM definitions
1385  *
1386  *************************************/
1387 
1388 ROM_START( tapper )
1389 	ROM_REGION( 0x10000, REGION_CPU1, 0 )	/* 64k for code */
1390 	ROM_LOAD( "tappg0.bin",   0x00000, 0x4000, CRC(127171d1) SHA1(373e9a9d73b71e100c02862662d025f5ead2f94d) )
1391 	ROM_LOAD( "tappg1.bin",   0x04000, 0x4000, CRC(9d6a47f7) SHA1(e493e46fc70a765e54bfdd7ba7ca570e6a5c79d6) )
1392 	ROM_LOAD( "tappg2.bin",   0x08000, 0x4000, CRC(3a1f8778) SHA1(cb46a2248289ced7282b1463f433dcb970c42c1a) )
1393 	ROM_LOAD( "tappg3.bin",   0x0c000, 0x2000, CRC(e8dcdaa4) SHA1(45bf1571a2418c7dc00ccc7061a3e04e65cb6bff) )
1394 
1395 	ROM_REGION( 0x10000, REGION_CPU2, 0 )	/* 64k for the audio CPU */
1396 	ROM_LOAD( "tapsnda7.bin", 0x0000, 0x1000, CRC(0e8bb9d5) SHA1(9e281c340b7702523c86d56317efad9e3688e585) )
1397 	ROM_LOAD( "tapsnda8.bin", 0x1000, 0x1000, CRC(0cf0e29b) SHA1(14334b9d2bfece3fe5bda0cbd53158ead8d27e53) )
1398 	ROM_LOAD( "tapsnda9.bin", 0x2000, 0x1000, CRC(31eb6dc6) SHA1(b38bba5f12516d899e023f99147868e3402fbd7b) )
1399 	ROM_LOAD( "tapsda10.bin", 0x3000, 0x1000, CRC(01a9be6a) SHA1(0011407c1e886071282808c0a561789b1245a789) )
1400 
1401 	ROM_REGION( 0x08000, REGION_GFX1, ROMREGION_DISPOSE )
1402 	ROM_LOAD( "tapbg1.bin",   0x00000, 0x4000, CRC(2a30238c) SHA1(eb30b9bb654324340f0fc5b44776ac2440c1e869) )
1403 	ROM_LOAD( "tapbg0.bin",   0x04000, 0x4000, CRC(394ab576) SHA1(23e29ec942e1e7516ae8068837af2d1c79592378) )
1404 
1405 	ROM_REGION( 0x20000, REGION_GFX2, ROMREGION_DISPOSE )
1406 	ROM_LOAD( "tapfg1.bin",   0x00000, 0x4000, CRC(32509011) SHA1(a38667573d235efe2dc515e52af05825fe4e0f30) )
1407 	ROM_LOAD( "tapfg0.bin",   0x04000, 0x4000, CRC(8412c808) SHA1(2077f79177fda26f9c674b2ab525ec3833802059) )
1408 	ROM_LOAD( "tapfg3.bin",   0x08000, 0x4000, CRC(818fffd4) SHA1(930142dd73fb30c4d3ec09a1e37517c6c6774024) )
1409 	ROM_LOAD( "tapfg2.bin",   0x0c000, 0x4000, CRC(67e37690) SHA1(d553b8517c1d03a2be0b065f4da2fa99d9e6fb30) )
1410 	ROM_LOAD( "tapfg5.bin",   0x10000, 0x4000, CRC(800f7c8a) SHA1(8aead89e1adaee5f0b679661c4bfba36e0d639e8) )
1411 	ROM_LOAD( "tapfg4.bin",   0x14000, 0x4000, CRC(32674ee6) SHA1(402c166d50b4a693959b3f0706a7931a5daef6ce) )
1412 	ROM_LOAD( "tapfg7.bin",   0x18000, 0x4000, CRC(070b4c81) SHA1(95879a455ecfe2e3de7fe2a75078f9e6934960f5) )
1413 	ROM_LOAD( "tapfg6.bin",   0x1c000, 0x4000, CRC(a37aef36) SHA1(a24696f16d467d9eea4f25aef5f4c5ff55bf51ff) )
1414 
1415 	ROM_REGION( 0x0020, REGION_PROMS, 0 )
1416 	ROM_LOAD( "5784",         0x0000, 0x0020, CRC(e1281ee9) SHA1(9ac9b01d24affc0ee9227a4364c4fd8f8290343a) )
1417 ROM_END
1418 
1419 
1420 ROM_START( tappera )
1421 	ROM_REGION( 0x10000, REGION_CPU1, 0 )	/* 64k for code */
1422 	ROM_LOAD( "pr00_1c.128",   0x00000, 0x4000, CRC(bb060bb0) SHA1(ff5a729e36faea3758c8c7b345a42dd8bb465f44) )
1423 	ROM_LOAD( "pr01_2c.128",   0x04000, 0x4000, CRC(fd9acc22) SHA1(b9f0396e2eba5772deec4725c41fa9de49658e72) )
1424 	ROM_LOAD( "pr02_3c.128",   0x08000, 0x4000, CRC(b3755d41) SHA1(434d3c27b9f1e43def081d79b9f56dbce93a9207) )
1425 	ROM_LOAD( "pr03_4c.64",    0x0c000, 0x2000, CRC(77273096) SHA1(5e4e2dc1703b39f588ba374f6a610f273d710532) )
1426 
1427 	ROM_REGION( 0x10000, REGION_CPU2, 0 )	/* 64k for the audio CPU */
1428 	ROM_LOAD( "tapsnda7.bin", 0x0000, 0x1000, CRC(0e8bb9d5) SHA1(9e281c340b7702523c86d56317efad9e3688e585) )
1429 	ROM_LOAD( "tapsnda8.bin", 0x1000, 0x1000, CRC(0cf0e29b) SHA1(14334b9d2bfece3fe5bda0cbd53158ead8d27e53) )
1430 	ROM_LOAD( "tapsnda9.bin", 0x2000, 0x1000, CRC(31eb6dc6) SHA1(b38bba5f12516d899e023f99147868e3402fbd7b) )
1431 	ROM_LOAD( "tapsda10.bin", 0x3000, 0x1000, CRC(01a9be6a) SHA1(0011407c1e886071282808c0a561789b1245a789) )
1432 
1433 	ROM_REGION( 0x08000, REGION_GFX1, ROMREGION_DISPOSE )
1434 	ROM_LOAD( "tapbg1.bin",   0x00000, 0x4000, CRC(2a30238c) SHA1(eb30b9bb654324340f0fc5b44776ac2440c1e869) )
1435 	ROM_LOAD( "tapbg0.bin",   0x04000, 0x4000, CRC(394ab576) SHA1(23e29ec942e1e7516ae8068837af2d1c79592378) )
1436 
1437 	ROM_REGION( 0x20000, REGION_GFX2, ROMREGION_DISPOSE )
1438 	ROM_LOAD( "fg1_a7.128",   0x00000, 0x4000, CRC(bac70b69) SHA1(7fd26cc8ff2faab86d04fcee2b5ec49ecf6b8143) )
1439 	ROM_LOAD( "fg0_a8.128",   0x04000, 0x4000, CRC(c300925d) SHA1(45df1ac033512be942460d678a7c1ba9dcef1937) )
1440 	ROM_LOAD( "fg3_a5.128",   0x08000, 0x4000, CRC(ecff6c23) SHA1(0b28e7e59eba983bc1929758f8dcaf315b7134a1) )
1441 	ROM_LOAD( "fg2_a6.128",   0x0c000, 0x4000, CRC(a4f2d1be) SHA1(faf631d4ee96edf6b2c4349780e2d89eaedf70ab) )
1442 	ROM_LOAD( "fg5_a3.128",   0x10000, 0x4000, CRC(16ce38cb) SHA1(9829c9574fff0803973246f9d22311ca76be4e58) )
1443 	ROM_LOAD( "fg4_a4.128",   0x14000, 0x4000, CRC(082a4059) SHA1(52672b853d67432fd80e4612fa54208c225d2444) )
1444 	ROM_LOAD( "fg7_a1.128",   0x18000, 0x4000, CRC(3b476abe) SHA1(6fe170695386fc77310384a5590a7cc3671ae853) )
1445 	ROM_LOAD( "fg6_a2.128",   0x1c000, 0x4000, CRC(6717264c) SHA1(5a6d30974e73f952694b8c09fb3a5393a76db4f2) )
1446 
1447 	ROM_REGION( 0x0020, REGION_PROMS, 0 )
1448 	ROM_LOAD( "5784",         0x0000, 0x0020, CRC(e1281ee9) SHA1(9ac9b01d24affc0ee9227a4364c4fd8f8290343a) )
1449 ROM_END
1450 
1451 
1452 ROM_START( sutapper )
1453 	ROM_REGION( 0x10000, REGION_CPU1, 0 )	/* 64k for code */
1454 	ROM_LOAD( "5791",         0x0000, 0x4000, CRC(87119cc4) SHA1(155dc1df977a474f3f1bd238d851c2ff8fe1faba) )
1455 	ROM_LOAD( "5792",         0x4000, 0x4000, CRC(4c23ad89) SHA1(0eebe98be6c21d701c7b7fc6547b5c94f934f5ab) )
1456 	ROM_LOAD( "5793",         0x8000, 0x4000, CRC(fecbf683) SHA1(de365f4e567d93a9ed9672fabbc739a3a0d47d59) )
1457 	ROM_LOAD( "5794",         0xc000, 0x2000, CRC(5bdc1916) SHA1(ee038443ae55598568bd1a53c0a671a2828d3949) )
1458 
1459 	ROM_REGION( 0x10000, REGION_CPU2, 0 )	/* 64k for the audio CPU */
1460 	ROM_LOAD( "5788",         0x00000, 0x1000, CRC(5c1d0982) SHA1(c2c94ab26ebce30ce4efc239e555c6368794d265) )
1461 	ROM_LOAD( "5787",         0x01000, 0x1000, CRC(09e74ed8) SHA1(f5c8585d443bca67d4065314a06431d1f104c553) )
1462 	ROM_LOAD( "5786",         0x02000, 0x1000, CRC(c3e98284) SHA1(2a4dc0deca48f4d2ac9fe673ecb9548415c996a9) )
1463 	ROM_LOAD( "5785",         0x03000, 0x1000, CRC(ced2fd47) SHA1(a41323149c50adcae7675efcef69fd7d8365e527) )
1464 
1465 	ROM_REGION( 0x08000, REGION_GFX1, ROMREGION_DISPOSE )
1466 	ROM_LOAD( "5790",         0x00000, 0x4000, CRC(ac1558c1) SHA1(f976889b529937948043460679f84b962b4c12bc) )
1467 	ROM_LOAD( "5789",         0x04000, 0x4000, CRC(fa66cab5) SHA1(96b89dc08f2feeb9950fbbba43d0ee57a9e31804) )
1468 
1469 	ROM_REGION( 0x20000, REGION_GFX2, ROMREGION_DISPOSE )
1470 	ROM_LOAD( "5795",         0x00000, 0x4000, CRC(5d987c92) SHA1(3c26b0b0d903fb6782c6a1d72e32cd8c57ecad1f) )
1471 	ROM_LOAD( "5796",         0x04000, 0x4000, CRC(de5700b4) SHA1(c613c2225eeff5cc65dc6ec301e616e54755b1c2) )
1472 	ROM_LOAD( "5797",         0x08000, 0x4000, CRC(f10a1d05) SHA1(ca54d1fa6704d38e65a4d2a94449ed8dd56cc94b) )
1473 	ROM_LOAD( "5798",         0x0c000, 0x4000, CRC(614990cd) SHA1(1a6eac2a8fa99d86889d5042c6b64f828b3c5d65) )
1474 	ROM_LOAD( "5799",         0x10000, 0x4000, CRC(02c69432) SHA1(7f4260f4a4e8b33842355e9d8e859ffb9278c3c2) )
1475 	ROM_LOAD( "5800",         0x14000, 0x4000, CRC(ebf1f948) SHA1(251cf018da8db11c3844123255082146b22507e5) )
1476 	ROM_LOAD( "5801",         0x18000, 0x4000, CRC(d70defa7) SHA1(e8ceabe94080eb28aa393b97ec54729cf8aba001) )
1477 	ROM_LOAD( "5802",         0x1c000, 0x4000, CRC(d4f114b9) SHA1(58ae647b4fd0f48af4158b85e29c813605d930d3) )
1478 
1479 	ROM_REGION( 0x0020, REGION_PROMS, 0 )
1480 	ROM_LOAD( "5784",         0x0000, 0x0020, CRC(e1281ee9) SHA1(9ac9b01d24affc0ee9227a4364c4fd8f8290343a) )
1481 ROM_END
1482 
1483 
1484 ROM_START( rbtapper )
1485 	ROM_REGION( 0x10000, REGION_CPU1, 0 )	/* 64k for code */
1486 	ROM_LOAD( "rbtpg0.bin",   0x00000, 0x4000, CRC(20b9adf4) SHA1(31b583c98e7c2cecab42223df8b5400004c9f3d3) )
1487 	ROM_LOAD( "rbtpg1.bin",   0x04000, 0x4000, CRC(87e616c2) SHA1(7de10632b2538524fee418175e2cc41be9c8c0e8) )
1488 	ROM_LOAD( "rbtpg2.bin",   0x08000, 0x4000, CRC(0b332c97) SHA1(b9878c8a61a98e787e547bb6ab81c809875891f3) )
1489 	ROM_LOAD( "rbtpg3.bin",   0x0c000, 0x2000, CRC(698c06f2) SHA1(ddb21e39ede2222cb2286ec9dba06341fe1c9db7) )
1490 
1491 	ROM_REGION( 0x10000, REGION_CPU2, 0 )	/* 64k for the audio CPU */
1492 	ROM_LOAD( "5788",         0x00000, 0x1000, CRC(5c1d0982) SHA1(c2c94ab26ebce30ce4efc239e555c6368794d265) )
1493 	ROM_LOAD( "5787",         0x01000, 0x1000, CRC(09e74ed8) SHA1(f5c8585d443bca67d4065314a06431d1f104c553) )
1494 	ROM_LOAD( "5786",         0x02000, 0x1000, CRC(c3e98284) SHA1(2a4dc0deca48f4d2ac9fe673ecb9548415c996a9) )
1495 	ROM_LOAD( "5785",         0x03000, 0x1000, CRC(ced2fd47) SHA1(a41323149c50adcae7675efcef69fd7d8365e527) )
1496 
1497 	ROM_REGION( 0x08000, REGION_GFX1, ROMREGION_DISPOSE )
1498 	ROM_LOAD( "rbtbg1.bin",   0x00000, 0x4000, CRC(44dfa483) SHA1(9e96a3ff0b66a4b1d07fe86059f7dfab0d53231c) )
1499 	ROM_LOAD( "rbtbg0.bin",   0x04000, 0x4000, CRC(510b13de) SHA1(a4b24fffbbe299e0c2058abe372f00954e5edf98) )
1500 
1501 	ROM_REGION( 0x20000, REGION_GFX2, ROMREGION_DISPOSE )
1502 	ROM_LOAD( "rbtfg1.bin",   0x00000, 0x4000, CRC(1c0b8791) SHA1(532239605b74b137cd0f6035a6bc7ac43f559d82) )
1503 	ROM_LOAD( "rbtfg0.bin",   0x04000, 0x4000, CRC(e99f6018) SHA1(3a8e3e927b0fd2d49222e417e4c1f28b5a45c6ca) )
1504 	ROM_LOAD( "rbtfg3.bin",   0x08000, 0x4000, CRC(3e725e77) SHA1(3811f499aa076fb81af42f7cb522879b0af50e37) )
1505 	ROM_LOAD( "rbtfg2.bin",   0x0c000, 0x4000, CRC(4ee8b624) SHA1(d02a306f8b32b3a097fc51e75e106a40fe942d35) )
1506 	ROM_LOAD( "rbtfg5.bin",   0x10000, 0x4000, CRC(9eeca46e) SHA1(523efaba9a3cbe871868ee09caea062382f31fad) )
1507 	ROM_LOAD( "rbtfg4.bin",   0x14000, 0x4000, CRC(8c79e7d7) SHA1(e2a427324fc1d4422e50a1ab79822aff0290e109) )
1508 	ROM_LOAD( "rbtfg7.bin",   0x18000, 0x4000, CRC(8dbf0c36) SHA1(dab52db0bca13b9f3470060bc3babe4a6c2cdcc8) )
1509 	ROM_LOAD( "rbtfg6.bin",   0x1c000, 0x4000, CRC(441201a0) SHA1(400d390729601610b152e21da55399399830221f) )
1510 
1511 	ROM_REGION( 0x0020, REGION_PROMS, 0 )
1512 	ROM_LOAD( "5784",         0x0000, 0x0020, CRC(e1281ee9) SHA1(9ac9b01d24affc0ee9227a4364c4fd8f8290343a) )
1513 ROM_END
1514 
1515 
1516 ROM_START( timber )
1517 	ROM_REGION( 0x10000, REGION_CPU1, 0 )	/* 64k for code */
1518 	ROM_LOAD( "timpg0.bin",   0x00000, 0x4000, CRC(377032ab) SHA1(7b6c6e9c5088651720990c49296ddccb5416a729) )
1519 	ROM_LOAD( "timpg1.bin",   0x04000, 0x4000, CRC(fd772836) SHA1(ce5266f7b1ab7dc8c1af864bc8afe33d724649fc) )
1520 	ROM_LOAD( "timpg2.bin",   0x08000, 0x4000, CRC(632989f9) SHA1(9e9dc343746299bb0dc7ada206211366c5a05075) )
1521 	ROM_LOAD( "timpg3.bin",   0x0c000, 0x2000, CRC(dae8a0dc) SHA1(f065fa3184efa6524d4f950616f3fbae4ea17513) )
1522 
1523 	ROM_REGION( 0x10000, REGION_CPU2, 0 )	/* 64k for the audio CPU */
1524 	ROM_LOAD( "tima7.bin",    0x00000, 0x1000, CRC(c615dc3e) SHA1(664d5e3ac3936fd04a855ee0c88f1c1b4d1dea5b) )
1525 	ROM_LOAD( "tima8.bin",    0x01000, 0x1000, CRC(83841c87) SHA1(bd5a2e567e015e10e45651e15b42ffb3b69d2305) )
1526 	ROM_LOAD( "tima9.bin",    0x02000, 0x1000, CRC(22bcdcd3) SHA1(69cedc8cec52ca310f828dfe73d7de04729b06d3) )
1527 
1528 	ROM_REGION( 0x08000, REGION_GFX1, ROMREGION_DISPOSE )
1529 	ROM_LOAD( "timbg1.bin",   0x00000, 0x4000, CRC(b1cb2651) SHA1(799efcc35b08a3432ee2c13de3f6c65477a6de07) )
1530 	ROM_LOAD( "timbg0.bin",   0x04000, 0x4000, CRC(2ae352c4) SHA1(8039f09cdba6ce43005f98dcff91958ba16363bb) )
1531 
1532 	ROM_REGION( 0x20000, REGION_GFX2, ROMREGION_DISPOSE )
1533 	ROM_LOAD( "timfg1.bin",   0x00000, 0x4000, CRC(81de4a73) SHA1(38e06b67004aa44dc58d205793ae83d3707472a6) )
1534 	ROM_LOAD( "timfg0.bin",   0x04000, 0x4000, CRC(7f3a4f59) SHA1(2723cb93c1b7b229b370d069651cf83ecb1cff3a) )
1535 	ROM_LOAD( "timfg3.bin",   0x08000, 0x4000, CRC(37c03272) SHA1(2f5793b6a148af43c5b6efe718714942ce7d271b) )
1536 	ROM_LOAD( "timfg2.bin",   0x0c000, 0x4000, CRC(e2c2885c) SHA1(618dab8cf2ee189343210d0e20dd246447c4c542) )
1537 	ROM_LOAD( "timfg5.bin",   0x10000, 0x4000, CRC(eb636216) SHA1(c347a64933f547cf1925e5fa187deda6e0bf713c) )
1538 	ROM_LOAD( "timfg4.bin",   0x14000, 0x4000, CRC(b7105eb7) SHA1(913687f0e5dd105a3dfdc0afd1b5610b27124451) )
1539 	ROM_LOAD( "timfg7.bin",   0x18000, 0x4000, CRC(d9c27475) SHA1(24a7e6200e4f3514d4d3f25b2ffe3338c0c2a495) )
1540 	ROM_LOAD( "timfg6.bin",   0x1c000, 0x4000, CRC(244778e8) SHA1(494bc1e627997cd4f1d5267c5fafd0779ccf9255) )
1541 
1542 	ROM_REGION( 0x0020, REGION_PROMS, 0 )
1543 	ROM_LOAD( "82s123.12d",   0x0000, 0x0020, CRC(e1281ee9) SHA1(9ac9b01d24affc0ee9227a4364c4fd8f8290343a) )	/* from shollow, assuming it's the same */
1544 ROM_END
1545 
1546 
1547 ROM_START( dotron )
1548 	ROM_REGION( 0x10000, REGION_CPU1, 0 )	/* 64k for code */
1549 	ROM_LOAD( "loc-pg0.1c",   0x00000, 0x4000, CRC(ba0da15f) SHA1(c0dfac2e5d6549620525b9e3d64b7c5494164dbd) )
1550 	ROM_LOAD( "loc-pg1.2c",   0x04000, 0x4000, CRC(dc300191) SHA1(417e964f38bfbdd84cae79939c23a7de41cd7bae) )
1551 	ROM_LOAD( "loc-pg2.3c",   0x08000, 0x4000, CRC(ab0b3800) SHA1(457a18bd98a3c4a9f893a3704dbc7d0fde4ef8ba) )
1552 	ROM_LOAD( "loc-pg1.4c",   0x0c000, 0x2000, CRC(f98c9f8e) SHA1(a215f0fd6cd9e8cacbe06cb7bfe4e2cced150c86) )
1553 
1554 	ROM_REGION( 0x10000, REGION_CPU2, 0 )	/* 64k for the audio CPU */
1555 	ROM_LOAD( "sound0.a7",    0x00000, 0x1000, CRC(6d39bf19) SHA1(3d27466fcb6d41133f16119cddb815833c8b4eda) )
1556 	ROM_LOAD( "sound1.a8",    0x01000, 0x1000, CRC(ac872e1d) SHA1(c2833b20e124c505be3d5be2c885b9cf9927ca4c) )
1557 	ROM_LOAD( "sound2.a9",    0x02000, 0x1000, CRC(e8ef6519) SHA1(261b0463a73b403bc46df3e04f3d12173787d6e7) )
1558 	ROM_LOAD( "sound3.a10",   0x03000, 0x1000, CRC(6b5aeb02) SHA1(039d8d664f067bc0d085ad7730ef63dbd6dc387e) )
1559 
1560 	ROM_REGION( 0x10000, REGION_CPU3, 0 )	/* 64k for the audio CPU */
1561 	ROM_LOAD( "pre.u3",       0x0d000, 0x1000, CRC(c3d0f762) SHA1(a1857641c35b5bcb33f29fe79a1a581c4cbf129b) )
1562 	ROM_LOAD( "pre.u4",       0x0e000, 0x1000, CRC(7ca79b43) SHA1(c995e1e67d70706a090eb777e9fec0f1ba03f82d) )
1563 	ROM_LOAD( "pre.u5",       0x0f000, 0x1000, CRC(24e9618e) SHA1(eb245ff381a76b314a0ed3519e140444afae341c) )
1564 
1565 	ROM_REGION( 0x04000, REGION_GFX1, ROMREGION_DISPOSE )
1566 	ROM_LOAD( "loc-bg2.6f",   0x00000, 0x2000, CRC(40167124) SHA1(782c8192dd58a3f23ff2338452dd03206d79030a) )
1567 	ROM_LOAD( "loc-bg1.5f",   0x02000, 0x2000, CRC(bb2d7a5d) SHA1(8044be9ffca9520fd77e0da492147e553f9f7da3) )
1568 
1569 	ROM_REGION( 0x10000, REGION_GFX2, ROMREGION_DISPOSE )
1570 	ROM_LOAD( "loc-g.cp4",    0x00000, 0x2000, CRC(57a2b1ff) SHA1(b97539ffd2f5fc8b86fc2f8f233cc26ba16f82ee) )
1571 	ROM_LOAD( "loc-h.cp3",    0x02000, 0x2000, CRC(3bb4d475) SHA1(3795ba1640790041da51ebeac8517cc7d32e243e) )
1572 	ROM_LOAD( "loc-e.cp6",    0x04000, 0x2000, CRC(ce957f1a) SHA1(24177a8dd6dcb377cf8aee7c7b47b26f29e77e20) )
1573 	ROM_LOAD( "loc-f.cp5",    0x06000, 0x2000, CRC(d26053ce) SHA1(b7fb3d1df9b80c056cf131574565addb529645e1) )
1574 	ROM_LOAD( "loc-c.cp8",    0x08000, 0x2000, CRC(ef45d146) SHA1(6cd83909b4376abce287e435a10e5bc25e18b265) )
1575 	ROM_LOAD( "loc-d.cp7",    0x0a000, 0x2000, CRC(5e8a3ef3) SHA1(74983c922eae1326ecd0ff14000851e0b424cc61) )
1576 	ROM_LOAD( "loc-a.cp0",    0x0c000, 0x2000, CRC(b35f5374) SHA1(3f330ffde52ac57c02dfdf8e105aefcc10f87a0b) )
1577 	ROM_LOAD( "loc-b.cp9",    0x0e000, 0x2000, CRC(565a5c48) SHA1(9dfafd58bd552bfda4e1799a175735ecc1369ba3) )
1578 
1579 	ROM_REGION( 0x0020, REGION_PROMS, 0 )
1580 	ROM_LOAD( "82s123.12d",   0x0000, 0x0020, CRC(e1281ee9) SHA1(9ac9b01d24affc0ee9227a4364c4fd8f8290343a) )	/* from shollow, assuming it's the same */
1581 ROM_END
1582 
1583 
1584 ROM_START( dotrona )
1585 	ROM_REGION( 0x10000, REGION_CPU1, 0 )	/* 64k for code */
1586 	ROM_LOAD( "aloc-pg0.1c",  0x00000, 0x4000, CRC(40d00195) SHA1(e06a8097f02b9f445df0dd5c0ec13f9a0a1dcd8a) )
1587 	ROM_LOAD( "aloc-pg1.2c",  0x04000, 0x4000, CRC(5a7d1300) SHA1(8a1f088de9289cd902e72b55d3e72c3f07246778) )
1588 	ROM_LOAD( "aloc-pg2.3c",  0x08000, 0x4000, CRC(cb89c9be) SHA1(c773a68891fbf94808a2ee0036928c0c48d6673d) )
1589 	ROM_LOAD( "aloc-pg1.4c",  0x0c000, 0x2000, CRC(5098faf4) SHA1(9f861f99cb170513b68aee48bbfd60ee439d7fa9) )
1590 
1591 	ROM_REGION( 0x10000, REGION_CPU2, 0 )	/* 64k for the audio CPU */
1592 	ROM_LOAD( "asound0.a7",   0x00000, 0x1000, CRC(7fb54293) SHA1(6d538a3e48f98e269623850f1f6774848a89fd59) )
1593 	ROM_LOAD( "asound1.a8",   0x01000, 0x1000, CRC(edef7326) SHA1(5c9a64604252eea0628bf9d6221e8add82f66abe) )
1594 	ROM_LOAD( "sound2.a9",    0x02000, 0x1000, CRC(e8ef6519) SHA1(261b0463a73b403bc46df3e04f3d12173787d6e7) )
1595 	ROM_LOAD( "sound3.a10",   0x03000, 0x1000, CRC(6b5aeb02) SHA1(039d8d664f067bc0d085ad7730ef63dbd6dc387e) )
1596 
1597 	ROM_REGION( 0x10000, REGION_CPU3, 0 )	/* 64k for the audio CPU */
1598 	ROM_LOAD( "pre.u3",       0x0d000, 0x1000, CRC(c3d0f762) SHA1(a1857641c35b5bcb33f29fe79a1a581c4cbf129b) )
1599 	ROM_LOAD( "pre.u4",       0x0e000, 0x1000, CRC(7ca79b43) SHA1(c995e1e67d70706a090eb777e9fec0f1ba03f82d) )
1600 	ROM_LOAD( "pre.u5",       0x0f000, 0x1000, CRC(24e9618e) SHA1(eb245ff381a76b314a0ed3519e140444afae341c) )
1601 
1602 	ROM_REGION( 0x04000, REGION_GFX1, ROMREGION_DISPOSE )
1603 	ROM_LOAD( "loc-bg2.6f",   0x00000, 0x2000, CRC(40167124) SHA1(782c8192dd58a3f23ff2338452dd03206d79030a) )
1604 	ROM_LOAD( "loc-bg1.5f",   0x02000, 0x2000, CRC(bb2d7a5d) SHA1(8044be9ffca9520fd77e0da492147e553f9f7da3) )
1605 
1606 	ROM_REGION( 0x10000, REGION_GFX2, ROMREGION_DISPOSE )
1607 	ROM_LOAD( "loc-g.cp4",    0x00000, 0x2000, CRC(57a2b1ff) SHA1(b97539ffd2f5fc8b86fc2f8f233cc26ba16f82ee) )
1608 	ROM_LOAD( "loc-h.cp3",    0x02000, 0x2000, CRC(3bb4d475) SHA1(3795ba1640790041da51ebeac8517cc7d32e243e) )
1609 	ROM_LOAD( "loc-e.cp6",    0x04000, 0x2000, CRC(ce957f1a) SHA1(24177a8dd6dcb377cf8aee7c7b47b26f29e77e20) )
1610 	ROM_LOAD( "loc-f.cp5",    0x06000, 0x2000, CRC(d26053ce) SHA1(b7fb3d1df9b80c056cf131574565addb529645e1) )
1611 	ROM_LOAD( "loc-c.cp8",    0x08000, 0x2000, CRC(ef45d146) SHA1(6cd83909b4376abce287e435a10e5bc25e18b265) )
1612 	ROM_LOAD( "loc-d.cp7",    0x0a000, 0x2000, CRC(5e8a3ef3) SHA1(74983c922eae1326ecd0ff14000851e0b424cc61) )
1613 	ROM_LOAD( "loc-a.cp0",    0x0c000, 0x2000, CRC(b35f5374) SHA1(3f330ffde52ac57c02dfdf8e105aefcc10f87a0b) )
1614 	ROM_LOAD( "loc-b.cp9",    0x0e000, 0x2000, CRC(565a5c48) SHA1(9dfafd58bd552bfda4e1799a175735ecc1369ba3) )
1615 
1616 	ROM_REGION( 0x0020, REGION_PROMS, 0 )
1617 	ROM_LOAD( "82s123.12d",   0x0000, 0x0020, CRC(e1281ee9) SHA1(9ac9b01d24affc0ee9227a4364c4fd8f8290343a) )	/* from shollow, assuming it's the same */
1618 ROM_END
1619 
1620 
1621 ROM_START( dotrone )
1622 	ROM_REGION( 0x10000, REGION_CPU1, 0 )	/* 64k for code */
1623 	ROM_LOAD( "loc-cpu1",     0x00000, 0x4000, CRC(eee31b8c) SHA1(c05ad1d10588a6c1050c608f1a473685ebe4daad) )
1624 	ROM_LOAD( "loc-cpu2",     0x04000, 0x4000, CRC(75ba6ad3) SHA1(d02c3d731073fb6083bd8f771f76338939384a07) )
1625 	ROM_LOAD( "loc-cpu3",     0x08000, 0x4000, CRC(94bb1a0e) SHA1(af4769fac39e67eff840675bf93cc4304f2875fd) )
1626 	ROM_LOAD( "loc-cpu4",     0x0c000, 0x2000, CRC(c137383c) SHA1(ccf7cf9c7c0528aa819cfca34c1c0e89ab2d586a) )
1627 
1628 	ROM_REGION( 0x10000, REGION_CPU2, 0 )	/* 64k for the audio CPU */
1629 	ROM_LOAD( "loc-a",        0x00000, 0x1000, CRC(2de6a8a8) SHA1(6bba00daed8836297f3189db4e4fe8e158adc465) )
1630 	ROM_LOAD( "loc-b",        0x01000, 0x1000, CRC(4097663e) SHA1(afb5224529550cec378415a5cd81b47f6c6c101b) )
1631 	ROM_LOAD( "loc-c",        0x02000, 0x1000, CRC(f576b9e7) SHA1(4ff39c46c390aa93d900f5f7a0b35fa71f066863) )
1632 	ROM_LOAD( "loc-d",        0x03000, 0x1000, CRC(74b0059e) SHA1(1fe393721446538036fb6110fdc3920959ebd596) )
1633 
1634 	ROM_REGION( 0x10000, REGION_CPU3, 0 )	/* 64k for the audio CPU */
1635 	ROM_LOAD( "pre.u3",       0x0d000, 0x1000, CRC(c3d0f762) SHA1(a1857641c35b5bcb33f29fe79a1a581c4cbf129b) )
1636 	ROM_LOAD( "pre.u4",       0x0e000, 0x1000, CRC(7ca79b43) SHA1(c995e1e67d70706a090eb777e9fec0f1ba03f82d) )
1637 	ROM_LOAD( "pre.u5",       0x0f000, 0x1000, CRC(24e9618e) SHA1(eb245ff381a76b314a0ed3519e140444afae341c) )
1638 
1639 	ROM_REGION( 0x04000, REGION_GFX1, ROMREGION_DISPOSE )
1640 	ROM_LOAD( "loc-bg2.6f",   0x00000, 0x2000, CRC(40167124) SHA1(782c8192dd58a3f23ff2338452dd03206d79030a) )
1641 	ROM_LOAD( "loc-bg1.5f",   0x02000, 0x2000, CRC(bb2d7a5d) SHA1(8044be9ffca9520fd77e0da492147e553f9f7da3) )
1642 
1643 	ROM_REGION( 0x10000, REGION_GFX2, ROMREGION_DISPOSE )
1644 	ROM_LOAD( "loc-g.cp4",    0x00000, 0x2000, CRC(57a2b1ff) SHA1(b97539ffd2f5fc8b86fc2f8f233cc26ba16f82ee) )
1645 	ROM_LOAD( "loc-h.cp3",    0x02000, 0x2000, CRC(3bb4d475) SHA1(3795ba1640790041da51ebeac8517cc7d32e243e) )
1646 	ROM_LOAD( "loc-e.cp6",    0x04000, 0x2000, CRC(ce957f1a) SHA1(24177a8dd6dcb377cf8aee7c7b47b26f29e77e20) )
1647 	ROM_LOAD( "loc-f.cp5",    0x06000, 0x2000, CRC(d26053ce) SHA1(b7fb3d1df9b80c056cf131574565addb529645e1) )
1648 	ROM_LOAD( "loc-c.cp8",    0x08000, 0x2000, CRC(ef45d146) SHA1(6cd83909b4376abce287e435a10e5bc25e18b265) )
1649 	ROM_LOAD( "loc-d.cp7",    0x0a000, 0x2000, CRC(5e8a3ef3) SHA1(74983c922eae1326ecd0ff14000851e0b424cc61) )
1650 	ROM_LOAD( "loc-a.cp0",    0x0c000, 0x2000, CRC(b35f5374) SHA1(3f330ffde52ac57c02dfdf8e105aefcc10f87a0b) )
1651 	ROM_LOAD( "loc-b.cp9",    0x0e000, 0x2000, CRC(565a5c48) SHA1(9dfafd58bd552bfda4e1799a175735ecc1369ba3) )
1652 
1653 	ROM_REGION( 0x0020, REGION_PROMS, 0 )
1654 	ROM_LOAD( "82s123.12d",   0x0000, 0x0020, CRC(e1281ee9) SHA1(9ac9b01d24affc0ee9227a4364c4fd8f8290343a) )	/* from shollow, assuming it's the same */
1655 ROM_END
1656 
1657 
1658 ROM_START( demoderb )
1659 	ROM_REGION( 0x10000, REGION_CPU1, 0 )	/* 64k for code */
1660 	ROM_LOAD( "dd_pro",       0x00000, 0x4000, CRC(8781b367) SHA1(52fe4f4e3fa0370284845d88bc7b30a95c962b22) )
1661 	ROM_LOAD( "dd_pro1",      0x04000, 0x4000, CRC(4c713bfe) SHA1(493b6ba01e86e7586ad123c53cf7f0a0c191d670) )
1662 	ROM_LOAD( "dd_pro2",      0x08000, 0x4000, CRC(c2cbd2a4) SHA1(fa642b2f61ff5529ab688a43c1dc14357a4eba6f) )
1663 
1664 	ROM_REGION( 0x10000, REGION_CPU2, 0 )  /* 64k for the Turbo Cheap Squeak */
1665 	ROM_LOAD( "tcs_u5.bin",   0x0c000, 0x2000, CRC(eca33b2c) SHA1(938b021ea3b0f23aed7a98a930a58af371a02303) )
1666 	ROM_LOAD( "tcs_u4.bin",   0x0e000, 0x2000, CRC(3490289a) SHA1(a9d56ea60bb901267da41ab408f8e1ed3742b0ac) )
1667 
1668 	ROM_REGION( 0x04000, REGION_GFX1, ROMREGION_DISPOSE )
1669 	ROM_LOAD( "dd_bg0.6f",    0x00000, 0x2000, CRC(cf80be19) SHA1(a2ab09ee2dc76fab472fec7520ed972ccc10e826) )
1670 	ROM_LOAD( "dd_bg1.5f",    0x02000, 0x2000, CRC(4e173e52) SHA1(ac5ae8007a63f9c074444783c1058109327dd118) )
1671 
1672 	ROM_REGION( 0x20000, REGION_GFX2, ROMREGION_DISPOSE )
1673 	ROM_LOAD( "dd_fg-0.a4",   0x00000, 0x4000, CRC(e57a4de6) SHA1(d1b2396a85b984e171d751ef8e1cf970ac4ff9fb) )
1674 	ROM_LOAD( "dd_fg-4.a3",   0x04000, 0x4000, CRC(55aa667f) SHA1(d611dbf9e8ef383d02514b0edb9ea36670193bf0) )
1675 	ROM_LOAD( "dd_fg-1.a6",   0x08000, 0x4000, CRC(70259651) SHA1(55967aaf2a7617c8f5a199d1e07128d79ce16970) )
1676 	ROM_LOAD( "dd_fg-5.a5",   0x0c000, 0x4000, CRC(5fe99007) SHA1(9d640b4715333efdc6300dc353991d6934929399) )
1677 	ROM_LOAD( "dd_fg-2.a8",   0x10000, 0x4000, CRC(6cab7b95) SHA1(8faff7458ab5ff2dd096dd78b1449a4096cc6345) )
1678 	ROM_LOAD( "dd_fg-6.a7",   0x14000, 0x4000, CRC(abfb9a8b) SHA1(14ab416bc76db25ad97353c9072048c64ec95344) )
1679 	ROM_LOAD( "dd_fg-3.a10",  0x18000, 0x4000, CRC(801d9b86) SHA1(5a8c72d1060eea1a3ad67b98aa6eff13f6837af6) )
1680 	ROM_LOAD( "dd_fg-7.a9",   0x1c000, 0x4000, CRC(0ec3f60a) SHA1(4176b246b0ea7bce9498c20e12678f16f7173529) )
1681 ROM_END
1682 
1683 
1684 ROM_START( demoderm )
1685 	ROM_REGION( 0x10000, REGION_CPU1, 0 )	/* 64k for code */
1686 	ROM_LOAD( "pro0.3b",      0x00000, 0x8000, CRC(2e24527b) SHA1(df8d1129b52ca0f4326c7c7e4f10d81b4ced65b5) )
1687 	ROM_LOAD( "pro1.5b",      0x08000, 0x8000, CRC(034c00fc) SHA1(0f0e8f123a34c330021bce76ed7f38bcb2e9af4e) )
1688 
1689 	ROM_REGION( 0x10000, REGION_CPU2, 0 )  /* 64k for the Turbo Cheap Squeak */
1690 	ROM_LOAD( "tcs_u5.bin",   0x0c000, 0x2000, CRC(eca33b2c) SHA1(938b021ea3b0f23aed7a98a930a58af371a02303) )
1691 	ROM_LOAD( "tcs_u4.bin",   0x0e000, 0x2000, CRC(3490289a) SHA1(a9d56ea60bb901267da41ab408f8e1ed3742b0ac) )
1692 
1693 	ROM_REGION( 0x04000, REGION_GFX1, ROMREGION_DISPOSE | ROMREGION_INVERT )
1694 	ROM_LOAD( "bg0.15a",      0x00000, 0x2000, CRC(a35d13b8) SHA1(18d2d900a787e082ba30c13034ed6c64305a79b4) )
1695 	ROM_LOAD( "bg1.14b",      0x02000, 0x2000, CRC(22ca93f3) SHA1(8a907ee6d1fd88d472d868eb47e7ae7d44097e67) )
1696 
1697 	ROM_REGION( 0x20000, REGION_GFX2, ROMREGION_DISPOSE )
1698 	ROM_LOAD( "dd_fg-0.a4",   0x00000, 0x4000, CRC(e57a4de6) SHA1(d1b2396a85b984e171d751ef8e1cf970ac4ff9fb) )
1699 	ROM_LOAD( "dd_fg-4.a3",   0x04000, 0x4000, CRC(55aa667f) SHA1(d611dbf9e8ef383d02514b0edb9ea36670193bf0) )
1700 	ROM_LOAD( "dd_fg-1.a6",   0x08000, 0x4000, CRC(70259651) SHA1(55967aaf2a7617c8f5a199d1e07128d79ce16970) )
1701 	ROM_LOAD( "dd_fg-5.a5",   0x0c000, 0x4000, CRC(5fe99007) SHA1(9d640b4715333efdc6300dc353991d6934929399) )
1702 	ROM_LOAD( "dd_fg-2.a8",   0x10000, 0x4000, CRC(6cab7b95) SHA1(8faff7458ab5ff2dd096dd78b1449a4096cc6345) )
1703 	ROM_LOAD( "dd_fg-6.a7",   0x14000, 0x4000, CRC(abfb9a8b) SHA1(14ab416bc76db25ad97353c9072048c64ec95344) )
1704 	ROM_LOAD( "dd_fg-3.a10",  0x18000, 0x4000, CRC(801d9b86) SHA1(5a8c72d1060eea1a3ad67b98aa6eff13f6837af6) )
1705 	ROM_LOAD( "dd_fg-7.a9",   0x1c000, 0x4000, CRC(0ec3f60a) SHA1(4176b246b0ea7bce9498c20e12678f16f7173529) )
1706 ROM_END
1707 
1708 
1709 ROM_START( sarge )
1710 	ROM_REGION( 0x10000, REGION_CPU1, 0 )	/* 64k for code */
1711 	ROM_LOAD( "cpu_3b.bin",   0x0000, 0x8000, CRC(da31a58f) SHA1(29b97caf61f8f59042519a6b501cd1d15099dd59) )
1712 	ROM_LOAD( "cpu_5b.bin",   0x8000, 0x8000, CRC(6800e746) SHA1(018c2b622b3654530ebc2c299b3f745777163d4b) )
1713 
1714 	ROM_REGION( 0x10000, REGION_CPU2, 0 )  /* 64k for the Turbo Cheap Squeak */
1715 	ROM_LOAD( "tcs_u5.bin",   0xc000, 0x2000, CRC(a894ef8a) SHA1(7f53927fc185fff8ba1b1747f0d565e089d879e6) )
1716 	ROM_LOAD( "tcs_u4.bin",   0xe000, 0x2000, CRC(6ca6faf3) SHA1(4647e633dd11f55a65c3acf81adeb3af93624991) )
1717 
1718 	ROM_REGION( 0x04000, REGION_GFX1, ROMREGION_DISPOSE | ROMREGION_INVERT )
1719 	ROM_LOAD( "til_15a.bin",  0x00000, 0x2000, CRC(685001b8) SHA1(300abd808efe5b44b022082eebc591c7c255697c) )
1720 	ROM_LOAD( "til_14b.bin",  0x02000, 0x2000, CRC(8449eb45) SHA1(6cc43639998d55fe7ffac7e9b091d35ea169e048) )
1721 
1722 	ROM_REGION( 0x20000, REGION_GFX2, ROMREGION_DISPOSE )
1723 	ROM_LOAD( "spr_8e.bin",   0x00000, 0x8000, CRC(93fac29d) SHA1(3d144208eca3b5377689e69da4505187a3d20d4f) )
1724 	ROM_LOAD( "spr_6e.bin",   0x08000, 0x8000, CRC(7cc6fb28) SHA1(5fe24d5114551b4a4bf303cd612da332555c0f93) )
1725 	ROM_LOAD( "spr_5e.bin",   0x10000, 0x8000, CRC(c832375c) SHA1(dfb7782b13e1e959e0ecd5da771cd38962f6952b) )
1726 	ROM_LOAD( "spr_4e.bin",   0x18000, 0x8000, CRC(c382267d) SHA1(6b459e9ec7948a529b5308357851a0bede085aef) )
1727 ROM_END
1728 
1729 
1730 ROM_START( maxrpm )
1731 	ROM_REGION( 0x12000, REGION_CPU1, 0 )	/* 64k for code */
1732 	ROM_LOAD( "pro.0",        0x00000, 0x8000, CRC(3f9ec35f) SHA1(ebdcf480aee5569af631106cc6478adc26c4ac24) )
1733 	ROM_LOAD( "pro.1",        0x08000, 0x6000, CRC(f628bb30) SHA1(0514906b9764a7f02a730a610affea4d42a4510d) )
1734 	ROM_CONTINUE(             0x10000, 0x2000 )	/* unused? but there seems to be stuff in here */
1735 								/* loading it at e000 causes rogue sprites to appear on screen */
1736 
1737 	ROM_REGION( 0x10000, REGION_CPU2, 0 )  /* 64k for the Turbo Cheap Squeak */
1738 	ROM_LOAD( "turbskwk.u5",   0x8000, 0x4000, CRC(55c3b759) SHA1(89d690a007a996e9c7df7b365942e4da755d15d7) )
1739 	ROM_LOAD( "turbskwk.u4",   0xc000, 0x4000, CRC(31a2da2e) SHA1(582434b5d6bc8e84f39191976d8aa0ef9245f253) )
1740 
1741 	ROM_REGION( 0x08000, REGION_GFX1, ROMREGION_DISPOSE | ROMREGION_INVERT )
1742 	ROM_LOAD( "bg-0",         0x00000, 0x4000, CRC(e3fb693a) SHA1(9543c099cae4f56ef09f4e678891c90ef55928ed) )
1743 	ROM_LOAD( "bg-1",         0x04000, 0x4000, CRC(50d1db6c) SHA1(5ef669b868edf2d0b7f16879523318e8d6a3f9b3) )
1744 
1745 	ROM_REGION( 0x20000, REGION_GFX2, ROMREGION_DISPOSE )
1746 	ROM_LOAD( "fg-0",         0x00000, 0x8000, CRC(1d1435c1) SHA1(6a53ef047bb763ea30d2e8098cb1dd6b337ccf4f) )
1747 	ROM_LOAD( "fg-1",         0x08000, 0x8000, CRC(e54b7f2a) SHA1(b95f9d71ec98e60db57ce57006c013e5a521d8ab) )
1748 	ROM_LOAD( "fg-2",         0x10000, 0x8000, CRC(38be8505) SHA1(5e01e5e6317dd722d19f23863908ffc5833f22c3) )
1749 	ROM_LOAD( "fg-3",         0x18000, 0x8000, CRC(9ae3eb52) SHA1(a96835caece971692790cd7385ab618373eb821f) )
1750 ROM_END
1751 
1752 
1753 ROM_START( rampage )
1754 	ROM_REGION( 0x10000, REGION_CPU1, 0 )	/* 64k for code */
1755 	ROM_LOAD( "pro0rev3.3b",  0x00000, 0x08000, CRC(2f7ca03c) SHA1(1e3a1f213fd67938adf14ea0d04dab687ea8f4ef) )
1756 	ROM_LOAD( "pro1rev3.5b",  0x08000, 0x08000, CRC(d89bd9a4) SHA1(3531464ffe49dfaf2755d9e2dc1aea23819b3a5d) )
1757 
1758 	ROM_REGION( 0x20000, REGION_CPU2, 0 )  /* 128k for the Sounds Good board */
1759 	ROM_LOAD16_BYTE( "ramp_u7.snd",  0x00000, 0x8000, CRC(cffd7fa5) SHA1(7c5cecce1d428f847fea37d53eb09c6f62055c6f) )	/* these are Revision 2 sound ROMs */
1760 	ROM_LOAD16_BYTE( "ramp_u17.snd", 0x00001, 0x8000, CRC(e92c596b) SHA1(4e2d87398f2e7b637cbad6cb16d832dfa8f8288c) )
1761 	ROM_LOAD16_BYTE( "ramp_u8.snd",  0x10000, 0x8000, CRC(11f787e4) SHA1(1fa195bf9169608099d17be5801738a4e17bec3d) )
1762 	ROM_LOAD16_BYTE( "ramp_u18.snd", 0x10001, 0x8000, CRC(6b8bf5e1) SHA1(aa8c0260dcd19a795bfc23197cd87348a685d20b) )
1763 
1764 	ROM_REGION( 0x08000, REGION_GFX1, ROMREGION_DISPOSE | ROMREGION_INVERT )
1765 	ROM_LOAD( "bg-0",         0x00000, 0x04000, CRC(c0d8b7a5) SHA1(692219388a3124fb48db7e35c4127b0fe066a289) )
1766 	ROM_LOAD( "bg-1",         0x04000, 0x04000, CRC(2f6e3aa1) SHA1(ae86ce90bb6bf660e38c0f91e7ce90d44be82d60) )
1767 
1768 	ROM_REGION( 0x40000, REGION_GFX2, ROMREGION_DISPOSE )
1769 	ROM_LOAD( "fg-0",         0x00000, 0x10000, CRC(0974be5d) SHA1(be347faaa345383dc6e5c2b3789c372d6bd25905) )
1770 	ROM_LOAD( "fg-1",         0x10000, 0x10000, CRC(8728532b) SHA1(327df92db7e3506b827d497859980cd2de51f45d) )
1771 	ROM_LOAD( "fg-2",         0x20000, 0x10000, CRC(9489f714) SHA1(df17a45cdc6a9310856d64f89954be79bbeac12e) )
1772 	ROM_LOAD( "fg-3",         0x30000, 0x10000, CRC(81e1de40) SHA1(7e7818792845ec3687b3202eeade60a298ef513e) )
1773 ROM_END
1774 
1775 
1776 ROM_START( rampage2 )
1777 	ROM_REGION( 0x10000, REGION_CPU1, 0 )	/* 64k for code */
1778 	ROM_LOAD( "pro0rev2.3b",  0x0000, 0x8000, CRC(3f1d0293) SHA1(d68f04b9b3fc377b9e57b823db4e7f9cfedbcf99) )
1779 	ROM_LOAD( "pro1rev2.5b",  0x8000, 0x8000, CRC(58523d75) SHA1(5cd512864568ec7793bda0164f21e7d72a7ea817) )
1780 
1781 	ROM_REGION( 0x20000, REGION_CPU2, 0 )  /* 128k for the Sounds Good board */
1782 	ROM_LOAD16_BYTE( "ramp_u7.snd",  0x00000, 0x8000, CRC(cffd7fa5) SHA1(7c5cecce1d428f847fea37d53eb09c6f62055c6f) )    /* these are Revision 2 sound ROMs */
1783 	ROM_LOAD16_BYTE( "ramp_u17.snd", 0x00001, 0x8000, CRC(e92c596b) SHA1(4e2d87398f2e7b637cbad6cb16d832dfa8f8288c) )
1784 	ROM_LOAD16_BYTE( "ramp_u8.snd",  0x10000, 0x8000, CRC(11f787e4) SHA1(1fa195bf9169608099d17be5801738a4e17bec3d) )
1785 	ROM_LOAD16_BYTE( "ramp_u18.snd", 0x10001, 0x8000, CRC(6b8bf5e1) SHA1(aa8c0260dcd19a795bfc23197cd87348a685d20b) )
1786 
1787 	ROM_REGION( 0x08000, REGION_GFX1, ROMREGION_DISPOSE | ROMREGION_INVERT )
1788 	ROM_LOAD( "bg-0",         0x00000, 0x04000, CRC(c0d8b7a5) SHA1(692219388a3124fb48db7e35c4127b0fe066a289) )
1789 	ROM_LOAD( "bg-1",         0x04000, 0x04000, CRC(2f6e3aa1) SHA1(ae86ce90bb6bf660e38c0f91e7ce90d44be82d60) )
1790 
1791 	ROM_REGION( 0x40000, REGION_GFX2, ROMREGION_DISPOSE )
1792 	ROM_LOAD( "fg-0",         0x00000, 0x10000, CRC(0974be5d) SHA1(be347faaa345383dc6e5c2b3789c372d6bd25905) )
1793 	ROM_LOAD( "fg-1",         0x10000, 0x10000, CRC(8728532b) SHA1(327df92db7e3506b827d497859980cd2de51f45d) )
1794 	ROM_LOAD( "fg-2",         0x20000, 0x10000, CRC(9489f714) SHA1(df17a45cdc6a9310856d64f89954be79bbeac12e) )
1795 	ROM_LOAD( "fg-3",         0x30000, 0x10000, CRC(81e1de40) SHA1(7e7818792845ec3687b3202eeade60a298ef513e) )
1796 ROM_END
1797 
1798 
1799 ROM_START( powerdrv )
1800 	ROM_REGION( 0x10000, REGION_CPU1, 0 )	/* 64k for code */
1801 	ROM_LOAD( "pdrv3b.bin",   0x0000, 0x8000, CRC(d870b704) SHA1(300d6ff3c92a45f5c4f28c171280174924aecb6c) )
1802 	ROM_LOAD( "pdrv5b.bin",   0x8000, 0x8000, CRC(fa0544ad) SHA1(55a9cf8c8648761443e4a5a3b214f4d6236cbaff) )
1803 
1804 	ROM_REGION( 0x20000, REGION_CPU2, 0 )  /* 128k for the Sounds Good board */
1805 	ROM_LOAD16_BYTE( "pdsndu7.bin",  0x00000, 0x8000, CRC(78713e78) SHA1(11382c024536f743e051ba208ae02d0f5e07cf5e) )
1806 	ROM_LOAD16_BYTE( "pdsndu17.bin", 0x00001, 0x8000, CRC(c41de6e4) SHA1(0391afd96ee80dd1d4a34e661e5df1e01fbbd57a) )
1807 	ROM_LOAD16_BYTE( "pdsndu8.bin",  0x10000, 0x8000, CRC(15714036) SHA1(77ca5f703eb7f146e13d9c01f4427f6aaa31df39) )
1808 	ROM_LOAD16_BYTE( "pdsndu18.bin", 0x10001, 0x8000, CRC(cae14c70) SHA1(04e92f1f144cc8ff13a09a3d38aa65ac05c41c0b) )
1809 
1810 	ROM_REGION( 0x08000, REGION_GFX1, ROMREGION_DISPOSE | ROMREGION_INVERT )
1811 	ROM_LOAD( "pdrv15a.bin",  0x00000, 0x04000, CRC(b858b5a8) SHA1(da622bde13c7156a826d658e176feccf18f33a4b) )
1812 	ROM_LOAD( "pdrv14b.bin",  0x04000, 0x04000, CRC(12ee7fc2) SHA1(aca7b20efa8b0e2217691fd8de6adf68a2048331) )
1813 
1814 	ROM_REGION( 0x40000, REGION_GFX2, ROMREGION_DISPOSE )
1815 	ROM_LOAD( "pdrv8e.bin",   0x00000, 0x10000, CRC(dd3a2adc) SHA1(0792591eb55603c809d08ee622ecb2c9f5731038) )
1816 	ROM_LOAD( "pdrv6e.bin",   0x10000, 0x10000, CRC(1a1f7f81) SHA1(d66ff3ef3855e086e665531aef0e079842c48fcb) )
1817 	ROM_LOAD( "pdrv5e.bin",   0x20000, 0x10000, CRC(4cb4780e) SHA1(e1fad431257d9ec5e35175e4dc09d21e36ba1fa0) )
1818 	ROM_LOAD( "pdrv4e.bin",   0x30000, 0x10000, CRC(de400335) SHA1(49438bc7c2ba236dcbd4ddc3c985460887dcf110) )
1819 ROM_END
1820 
1821 
1822 ROM_START( stargrds )
1823 	ROM_REGION( 0x10000, REGION_CPU1, 0 )	/* 64k for code */
1824 	ROM_LOAD( "pro-0.3b",  0x00000, 0x08000, CRC(3ad94aa2) SHA1(1e17ac70fddee1f3d0dd71172e15a7a256168a70) )
1825 	ROM_LOAD( "pro-1.5b",  0x08000, 0x08000, CRC(dba428b0) SHA1(72efa2f02e95f05a5503ced136fbdf3fcdf57554) )
1826 
1827 	ROM_REGION( 0x20000, REGION_CPU2, 0 )  /* 128k for the Sounds Good board */
1828 	ROM_LOAD16_BYTE( "snd0.u7",      0x00000, 0x8000, CRC(7755a493) SHA1(a888fba45a2a31de5b3082bfc5ccef94dafc4d16) )
1829 	ROM_LOAD16_BYTE( "snd1.u17",     0x00001, 0x8000, CRC(d98d14ae) SHA1(51dbb97655ab8a389ca67f0e796ab57894f5bb32) )
1830 
1831 	ROM_REGION( 0x10000, REGION_GFX1, ROMREGION_DISPOSE | ROMREGION_INVERT )
1832 	ROM_LOAD( "bg-0.15a",     0x00000, 0x08000, CRC(ecfaef3e) SHA1(145b0543552e678ef441e4a20afe80cd21e43cf6) )
1833 	ROM_LOAD( "bg-1.14b",     0x08000, 0x08000, CRC(2c75569d) SHA1(13808ff0fdb413a4ac6ddef1422b86c118277899) )
1834 
1835 	ROM_REGION( 0x40000, REGION_GFX2, ROMREGION_DISPOSE )
1836 	ROM_LOAD( "fg-0.8e",         0x00000, 0x10000, CRC(22797aaa) SHA1(806ea29f8a43f104d3154322f492e7fa053da751) )
1837 	ROM_LOAD( "fg-1.6e",         0x10000, 0x10000, CRC(413fa119) SHA1(cb609db2e6694a5bb563afd6b28c19afe65a8487) )
1838 	ROM_LOAD( "fg-2.5e",         0x20000, 0x10000, CRC(7036cfe6) SHA1(7778c5a8bf457ba0c1fa0e17978709e1f7ccb8a5) )
1839 	ROM_LOAD( "fg-3.4e",         0x30000, 0x10000, CRC(cc5cc003) SHA1(afe8a0b0542c6f98de9386a07d6586af7de6bdf6) )
1840 ROM_END
1841 
1842 
1843 ROM_START( spyhunt )
1844 	ROM_REGION( 0x10000, REGION_CPU1, 0 )	/* 64k for code */
1845 	ROM_LOAD( "cpu_pg0.6d",   0x0000, 0x2000, CRC(1721b88f) SHA1(c7a641f0c05bd343ebc79e1c1be3a26da5fb77f0) )
1846 	ROM_LOAD( "cpu_pg1.7d",   0x2000, 0x2000, CRC(909d044f) SHA1(67237c3efde568d52e9f8b0d36df726d05a9d9e4) )
1847 	ROM_LOAD( "cpu_pg2.8d",   0x4000, 0x2000, CRC(afeeb8bd) SHA1(fde32863d08a745dfe19f1c1382810eab6aebcec) )
1848 	ROM_LOAD( "cpu_pg3.9d",   0x6000, 0x2000, CRC(5e744381) SHA1(5b75e4f44dfd63d6e35294c606b84231c216e57d) )
1849 	ROM_LOAD( "cpu_pg4.10d",  0x8000, 0x2000, CRC(a3033c15) SHA1(e9811450a7c952561912777d679fe45a6b5a794a) )
1850 	ROM_LOAD( "cpu_pg5.11d",  0xa000, 0x4000, CRC(53a4f7cd) SHA1(051b07ae993e14b329507710c0f7cadaa952f9ae) )
1851 
1852 	ROM_REGION( 0x10000, REGION_CPU2, 0 )	/* 64k for the audio CPU */
1853 	ROM_LOAD( "snd_0sd.a8",   0x0000, 0x1000, CRC(c95cf31e) SHA1(d1b0e299a27e306ddbc0654fd3a9d981c92afe8c) )
1854 	ROM_LOAD( "snd_1sd.a7",   0x1000, 0x1000, CRC(12aaa48e) SHA1(c6b835fc45e4484a4d52b682ce015caa242c8b4f) )
1855 
1856 	ROM_REGION( 0x8000, REGION_CPU3, 0 )  /* 32k for the Chip Squeak Deluxe */
1857 	ROM_LOAD16_BYTE( "csd_u7a.u7",   0x00000, 0x2000, CRC(6e689fe7) SHA1(38ad2e9f12b9d389fb2568ebcb32c8bd1ac6879e) )
1858 	ROM_LOAD16_BYTE( "csd_u17b.u17", 0x00001, 0x2000, CRC(0d9ddce6) SHA1(d955c0e67fc78b517cc229601ab4023cc5a644c2) )
1859 	ROM_LOAD16_BYTE( "csd_u8c.u8",   0x04000, 0x2000, CRC(35563cd0) SHA1(5708d374dd56758194c95118f096ea51bf12bf64) )
1860 	ROM_LOAD16_BYTE( "csd_u18d.u18", 0x04001, 0x2000, CRC(63d3f5b1) SHA1(5864a7e9b6bc3d2df6891d40965a7a0efbba6837) )
1861 
1862 	ROM_REGION( 0x08000, REGION_GFX1, ROMREGION_DISPOSE )
1863 	ROM_LOAD( "cpu_bg0.3a",   0x00000, 0x2000, CRC(dea34fed) SHA1(cbbb2ba75e087eebdce79a0016118c327c8f0a96) )
1864 	ROM_LOAD( "cpu_bg1.4a",   0x02000, 0x2000, CRC(8f64525f) SHA1(d457d12f31a30deb3b4e5b8189c9414aac1ad701) )
1865 	ROM_LOAD( "cpu_bg2.5a",   0x04000, 0x2000, CRC(ba0fd626) SHA1(f39281feb3fbbbd4234fbb70ee77bab3e1a33e3b) )
1866 	ROM_LOAD( "cpu_bg3.6a",   0x06000, 0x2000, CRC(7b482d61) SHA1(f6a46690f69a7513a7fbacd0199946f600d796dd) )
1867 
1868 	ROM_REGION( 0x20000, REGION_GFX2, ROMREGION_DISPOSE )
1869 	ROM_LOAD( "vid_0fg.a8",   0x00000, 0x4000, CRC(292c5466) SHA1(5abb9e2cc592adf81f12bf8ebeaf3e2931a7fa6d) )
1870 	ROM_LOAD( "vid_1fg.a7",   0x04000, 0x4000, CRC(9fe286ec) SHA1(d72cd7e69ef78e25cf5bc599fb0a7da11bf4657f) )
1871 	ROM_LOAD( "vid_2fg.a6",   0x08000, 0x4000, CRC(62c8bfa5) SHA1(f245e49c178f846b647d09c32aa97d61333bdd83) )
1872 	ROM_LOAD( "vid_3fg.a5",   0x0c000, 0x4000, CRC(b894934d) SHA1(e7d6db1635d244d002054dd223a2d0713316ef77) )
1873 	ROM_LOAD( "vid_4fg.a4",   0x10000, 0x4000, CRC(7ca4941b) SHA1(068ecd1e91ecfedba2ae542062f8f51f1329725d) )
1874 	ROM_LOAD( "vid_5fg.a3",   0x14000, 0x4000, CRC(2d9fbcec) SHA1(d73862b974726fe50bf011ea7977f8229b8a1e24) )
1875 	ROM_LOAD( "vid_6fg.a2",   0x18000, 0x4000, CRC(8cb8a066) SHA1(5fa88d471ed8fd18244dd21b976c86530f57c8ac) )
1876 	ROM_LOAD( "vid_7fg.a1",   0x1c000, 0x4000, CRC(940fe17e) SHA1(60d07c10ef5867875d47a4edaa68934e37e2a0aa) )
1877 
1878 	ROM_REGION( 0x01000, REGION_GFX3, ROMREGION_DISPOSE )
1879 	ROM_LOAD( "cpu_alph.10g", 0x00000, 0x1000, CRC(936dc87f) SHA1(cdf73bea82481fbc300ec5a1fbbe8d662007c56b) )
1880 
1881 	ROM_REGION( 0x0020, REGION_PROMS, 0 )
1882 	ROM_LOAD( "82s123.12d",   0x0000, 0x0020, CRC(e1281ee9) SHA1(9ac9b01d24affc0ee9227a4364c4fd8f8290343a) )	/* from shollow, assuming it's the same */
1883 ROM_END
1884 
1885 
1886 ROM_START( crater )
1887 	ROM_REGION( 0x10000, REGION_CPU1, 0 )	/* 64k for code */
1888 	ROM_LOAD( "crcpu.6d",     0x0000, 0x2000, CRC(ad31f127) SHA1(d03506570cd08bcdb39d7c6b9de4f9628c7373e9) )
1889 	ROM_LOAD( "crcpu.7d",     0x2000, 0x2000, CRC(3743c78f) SHA1(05605041c7a5ef2a8271cc3dd1aae4c82c8797eb) )
1890 	ROM_LOAD( "crcpu.8d",     0x4000, 0x2000, CRC(c95f9088) SHA1(2162c4ef2cc29857b10d64ec9e09ca6d086fa9e7) )
1891 	ROM_LOAD( "crcpu.9d",     0x6000, 0x2000, CRC(a03c4b11) SHA1(6a442a0828942dc51dbe0d3f19be855a52c12f39) )
1892 	ROM_LOAD( "crcpu.10d",    0x8000, 0x2000, CRC(44ae4cbd) SHA1(2188bf697f1b3fcbb2ad6cbd4d9098e3b8d56a95) )
1893 
1894 	ROM_REGION( 0x10000, REGION_CPU2, 0 )	/* 64k for the audio CPU */
1895 	ROM_LOAD( "crsnd4.a7",    0x0000, 0x1000, CRC(fd666cb5) SHA1(257174266e264db8ac9af5f2296fd0a22847f85f) )
1896 	ROM_LOAD( "crsnd1.a8",    0x1000, 0x1000, CRC(90bf2c4c) SHA1(7adfbf2251b5d46043d614554320e2fe544cc570) )
1897 	ROM_LOAD( "crsnd2.a9",    0x2000, 0x1000, CRC(3b8deef1) SHA1(a14186a33a7b5ca07086ce44fb1c8c64900654d0) )
1898 	ROM_LOAD( "crsnd3.a10",   0x3000, 0x1000, CRC(05803453) SHA1(1bba85e6494b4f67cea82d61e6cd341337bca998) )
1899 
1900 	ROM_REGION( 0x08000, REGION_GFX1, ROMREGION_DISPOSE )
1901 	ROM_LOAD( "crcpu.3a",     0x00000, 0x2000, CRC(9d73504a) SHA1(23633ce43745c12b59916b85ca92a98e889b884e) )
1902 	ROM_LOAD( "crcpu.4a",     0x02000, 0x2000, CRC(42a47dff) SHA1(cb936ac7ba3dd740c626a11bd6ee3c87dad4e311) )
1903 	ROM_LOAD( "crcpu.5a",     0x04000, 0x2000, CRC(2fe4a6e1) SHA1(329cf9f71b7cbf2a13a05f9cd3397d73c69da893) )
1904 	ROM_LOAD( "crcpu.6a",     0x06000, 0x2000, CRC(d0659042) SHA1(8f28155eb2725eaf6d1c410f76a88969541aeef3) )
1905 
1906 	ROM_REGION( 0x20000, REGION_GFX2, ROMREGION_DISPOSE )
1907 	ROM_LOAD( "crvid.a3",     0x00000, 0x4000, CRC(2c2f5b29) SHA1(f7c4caabd116d3f861e70c6740cd058479477da7) )
1908 	ROM_LOAD( "crvid.a4",     0x04000, 0x4000, CRC(579a8e36) SHA1(1053234b82877f0f8d1a2ce745b853899cfbcc22) )
1909 	ROM_LOAD( "crvid.a5",     0x08000, 0x4000, CRC(9bdec312) SHA1(3a3b44d4f73aad1f0ab2591be479f8472583f20a) )
1910 	ROM_LOAD( "crvid.a6",     0x0c000, 0x4000, CRC(5bf954e0) SHA1(8ff9549a0b5d7e6ad4671c29bf04bb9c26a995ad) )
1911 	ROM_LOAD( "crvid.a7",     0x10000, 0x4000, CRC(9fa307d5) SHA1(ec9ba9c372d62132f02e2a87ed5f602c360755e9) )
1912 	ROM_LOAD( "crvid.a8",     0x14000, 0x4000, CRC(4b913498) SHA1(8aa83fd6f60d6176a8781a906ba75c663ac3f3cb) )
1913 	ROM_LOAD( "crvid.a9",     0x18000, 0x4000, CRC(811f152d) SHA1(f9dee6f95d903a41890fe58bfc0528fecb1d6902) )
1914 	ROM_LOAD( "crvid.a10",    0x1c000, 0x4000, CRC(7a22d6bc) SHA1(c7f97bdf13d52665e61d83b7a8f1621c6df0dbf2) )
1915 
1916 	ROM_REGION( 0x01000, REGION_GFX3, ROMREGION_DISPOSE )
1917 	ROM_LOAD( "crcpu.10g",    0x00000, 0x1000, CRC(6fe53c8d) SHA1(ceb04916af42d58f3173e5986756a0db8be11999) )
1918 
1919 	ROM_REGION( 0x0020, REGION_PROMS, 0 )
1920 	ROM_LOAD( "82s123.12d",   0x0000, 0x0020, CRC(e1281ee9) SHA1(9ac9b01d24affc0ee9227a4364c4fd8f8290343a) )	/* from shollow, assuming it's the same */
1921 ROM_END
1922 
1923 
1924 ROM_START( turbotag )
1925 	ROM_REGION( 0x10000, REGION_CPU1, 0 )	/* 64k for code */
1926 	ROM_LOAD( "ttprog0.bin",  0x0000, 0x2000, CRC(6110fd80) SHA1(544d3cd24b047797c2006a9fac499c14140960db) )
1927 	ROM_LOAD( "ttprog1.bin",  0x2000, 0x2000, BAD_DUMP CRC(b0505e18) SHA1(b6871484f9a0663a9bcffd58368be5ae7717d29c) )
1928 	ROM_LOAD( "ttprog2.bin",  0x4000, 0x2000, CRC(c4141237) SHA1(c1d10da4961e94bd8c2b30a2f9e0cbd8080eb56d) )
1929 	ROM_LOAD( "ttprog3.bin",  0x6000, 0x2000, CRC(af294c6e) SHA1(c8573dd046aa2b071bef3bd86a783ee348c8d6eb) )
1930 	ROM_LOAD( "ttprog4.bin",  0x8000, 0x2000, CRC(8c5bc1a4) SHA1(c38d7aa2639945e705856cf1449faf51a7c82ff0) )
1931 	ROM_LOAD( "ttprog5.bin",  0xa000, 0x2000, CRC(11e62fe4) SHA1(72897702c61486b654e4b4a3f6560c144c862e1f) )
1932 	ROM_RELOAD(               0xc000, 0x2000 )
1933 
1934 	ROM_REGION( 0x8000, REGION_CPU2, 0 )  /* 32k for the Chip Squeak Deluxe */
1935 	ROM_LOAD16_BYTE( "ttu7.bin",  0x00000, 0x2000, CRC(8ebb3302) SHA1(c516abdae6eea524a6d2a039ed9bd7dff72ab986) )
1936 	ROM_LOAD16_BYTE( "ttu17.bin", 0x00001, 0x2000, CRC(605d6c74) SHA1(a6c2bc95cca372fa823ab256c9dd1f92b6ba45fd) )
1937 	ROM_LOAD16_BYTE( "ttu8.bin",  0x04000, 0x2000, CRC(6bfcb22a) SHA1(7b895e3ae1e99f195bb32b052f801b58c63a401c) )
1938 	ROM_LOAD16_BYTE( "ttu18.bin", 0x04001, 0x2000, CRC(bb25852c) SHA1(7e0346b5e2fc16a87a157c868936978be6145e3e) )
1939 
1940 	ROM_REGION( 0x08000, REGION_GFX1, ROMREGION_DISPOSE )
1941 	ROM_LOAD( "ttbg0.bin",    0x00000, 0x2000, CRC(1cd2023f) SHA1(03b4f9d047d4fb3c4889e797e9ffd5edabd8ecff) )
1942 	ROM_LOAD( "ttbg1.bin",    0x02000, 0x2000, CRC(784e84cd) SHA1(cf4ddbd4b8dbfaee2f4e05c89355fad30e264641) )
1943 	ROM_LOAD( "ttbg2.bin",    0x04000, 0x2000, CRC(da9d47d2) SHA1(5af9222f62d9948ec468fb66a5afb46a00f159c3) )
1944 	ROM_LOAD( "ttbg3.bin",    0x06000, 0x2000, CRC(367e06a5) SHA1(24040e29bbe367b497675d155c3e0343399b179b) )
1945 
1946 	ROM_REGION( 0x20000, REGION_GFX2, ROMREGION_DISPOSE )
1947 	ROM_LOAD( "ttfg0.bin",    0x00000, 0x4000, CRC(ed69e1a8) SHA1(4fc223da52d6df3182ba5ba3db8e793e379030f2) )
1948 	ROM_LOAD( "ttfg1.bin",    0x04000, 0x4000, CRC(9d7e6ebc) SHA1(96c658091cb12d65e41f8ac5f609eb51857cef82) )
1949 	ROM_LOAD( "ttfg2.bin",    0x08000, 0x4000, CRC(037ec6fc) SHA1(7bc0bd95cc673d321de33d17764a06f48109b38e) )
1950 	ROM_LOAD( "ttfg3.bin",    0x0c000, 0x4000, CRC(74e21c1c) SHA1(42ea0c569cd443866b46bcaac2c60d197fcbc2a9) )
1951 	ROM_LOAD( "ttfg4.bin",    0x10000, 0x4000, CRC(6fdb0c13) SHA1(b3e140a838f8deaa26dbc86315603fdcef47f157) )
1952 	ROM_LOAD( "ttfg5.bin",    0x14000, 0x4000, CRC(8b718879) SHA1(3e8361e4423e6822c09f866a99cf9fc789c99f66) )
1953 	ROM_LOAD( "ttfg6.bin",    0x18000, 0x4000, CRC(4094e996) SHA1(f50fa31bc311c16bcd2459668f5a942a1d9de75d) )
1954 	ROM_LOAD( "ttfg7.bin",    0x1c000, 0x4000, CRC(212019dc) SHA1(831bb83f6301d9f2f06b31a00ea425b13421b573) )
1955 
1956 	ROM_REGION( 0x01000, REGION_GFX3, ROMREGION_DISPOSE )
1957 	ROM_LOAD( "ttan.bin",     0x00000, 0x1000, CRC(aa0b1471) SHA1(e3dd69f1a14926c6b709d6b19d9e90a1f0867465) )
1958 ROM_END
1959 
1960 
1961 
1962 /*************************************
1963  *
1964  *	Driver initialization
1965  *
1966  *************************************/
1967 
1968 static DRIVER_INIT( tapper )
1969 {
1970 	MCR_CONFIGURE_SOUND(MCR_SSIO);
1971 }
1972 
1973 
DRIVER_INIT(timber)1974 static DRIVER_INIT( timber )
1975 {
1976 	MCR_CONFIGURE_SOUND(MCR_SSIO);
1977 
1978 	/* Timber uses a modified SSIO with RAM in place of one of the ROMs */
1979 	install_mem_read_handler(1, 0x3000, 0x3fff, MRA_RAM);
1980 	install_mem_write_handler(1, 0x3000, 0x3fff, MWA_RAM);
1981 }
1982 
1983 
DRIVER_INIT(dotron)1984 static DRIVER_INIT( dotron )
1985 {
1986 	MCR_CONFIGURE_SOUND(MCR_SSIO | MCR_SQUAWK_N_TALK);
1987 	install_port_read_handler(0, 0x02, 0x02, dotron_port_2_r);
1988 	install_port_write_handler(0, 0x04, 0x04, dotron_port_4_w);
1989 }
1990 
1991 
DRIVER_INIT(demoderb)1992 static DRIVER_INIT( demoderb )
1993 {
1994 	MCR_CONFIGURE_SOUND(MCR_TURBO_CHIP_SQUEAK);
1995 	install_port_read_handler(0, 0x01, 0x02, demoderb_port12_r);
1996 	install_port_write_handler(0, 0x04, 0x04, demoderb_port_4_w);
1997 }
1998 
1999 
DRIVER_INIT(demoderm)2000 static DRIVER_INIT( demoderm )
2001 {
2002 	MCR_CONFIGURE_SOUND(MCR_TURBO_CHIP_SQUEAK);
2003 	install_port_read_handler(0, 0x01, 0x02, demoderb_port12_r);
2004 	install_port_write_handler(0, 0x06, 0x06, demoderb_port_4_w);
2005 }
2006 
2007 
DRIVER_INIT(sarge)2008 static DRIVER_INIT( sarge )
2009 {
2010 	MCR_CONFIGURE_SOUND(MCR_TURBO_CHIP_SQUEAK);
2011 	install_port_read_handler(0, 0x01, 0x01, sarge_port_1_r);
2012 	install_port_read_handler(0, 0x02, 0x02, sarge_port_2_r);
2013 	install_port_write_handler(0, 0x06, 0x06, turbocs_data_w);
2014 }
2015 
2016 
DRIVER_INIT(maxrpm)2017 static DRIVER_INIT( maxrpm )
2018 {
2019 	MCR_CONFIGURE_SOUND(MCR_TURBO_CHIP_SQUEAK);
2020 	install_port_read_handler(0, 0x01, 0x01, maxrpm_port_1_r);
2021 	install_port_read_handler(0, 0x02, 0x02, maxrpm_port_2_r);
2022 	install_port_write_handler(0, 0x05, 0x05, maxrpm_port_5_w);
2023 	install_port_write_handler(0, 0x06, 0x06, turbocs_data_w);
2024 }
2025 
2026 
DRIVER_INIT(rampage)2027 static DRIVER_INIT( rampage )
2028 {
2029 	MCR_CONFIGURE_SOUND(MCR_SOUNDS_GOOD);
2030 	install_port_write_handler(0, 0x06, 0x06, soundsgood_data_w);
2031 }
2032 
2033 
DRIVER_INIT(powerdrv)2034 static DRIVER_INIT( powerdrv )
2035 {
2036 	MCR_CONFIGURE_SOUND(MCR_SOUNDS_GOOD);
2037 	install_port_read_handler(0, 0x02, 0x02, powerdrv_port_2_r);
2038 	install_port_write_handler(0, 0x05, 0x05, powerdrv_port_5_w);
2039 	install_port_write_handler(0, 0x06, 0x06, soundsgood_data_w);
2040 	install_port_write_handler(0, 0x07, 0x07, powerdrv_port_7_w);
2041 }
2042 
2043 
DRIVER_INIT(stargrds)2044 static DRIVER_INIT( stargrds )
2045 {
2046 	MCR_CONFIGURE_SOUND(MCR_SOUNDS_GOOD);
2047 	install_port_read_handler(0, 0x00, 0x00, stargrds_port_0_r);
2048 	install_port_write_handler(0, 0x05, 0x05, stargrds_port_5_w);
2049 	install_port_write_handler(0, 0x06, 0x06, stargrds_soundsgood_data_w);
2050 }
2051 
2052 
DRIVER_INIT(spyhunt)2053 static DRIVER_INIT( spyhunt )
2054 {
2055 	MCR_CONFIGURE_SOUND(MCR_SSIO | MCR_CHIP_SQUEAK_DELUXE);
2056 	install_port_read_handler(0, 0x02, 0x02, spyhunt_port_2_r);
2057 	install_port_write_handler(0, 0x04, 0x04, spyhunt_port_4_w);
2058 
2059 	spyhunt_sprite_color_mask = 0x00;
2060 	spyhunt_scroll_offset = 16;
2061 }
2062 
2063 
DRIVER_INIT(crater)2064 static DRIVER_INIT( crater )
2065 {
2066 	MCR_CONFIGURE_SOUND(MCR_SSIO);
2067 
2068 	spyhunt_sprite_color_mask = 0x03;
2069 	spyhunt_scroll_offset = 96;
2070 }
2071 
2072 
DRIVER_INIT(turbotag)2073 static DRIVER_INIT( turbotag )
2074 {
2075 	MCR_CONFIGURE_SOUND(MCR_CHIP_SQUEAK_DELUXE);
2076 	install_port_read_handler(0, 0x02, 0x02, spyhunt_port_2_r);
2077 	install_port_write_handler(0, 0x04, 0x04, spyhunt_port_4_w);
2078 
2079 	spyhunt_sprite_color_mask = 0x00;
2080 	spyhunt_scroll_offset = 88;
2081 
2082 	/* kludge for bad ROM read */
2083 	install_mem_read_handler(0, 0x0b53, 0x0b53, turbotag_kludge_r);
2084 }
2085 
2086 
2087 
2088 /*************************************
2089  *
2090  *	Game drivers
2091  *
2092  *************************************/
2093 
2094 /* MCR3 games */
2095 GAME( 1983, tapper,   0,        mcr3_ssio,tapper,   tapper,   ROT0,  "Bally Midway", "Tapper (Budweiser)" )
2096 GAME( 1983, tappera,  tapper,   mcr3_ssio,tapper,   tapper,   ROT0,  "Bally Midway", "Tapper (alternate)" )
2097 GAME( 1983, sutapper, tapper,   mcr3_ssio,tapper,   tapper,   ROT0,  "Bally Midway", "Tapper (Suntory)" )
2098 GAME( 1984, rbtapper, tapper,   mcr3_ssio,tapper,   tapper,   ROT0,  "Bally Midway", "Tapper (Root Beer)" )
2099 GAME( 1984, timber,   0,        mcr3_ssio,timber,   timber,   ROT0,  "Bally Midway", "Timber" )
2100 GAME( 1983, dotron,   0,        dotron,   dotron,   dotron,   ORIENTATION_FLIP_X, "Bally Midway", "Discs of Tron (Upright)" )
2101 GAME( 1983, dotrona,  dotron,   dotron,   dotron,   dotron,   ORIENTATION_FLIP_X, "Bally Midway", "Discs of Tron (Upright alternate)" )
2102 GAME( 1983, dotrone,  dotron,   dotron,   dotron,   dotron,   ORIENTATION_FLIP_X, "Bally Midway", "Discs of Tron (Environmental)" )
2103 GAME( 1984, demoderb, 0,        demoderb, demoderb, demoderb, ROT0,  "Bally Midway", "Demolition Derby" )
2104 
2105 /* MCR monoboard games */
2106 GAME( 1984, demoderm, demoderb, mono_tcs, demoderb, demoderm, ROT0,  "Bally Midway", "Demolition Derby (2-Player Mono Board Version)" )
2107 GAME( 1985, sarge,    0,        mono_tcs, sarge,    sarge,    ROT0,  "Bally Midway", "Sarge" )
2108 GAME( 1986, maxrpm,   0,        mono_tcs, maxrpm,   maxrpm,   ROT0,  "Bally Midway", "Max RPM" )
2109 GAME( 1986, rampage,  0,        mono_sg,  rampage,  rampage,  ROT0,  "Bally Midway", "Rampage (revision 3)" )
2110 GAME( 1986, rampage2, rampage,  mono_sg,  rampage,  rampage,  ROT0,  "Bally Midway", "Rampage (revision 2)" )
2111 GAME( 1986, powerdrv, 0,        mono_sg,  powerdrv, powerdrv, ROT0,  "Bally Midway", "Power Drive" )
2112 GAME( 1987, stargrds, 0,        mono_sg,  stargrds, stargrds, ROT0,  "Bally Midway", "Star Guards" )
2113 
2114 /* MCR scrolling games */
2115 GAME( 1983, spyhunt,  0,        spyhunt,  spyhunt,  spyhunt,  ROT90, "Bally Midway", "Spy Hunter" )
2116 GAME( 1984, crater,   0,        crater,   crater,   crater,   ORIENTATION_FLIP_X, "Bally Midway", "Crater Raider" )
2117 GAMEX(1985, turbotag, 0,        turbotag, turbotag, turbotag, ROT90, "Bally Midway", "Turbo Tag (prototype)", GAME_NO_SOUND )
2118