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