1 /***************************************************************************
2
3 Williams 6809 system
4
5 driver by Michael Soderstrom, Marc LaFontaine, Aaron Giles
6
7 Games supported:
8 * Defender
9 * Mayday
10 * Colony 7
11 * Stargate
12 * Robotron
13 * Joust
14 * Bubbles
15 * Splat!
16 * Sinistar
17 * PlayBall!
18 * Blaster
19 * Mystic Marathon
20 * Turkey Shoot
21 * Inferno
22 * Joust 2
23 * Lotto Fun
24
25 ****************************************************************************
26
27 Blitter (Stargate and Defender do not have blitter)
28 ---------------------------------------------------
29
30 CA00 start_blitter Each bits has a function
31 1000 0000 Do not process half the byte 4-7
32 0100 0000 Do not process half the byte 0-3
33 0010 0000 Shift the shape one pixel right (to display a shape on an odd pixel)
34 0001 0000 Remap, if shape != 0 then pixel = mask
35 0000 1000 Source 1 = take source 0 = take Mask only
36 0000 0100 ?
37 0000 0010 Transparent
38 0000 0001
39 CA01 blitter_mask Not really a mask, more a remap color, see Blitter
40 CA02 blitter_source hi
41 CA03 blitter_source lo
42 CA04 blitter_dest hi
43 CA05 blitter_dest lo
44 CA06 blitter_w_h H Do a XOR with 4 to have the real value (Except Splat)
45 CA07 blitter_w_h W Do a XOR with 4 to have the real value (Except Splat)
46
47 CB00 6 bits of the video counters bits 2-7
48
49 CBFF watchdog
50
51 CC00-CFFF 1K X 4 CMOS ram battery backed up (8 bits on Sinistar)
52
53 ****************************************************************************
54
55 Blaster Bubbles Joust Robotron Sinistar Splat Stargate
56 ------------------------------------------------------
57
58 0000-8FFF ROM (for Blaster, 0000-3FFF is a bank of 12 ROMs)
59 0000-97FF Video RAM Bank switched with ROM (96FF for Blaster)
60 9800-BFFF RAM
61 0xBB00 Blaster only, Color 0 for each line (256 entry)
62 0xBC00 Blaster only, Color 0 flags, latch color only if bit 0 = 1 (256 entry)
63 Do something else with the bit 1, I do not know what
64 C000-CFFF I/O
65 D000-FFFF ROM
66
67 c000-C00F color_registers (16 bytes of BBGGGRRR)
68
69 c804 widget_pia_dataa (widget = I/O board)
70 c805 widget_pia_ctrla
71 c806 widget_pia_datab
72 c807 widget_pia_ctrlb (CB2 select between player 1 and player 2
73 controls if Table or Joust)
74 bits 5-3 = 110 = player 2
75 bits 5-3 = 111 = player 1
76
77 c80c rom_pia_dataa
78 c80d rom_pia_ctrla
79 c80e rom_pia_datab
80 bit 0 \
81 bit 1 |
82 bit 2 |-6 bits to sound board
83 bit 3 |
84 bit 4 |
85 bit 5 /
86 bit 6 \
87 bit 7 /Plus CA2 and CB2 = 4 bits to drive the LED 7 segment
88 c80f rom_pia_ctrlb
89
90 C900 rom_enable_scr_ctrl Switch between video ram and rom at 0000-97FF
91
92 C940 Blaster only: Select bank in the color Prom for color remap
93 C980 Blaster only: Select which ROM is at 0000-3FFF
94 C9C0 Blaster only: bit 0 = enable the color 0 changing each lines
95 bit 1 = erase back each frame
96
97 ****************************************************************************
98
99 Robotron
100 --------
101 c804 widget_pia_dataa (widget = I/O board)
102 bit 0 Move Up
103 bit 1 Move Down
104 bit 2 Move Left
105 bit 3 Move Right
106 bit 4 1 Player
107 bit 5 2 Players
108 bit 6 Fire Up
109 bit 7 Fire Down
110
111 c806 widget_pia_datab
112 bit 0 Fire Left
113 bit 1 Fire Right
114 bit 2
115 bit 3
116 bit 4
117 bit 5
118 bit 6
119 bit 7
120
121 c80c rom_pia_dataa
122 bit 0 Auto Up
123 bit 1 Advance
124 bit 2 Right Coin
125 bit 3 High Score Reset
126 bit 4 Left Coin
127 bit 5 Center Coin
128 bit 6 Slam Door Tilt
129 bit 7 Hand Shake from sound board
130
131 ****************************************************************************
132
133 Joust
134 -----
135 c804 widget_pia_dataa (widget = I/O board)
136 bit 0 Move Left player 1/2
137 bit 1 Move Right player 1/2
138 bit 2 Flap player 1/2
139 bit 3
140 bit 4 2 Player
141 bit 5 1 Players
142 bit 6
143 bit 7
144
145 c806 widget_pia_datab
146 bit 0
147 bit 1
148 bit 2
149 bit 3
150 bit 4
151 bit 5
152 bit 6
153 bit 7
154
155 c80c rom_pia_dataa
156 bit 0 Auto Up
157 bit 1 Advance
158 bit 2 Right Coin
159 bit 3 High Score Reset
160 bit 4 Left Coin
161 bit 5 Center Coin
162 bit 6 Slam Door Tilt
163 bit 7 Hand Shake from sound board
164
165 ****************************************************************************
166
167 Stargate
168 --------
169 c804 widget_pia_dataa (widget = I/O board)
170 bit 0 Fire
171 bit 1 Thrust
172 bit 2 Smart Bomb
173 bit 3 HyperSpace
174 bit 4 2 Players
175 bit 5 1 Player
176 bit 6 Reverse
177 bit 7 Down
178
179 c806 widget_pia_datab
180 bit 0 Up
181 bit 1 Inviso
182 bit 2
183 bit 3
184 bit 4
185 bit 5
186 bit 6
187 bit 7 0 = Upright 1 = Table
188
189 c80c rom_pia_dataa
190 bit 0 Auto Up
191 bit 1 Advance
192 bit 2 Right Coin (High Score Reset in schematics)
193 bit 3 High Score Reset (Left Coin in schematics)
194 bit 4 Left Coin (Center Coin in schematics)
195 bit 5 Center Coin (Right Coin in schematics)
196 bit 6 Slam Door Tilt
197 bit 7 Hand Shake from sound board
198
199 ****************************************************************************
200
201 Splat
202 -----
203 c804 widget_pia_dataa (widget = I/O board)
204 bit 0 Walk Up
205 bit 1 Walk Down
206 bit 2 Walk Left
207 bit 3 Walk Right
208 bit 4 1 Player
209 bit 5 2 Players
210 bit 6 Throw Up
211 bit 7 Throw Down
212
213 c806 widget_pia_datab
214 bit 0 Throw Left
215 bit 1 Throw Right
216 bit 2
217 bit 3
218 bit 4
219 bit 5
220 bit 6
221 bit 7
222
223 c80c rom_pia_dataa
224 bit 0 Auto Up
225 bit 1 Advance
226 bit 2 Right Coin
227 bit 3 High Score Reset
228 bit 4 Left Coin
229 bit 5 Center Coin
230 bit 6 Slam Door Tilt
231 bit 7 Hand Shake from sound board
232
233 ****************************************************************************
234
235 Blaster
236 -------
237 c804 widget_pia_dataa (widget = I/O board)
238 bit 0 up/down switch a
239 bit 1 up/down switch b
240 bit 2 up/down switch c
241 bit 3 up/down direction
242 bit 4 left/right switch a
243 bit 5 left/right switch b
244 bit 6 left/right switch c
245 bit 7 left/right direction
246
247 c806 widget_pia_datab
248 bit 0 Thrust (Panel)
249 bit 1 Blast
250 bit 2 Thrust (Joystick)
251 bit 3
252 bit 4 1 Player
253 bit 5 2 Player
254 bit 6
255 bit 7
256
257 c80c rom_pia_dataa
258 bit 0 Auto Up
259 bit 1 Advance
260 bit 2 Right Coin
261 bit 3 High Score Reset
262 bit 4 Left Coin
263 bit 5 Center Coin
264 bit 6 Slam Door Tilt
265 bit 7 Hand Shake from sound board
266
267 ****************************************************************************
268
269 Sinistar
270 --------
271 c804 widget_pia_dataa (widget = I/O board)
272 bit 0 up/down switch a
273 bit 1 up/down switch b
274 bit 2 up/down switch c
275 bit 3 up/down direction
276 bit 4 left/right switch a
277 bit 5 left/right switch b
278 bit 6 left/right switch c
279 bit 7 left/right direction
280
281 c806 widget_pia_datab
282 bit 0 Fire
283 bit 1 Bomb
284 bit 2
285 bit 3
286 bit 4 1 Player
287 bit 5 2 Player
288 bit 6
289 bit 7
290
291 c80c rom_pia_dataa
292 bit 0 Auto Up
293 bit 1 Advance
294 bit 2 Right Coin
295 bit 3 High Score Reset
296 bit 4 Left Coin
297 bit 5 Center Coin
298 bit 6 Slam Door Tilt
299 bit 7 Hand Shake from sound board
300
301 ****************************************************************************
302
303 Bubbles
304 -------
305 c804 widget_pia_dataa (widget = I/O board)
306 bit 0 Up
307 bit 1 Down
308 bit 2 Left
309 bit 3 Right
310 bit 4 2 Players
311 bit 5 1 Player
312 bit 6
313 bit 7
314
315 c806 widget_pia_datab
316 bit 0
317 bit 1
318 bit 2
319 bit 3
320 bit 4
321 bit 5
322 bit 6
323 bit 7
324
325 c80c rom_pia_dataa
326 bit 0 Auto Up
327 bit 1 Advance
328 bit 2 Right Coin (High Score Reset in schematics)
329 bit 3 High Score Reset (Left Coin in schematics)
330 bit 4 Left Coin (Center Coin in schematics)
331 bit 5 Center Coin (Right Coin in schematics)
332 bit 6 Slam Door Tilt
333 bit 7 Hand Shake from sound board
334
335 ****************************************************************************
336
337 Defender
338 --------
339 0000-9800 Video RAM
340 C000-CFFF ROM (4 banks) + I/O
341 d000-ffff ROM
342
343 c000-c00f color_registers (16 bytes of BBGGGRRR)
344
345 C3FC WatchDog
346
347 C400-C4FF CMOS ram battery backed up
348
349 C800 6 bits of the video counters bits 2-7
350
351 cc00 pia1_dataa (widget = I/O board)
352 bit 0 Auto Up
353 bit 1 Advance
354 bit 2 Right Coin
355 bit 3 High Score Reset
356 bit 4 Left Coin
357 bit 5 Center Coin
358 bit 6
359 bit 7
360 cc01 pia1_ctrla
361
362 cc02 pia1_datab
363 bit 0 \
364 bit 1 |
365 bit 2 |-6 bits to sound board
366 bit 3 |
367 bit 4 |
368 bit 5 /
369 bit 6 \
370 bit 7 /Plus CA2 and CB2 = 4 bits to drive the LED 7 segment
371 cc03 pia1_ctrlb (CB2 select between player 1 and player 2 controls if Table)
372
373 cc04 pia2_dataa
374 bit 0 Fire
375 bit 1 Thrust
376 bit 2 Smart Bomb
377 bit 3 HyperSpace
378 bit 4 2 Players
379 bit 5 1 Player
380 bit 6 Reverse
381 bit 7 Down
382 cc05 pia2_ctrla
383
384 cc06 pia2_datab
385 bit 0 Up
386 bit 1
387 bit 2
388 bit 3
389 bit 4
390 bit 5
391 bit 6
392 bit 7
393 cc07 pia2_ctrlb
394 Control the IRQ
395
396 d000 Select bank (c000-cfff)
397 0 = I/O
398 1 = BANK 1
399 2 = BANK 2
400 3 = BANK 3
401 7 = BANK 4
402
403 ****************************************************************************
404
405 Mystic Marathon (1983)
406 Turkey Shoot (1984)
407 Inferno (1984)
408 Joust2 Survival of the Fittest (1986)
409
410 All have two boards, a large board with lots of RAM and
411 three ROMs, and a smaller board with lots of ROMs,
412 the CPU, the 6821 PIAs, and the two "Special Chip 2"
413 custom BIT/BLT chips.
414 Joust 2 has an additional music/speech board that has a
415 68B09E CPU, 68B21 PIA, Harris 55564-5 CVSD, and a YM2151.
416
417 Contact Michael Soderstrom (ichael@geocities.com) if you
418 have any additional information or corrections.
419
420 Memory Map:
421
422 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
423 --------------------------------------------------
424 x x x x x x x x x x x x x x x x 0000-BFFF 48K DRAM
425
426 0 0 0 x x x x x x x x x x x x x 0000-1FFF 8K ROM
427 0 0 1 x x x x x x x x x x x x x 2000-3FFF 8K ROM
428 0 1 0 x x x x x x x x x x x x x 4000-5FFF 8K ROM
429 0 1 1 x x x x x x x x x x x x x 6000-7FFF 8K ROM
430
431 1 0 0 0 x x x x x x x x x x x x 8000-8FFF EN_COLOR* (PAGE3 only)
432
433 0 x x x x x x x x x x x x x x x 0000-7FFF OE_DRAM* (PAGE0 and read only) or:
434 1 0 x x x x x x x x x x x x x x 9000-BFFF OE_DRAM* (!EN COLOR and read only)
435
436 1 1 0 0 x x x x x x x x x x x x C000-CFFF I/O:
437 1 1 0 0 0 x x x x x x x x x x x C000-C7FF MAP_EN*
438 1 1 0 0 1 0 0 0 0 x x x x x x x C800-C87F CS_PAGE
439 1 1 0 0 1 0 0 0 1 x x x x x x x C880-C87F CS_INT* (blitter)
440 1 1 0 0 1 0 0 1 0 x x x x x x x C900-C97F CS_WDOG* (data = 0x14)
441 1 1 0 0 1 0 0 1 1 x x x x x x x C980-C9FF CS_PIA
442 1 1 0 0 1 0 0 1 1 x x x 0 0 x x C980-C983 PIA IC5
443 1 1 0 0 1 0 0 1 1 x x x 0 1 x x C984-C987 PIA IC6
444 1 1 0 0 1 0 0 1 1 x x x 1 1 x x C98C 7 segment LED
445
446 1 1 0 0 1 0 1 1 0 0 0 x x x x x CB00-CB1F CK_FG
447 1 1 0 0 1 0 1 1 0 0 1 x x x x x CB20-CB3F CK_BG
448 1 1 0 0 1 0 1 1 0 1 0 x x x x x CB40-CB5F CK_SCL
449 1 1 0 0 1 0 1 1 0 1 1 x x x x x CB60-CB7F CK_SCH
450 1 1 0 0 1 0 1 1 1 0 0 x x x x x CB80-CB9F FLIP clk
451 1 1 0 0 1 0 1 1 1 0 1 x x x x x CBA0-CBBF DMA_WRINH clk
452
453 1 1 0 0 1 0 1 1 1 1 1 0 x x x x CBE0-CBEF EN VPOS*
454
455 1 1 0 0 1 1 0 0 x x x x x x x x CC00-CCFF 1Kx4 CMOS RAM MEM_PROT protected
456 1 1 0 0 1 1 x x x x x x x x x x CD00-CFFF not MEM_PROT protected
457
458 Mystic Marathon/Inferno:
459 1 1 0 1 0 x x x x x x x x x x x D000-D7FF SRAM0*
460 1 1 0 1 1 x x x x x x x x x x x D800-DFFF SRAM1*
461 1 1 1 0 x x x x x x x x x x x x E000-EFFF EXXX* 4K ROM
462 1 1 1 1 x x x x x x x x x x x x F000-FFFF FXXX* 4K ROM
463
464 Turkey Shoot/Joust2:
465 1 1 0 1 x x x x x x x x x x x x D000-DFFF DXXX* 4K ROM
466 1 1 1 0 x x x x x x x x x x x x E000-EFFF EXXX* 4K ROM
467 1 1 1 1 x x x x x x x x x x x x F000-FFFF FXXX* 4K ROM
468
469 6802/6808 Sound
470
471 0 0 0 x x x x x 0 x x x x x x x 0000-007F 128 bytes RAM
472 0 0 1 x x x x x x x x x x x x x 2000-3FFF CS PIA IC4
473 1 1 1 x x x x x x x x x x x x x E000-FFFF 8K ROM
474
475 ***************************************************************************/
476
477 #include "driver.h"
478 #include "machine/6821pia.h"
479 #include "sndhrdw/williams.h"
480 #include "vidhrdw/generic.h"
481 #include "williams.h"
482
483 #include "bootstrap.h"
484 #include "inptport.h"
485
486 /**** configuration macros ****/
487
488 #define CONFIGURE_CMOS(a,l) \
489 generic_nvram = &memory_region(REGION_CPU1)[a];\
490 generic_nvram_size = l
491
492 #define CONFIGURE_BLITTER(x,r,c) \
493 williams_blitter_xor = x;\
494 williams_blitter_remap = r;\
495 williams_blitter_clip = c
496
497 #define CONFIGURE_TILEMAP(m,p,f,s,b) \
498 williams2_tilemap_mask = m;\
499 williams2_row_to_palette = p;\
500 williams2_M7_flip = (f) ? 0x80 : 0x00;\
501 williams2_videoshift = s;\
502 williams2_special_bg_color = b
503
504 #define CONFIGURE_PIAS(a,b,c) \
505 pia_unconfig();\
506 pia_config(0, PIA_STANDARD_ORDERING, &a);\
507 pia_config(1, PIA_STANDARD_ORDERING, &b);\
508 pia_config(2, PIA_STANDARD_ORDERING, &c)
509
510
511
512 /*************************************
513 *
514 * Defender memory handlers
515 *
516 *************************************/
517
MEMORY_READ_START(defender_readmem)518 static MEMORY_READ_START( defender_readmem )
519 { 0x0000, 0x97ff, MRA_BANK1 },
520 { 0x9800, 0xbfff, MRA_RAM },
521 { 0xc000, 0xcfff, MRA_BANK2 },
522 { 0xd000, 0xffff, MRA_ROM },
523 MEMORY_END
524
525
526 static MEMORY_WRITE_START( defender_writemem )
527 { 0x0000, 0x97ff, williams_videoram_w, &videoram, &videoram_size },
528 { 0x9800, 0xbfff, MWA_RAM },
529 { 0xc000, 0xcfff, MWA_BANK2, &defender_bank_base },
530 { 0xc000, 0xc00f, MWA_RAM, &paletteram },
531 { 0xd000, 0xdfff, defender_bank_select_w },
532 { 0xe000, 0xffff, MWA_ROM },
533 MEMORY_END
534
535
536
537 /*************************************
538 *
539 * General Williams memory handlers
540 *
541 *************************************/
542
543 static MEMORY_READ_START( williams_readmem )
544 { 0x0000, 0x97ff, MRA_BANK1 },
545 { 0x9800, 0xbfff, MRA_RAM },
546 { 0xc804, 0xc807, pia_0_r },
547 { 0xc80c, 0xc80f, pia_1_r },
548 { 0xcb00, 0xcb00, williams_video_counter_r },
549 { 0xcc00, 0xcfff, MRA_RAM },
550 { 0xd000, 0xffff, MRA_ROM },
551 MEMORY_END
552
553
554 static MEMORY_WRITE_START( williams_writemem )
555 { 0x0000, 0x97ff, williams_videoram_w, &williams_bank_base, &videoram_size },
556 { 0x9800, 0xbfff, MWA_RAM },
557 { 0xc000, 0xc00f, paletteram_BBGGGRRR_w, &paletteram },
558 { 0xc804, 0xc807, pia_0_w },
559 { 0xc80c, 0xc80f, pia_1_w },
560 { 0xc900, 0xc900, williams_vram_select_w },
561 { 0xca00, 0xca07, williams_blitter_w, &williams_blitterram },
562 { 0xcbff, 0xcbff, watchdog_reset_w },
563 { 0xcc00, 0xcfff, MWA_RAM },
564 { 0xd000, 0xffff, MWA_ROM },
565 MEMORY_END
566
567
568
569 /*************************************
570 *
571 * Blaster memory handlers
572 *
573 *************************************/
574
575 static MEMORY_READ_START( blaster_readmem )
576 { 0x0000, 0x3fff, MRA_BANK1 },
577 { 0x4000, 0x96ff, MRA_BANK2 },
578 { 0x9700, 0xbfff, MRA_RAM },
579 { 0xc804, 0xc807, pia_0_r },
580 { 0xc80c, 0xc80f, pia_1_r },
581 { 0xcb00, 0xcb00, williams_video_counter_r },
582 { 0xcc00, 0xcfff, MRA_RAM },
583 { 0xd000, 0xffff, MRA_ROM },
584 MEMORY_END
585
586
587 static MEMORY_WRITE_START( blaster_writemem )
588 { 0x0000, 0x96ff, williams_videoram_w, &williams_bank_base, &videoram_size },
589 { 0x9700, 0xbaff, MWA_RAM },
590 { 0xbb00, 0xbbff, blaster_palette_0_w, &blaster_color_zero_table },
591 { 0xbc00, 0xbcff, MWA_RAM, &blaster_color_zero_flags },
592 { 0xbd00, 0xbfff, MWA_RAM },
593 { 0xc000, 0xc00f, paletteram_BBGGGRRR_w, &paletteram },
594 { 0xc804, 0xc807, pia_0_w },
595 { 0xc80c, 0xc80f, pia_1_w },
596 { 0xc900, 0xc900, blaster_vram_select_w },
597 { 0xc940, 0xc940, blaster_remap_select_w },
598 { 0xc980, 0xc980, blaster_bank_select_w },
599 { 0xc9c0, 0xc9c0, MWA_RAM, &blaster_video_bits },
600 { 0xca00, 0xca07, williams_blitter_w, &williams_blitterram },
601 { 0xcbff, 0xcbff, watchdog_reset_w },
602 { 0xcc00, 0xcfff, MWA_RAM },
603 { 0xd000, 0xffff, MWA_ROM },
604 MEMORY_END
605
606
607
608 /*************************************
609 *
610 * Later Williams memory handlers
611 *
612 *************************************/
613
614 static MEMORY_READ_START( williams2_readmem )
615 { 0x0000, 0x7fff, MRA_BANK1 },
616 { 0x8000, 0x87ff, MRA_BANK2 },
617 { 0x8800, 0x8fff, MRA_BANK3 },
618 { 0x9000, 0xbfff, MRA_RAM },
619 { 0xc000, 0xc7ff, MRA_RAM },
620 { 0xc980, 0xc983, pia_1_r },
621 { 0xc984, 0xc987, pia_0_r },
622 { 0xcbe0, 0xcbe0, williams_video_counter_r },
623 { 0xcc00, 0xcfff, MRA_RAM },
624 { 0xd000, 0xffff, MRA_ROM },
625 MEMORY_END
626
627
628 static MEMORY_WRITE_START( williams2_writemem )
629 { 0x0000, 0x8fff, williams2_videoram_w, &videoram, &videoram_size },
630 { 0x9000, 0xbfff, MWA_RAM },
631 { 0xc000, 0xc7ff, MWA_RAM },
632 { 0xc800, 0xc800, williams2_bank_select_w },
633 { 0xc880, 0xc887, williams_blitter_w, &williams_blitterram },
634 { 0xc900, 0xc900, watchdog_reset_w },
635 { 0xc980, 0xc983, pia_1_w },
636 { 0xc984, 0xc987, pia_0_w },
637 { 0xc98c, 0xc98c, williams2_7segment_w },
638 { 0xcb00, 0xcb00, williams2_fg_select_w },
639 { 0xcb20, 0xcb20, williams2_bg_select_w },
640 { 0xcb40, 0xcb40, MWA_RAM, &williams2_xscroll_low },
641 { 0xcb60, 0xcb60, MWA_RAM, &williams2_xscroll_high },
642 { 0xcb80, 0xcb80, MWA_RAM },
643 { 0xcba0, 0xcba0, MWA_RAM, &williams2_blit_inhibit },
644 { 0xcc00, 0xcfff, MWA_RAM },
645 { 0xd000, 0xffff, MWA_ROM },
646 MEMORY_END
647
648
649
650 /*************************************
651 *
652 * Sound board memory handlers
653 *
654 *************************************/
655
656 static MEMORY_READ_START( sound_readmem )
657 { 0x0000, 0x007f, MRA_RAM },
658 { 0x0400, 0x0403, pia_2_r },
659 { 0x8400, 0x8403, pia_2_r }, /* used by Colony 7, perhaps others? */
660 { 0xb000, 0xffff, MRA_ROM }, /* most games start at $F000, Sinistar starts at $B000 */
661 MEMORY_END
662
663
664 static MEMORY_WRITE_START( sound_writemem )
665 { 0x0000, 0x007f, MWA_RAM },
666 { 0x0400, 0x0403, pia_2_w },
667 { 0x8400, 0x8403, pia_2_w }, /* used by Colony 7, perhaps others? */
668 { 0xb000, 0xffff, MWA_ROM }, /* most games start at $F000, Sinistar starts at $B000 */
669 MEMORY_END
670
671
672
673 /*************************************
674 *
675 * Later sound board memory handlers
676 *
677 *************************************/
678
679 static MEMORY_READ_START( williams2_sound_readmem )
680 { 0x0000, 0x00ff, MRA_RAM },
681 { 0x2000, 0x2003, pia_2_r },
682 { 0xe000, 0xffff, MRA_ROM },
683 MEMORY_END
684
685
686 static MEMORY_WRITE_START( williams2_sound_writemem )
687 { 0x0000, 0x00ff, MWA_RAM },
688 { 0x2000, 0x2003, pia_2_w },
689 { 0xe000, 0xffff, MWA_ROM },
690 MEMORY_END
691
692
693
694 /*************************************
695 *
696 * Port definitions
697 *
698 *************************************/
699
700 INPUT_PORTS_START( defender )
701 PORT_START /* IN0 */
702 PORT_BITX(0x01, IP_ACTIVE_HIGH, IPT_BUTTON1, "Fire", IP_KEY_DEFAULT, IP_JOY_DEFAULT )
703 PORT_BITX(0x02, IP_ACTIVE_HIGH, IPT_BUTTON2, "Thrust", IP_KEY_DEFAULT, IP_JOY_DEFAULT )
704 PORT_BITX(0x04, IP_ACTIVE_HIGH, IPT_BUTTON3, "Smart Bomb", IP_KEY_DEFAULT, IP_JOY_DEFAULT )
705 PORT_BITX(0x08, IP_ACTIVE_HIGH, IPT_BUTTON4, "Hyperspace", IP_KEY_DEFAULT, IP_JOY_DEFAULT )
706 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_START2 )
707 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_START1 )
708 PORT_BITX(0x40, IP_ACTIVE_HIGH, IPT_BUTTON5, "Reverse", IP_KEY_DEFAULT, IP_JOY_DEFAULT )
709 PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN | IPF_8WAY)
710
711 PORT_START /* IN1 */
712 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP | IPF_8WAY)
713 PORT_BIT( 0xfe, IP_ACTIVE_HIGH, IPT_UNKNOWN )
714
715 PORT_START /* IN2 */
716 PORT_BITX(0x01, IP_ACTIVE_HIGH, 0, "Auto Up", KEYCODE_F1, IP_JOY_NONE )
717 PORT_BITX(0x02, IP_ACTIVE_HIGH, 0, "Advance", KEYCODE_F2, IP_JOY_NONE )
718 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SERVICE1 )
719 PORT_BITX(0x08, IP_ACTIVE_HIGH, 0, "High Score Reset", KEYCODE_7, IP_JOY_NONE )
720 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_COIN1 )
721 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_COIN2 )
722 PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_TILT )
723
724 PORT_START /* IN3 - fake port for better joystick control */
725 /* This fake port is handled via defender_input_port_1 */
726 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_CHEAT )
727 PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_CHEAT )
728 INPUT_PORTS_END
729
730
731 INPUT_PORTS_START( colony7 )
732 PORT_START /* IN0 */
733 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN )
734 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT )
735 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT )
736 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP )
737 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_START2 )
738 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_START1 )
739 PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON1 )
740 PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_BUTTON2 )
741
742 PORT_START /* IN1 */
743 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON3 )
744 PORT_BIT( 0xfe, IP_ACTIVE_HIGH, IPT_UNKNOWN )
745
746 PORT_START /* IN2 */
747 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN )
748 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )
749 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNKNOWN )
750 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN )
751 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_COIN1 )
752 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_COIN2 )
753 PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
754 PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
755 INPUT_PORTS_END
756
757
758 INPUT_PORTS_START( stargate )
759 PORT_START /* IN0 */
760 PORT_BITX(0x01, IP_ACTIVE_HIGH, IPT_BUTTON1, "Fire", IP_KEY_DEFAULT, IP_JOY_DEFAULT )
761 PORT_BITX(0x02, IP_ACTIVE_HIGH, IPT_BUTTON2, "Thrust", IP_KEY_DEFAULT, IP_JOY_DEFAULT )
762 PORT_BITX(0x04, IP_ACTIVE_HIGH, IPT_BUTTON3, "Smart Bomb", IP_KEY_DEFAULT, IP_JOY_DEFAULT )
763 PORT_BITX(0x08, IP_ACTIVE_HIGH, IPT_BUTTON6, "Hyperspace", IP_KEY_DEFAULT, IP_JOY_DEFAULT )
764 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_START2 )
765 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_START1 )
766 PORT_BITX(0x40, IP_ACTIVE_HIGH, IPT_BUTTON4, "Reverse", IP_KEY_DEFAULT, IP_JOY_DEFAULT )
767 PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN | IPF_8WAY )
768
769 PORT_START /* IN1 */
770 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP | IPF_8WAY )
771 PORT_BITX(0x02, IP_ACTIVE_HIGH, IPT_BUTTON5, "Inviso", IP_KEY_DEFAULT, IP_JOY_DEFAULT )
772 PORT_BIT( 0xfc, IP_ACTIVE_HIGH, IPT_UNKNOWN )
773
774 PORT_START /* IN2 */
775 PORT_BITX(0x01, IP_ACTIVE_HIGH, 0, "Auto Up", KEYCODE_F1, IP_JOY_NONE )
776 PORT_BITX(0x02, IP_ACTIVE_HIGH, 0, "Advance", KEYCODE_F2, IP_JOY_NONE )
777 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SERVICE1 )
778 PORT_BITX(0x08, IP_ACTIVE_HIGH, 0, "High Score Reset", KEYCODE_7, IP_JOY_NONE )
779 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_COIN1 )
780 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_COIN2 )
781 PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_TILT )
782
783 PORT_START /* IN3 - fake port for better joystick control */
784 /* This fake port is handled via stargate_input_port_0 */
785 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_CHEAT )
786 PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_CHEAT )
787 INPUT_PORTS_END
788
789
790 INPUT_PORTS_START( joust )
791 PORT_START /* IN0 */
792 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT | IPF_2WAY | IPF_PLAYER2 )
793 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT | IPF_2WAY | IPF_PLAYER2 )
794 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON1 | IPF_PLAYER2 )
795 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED )
796 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_START2 )
797 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_START1 )
798 PORT_BIT( 0xc0, IP_ACTIVE_HIGH, IPT_UNUSED )
799
800 PORT_START /* IN1 */
801 PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNUSED )
802
803 PORT_START /* IN2 */
804 PORT_BITX(0x01, IP_ACTIVE_HIGH, 0, "Auto Up", KEYCODE_F1, IP_JOY_NONE )
805 PORT_BITX(0x02, IP_ACTIVE_HIGH, 0, "Advance", KEYCODE_F2, IP_JOY_NONE )
806 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SERVICE1 )
807 PORT_BITX(0x08, IP_ACTIVE_HIGH, 0, "High Score Reset", KEYCODE_7, IP_JOY_NONE )
808 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_COIN1 )
809 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_COIN2 )
810 PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_TILT )
811
812 PORT_START /* IN3 (muxed with IN0) */
813 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT | IPF_2WAY | IPF_PLAYER1 )
814 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT | IPF_2WAY | IPF_PLAYER1 )
815 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON1 | IPF_PLAYER1 )
816 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED )
817 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_START2 )
818 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_START1 )
819 PORT_BIT( 0xc0, IP_ACTIVE_HIGH, IPT_UNUSED )
820 INPUT_PORTS_END
821
822
823 INPUT_PORTS_START( robotron )
824 PORT_START /* IN0 */
825 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICKLEFT_UP )
826 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICKLEFT_DOWN )
827 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICKLEFT_LEFT )
828 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICKLEFT_RIGHT )
829 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_START1 )
830 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_START2 )
831 PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICKRIGHT_UP )
832 PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICKRIGHT_DOWN )
833
834 PORT_START /* IN1 */
835 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICKRIGHT_LEFT )
836 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICKRIGHT_RIGHT )
837 PORT_BIT( 0xfc, IP_ACTIVE_HIGH, IPT_UNKNOWN )
838
839 PORT_START /* IN2 */
840 PORT_BITX(0x01, IP_ACTIVE_HIGH, 0, "Auto Up", KEYCODE_F1, IP_JOY_NONE )
841 PORT_BITX(0x02, IP_ACTIVE_HIGH, 0, "Advance", KEYCODE_F2, IP_JOY_NONE )
842 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SERVICE1 )
843 PORT_BITX(0x08, IP_ACTIVE_HIGH, 0, "High Score Reset", KEYCODE_7, IP_JOY_NONE )
844 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_COIN1 )
845 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_COIN2 )
846 PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_TILT )
847 INPUT_PORTS_END
848
849
850 INPUT_PORTS_START( spdball )
851 PORT_START /* IN0 */
852 PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNKNOWN )
853
854 PORT_START /* IN1 */
855 PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNKNOWN )
856
857 PORT_START /* IN2 */
858 PORT_BITX(0x01, IP_ACTIVE_HIGH, 0, "Auto Up", KEYCODE_F1, IP_JOY_NONE )
859 PORT_BITX(0x02, IP_ACTIVE_HIGH, 0, "Advance", KEYCODE_F2, IP_JOY_NONE )
860 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SERVICE1 )
861 PORT_BITX(0x08, IP_ACTIVE_HIGH, 0, "High Score Reset", KEYCODE_7, IP_JOY_NONE )
862 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_COIN1 )
863 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_COIN2 )
864 PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_TILT )
865
866 PORT_START /* IN3 */
867 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP | IPF_PLAYER1 )
868 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN | IPF_PLAYER1 )
869 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP | IPF_PLAYER2 )
870 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN | IPF_PLAYER2 )
871 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 | IPF_PLAYER1 )
872 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN )
873 PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON1 | IPF_PLAYER2 )
874 PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
875
876 PORT_START /* IN4 */
877 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT | IPF_PLAYER1 )
878 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT | IPF_PLAYER1 )
879 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT | IPF_PLAYER2 )
880 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT | IPF_PLAYER2 )
881 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN )
882 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN )
883 PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_START1 )
884 PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_START2 )
885
886 PORT_START /* analog */
887 PORT_ANALOG( 0xff, 0x80, IPT_TRACKBALL_Y | IPF_PLAYER1 | IPF_REVERSE, 25, 32, 0, 255 )
888
889 PORT_START /* analog */
890 PORT_ANALOG( 0xff, 0x80, IPT_TRACKBALL_X | IPF_PLAYER1, 25, 32, 0, 255 )
891
892 PORT_START /* analog */
893 PORT_ANALOG( 0xff, 0x80, IPT_TRACKBALL_Y | IPF_PLAYER2 | IPF_REVERSE, 25, 32, 0, 255 )
894
895 PORT_START /* analog */
896 PORT_ANALOG( 0xff, 0x80, IPT_TRACKBALL_X | IPF_PLAYER2, 25, 32, 0, 255 )
897 INPUT_PORTS_END
898
899
900 INPUT_PORTS_START( bubbles )
901 PORT_START /* IN0 */
902 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP )
903 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN )
904 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT )
905 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT )
906 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_START2 )
907 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_START1 )
908
909 PORT_START /* IN1 */
910 PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNKNOWN )
911
912 PORT_START /* IN2 */
913 PORT_BITX(0x01, IP_ACTIVE_HIGH, 0, "Auto Up", KEYCODE_F1, IP_JOY_NONE )
914 PORT_BITX(0x02, IP_ACTIVE_HIGH, 0, "Advance", KEYCODE_F2, IP_JOY_NONE )
915 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SERVICE1 )
916 PORT_BITX(0x08, IP_ACTIVE_HIGH, 0, "High Score Reset", KEYCODE_7, IP_JOY_NONE )
917 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_COIN1 )
918 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_COIN2 )
919 PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_TILT )
920 INPUT_PORTS_END
921
922
923 INPUT_PORTS_START( splat )
924 PORT_START /* IN0 */
925 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICKLEFT_UP | IPF_8WAY | IPF_PLAYER2 )
926 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICKLEFT_DOWN | IPF_8WAY | IPF_PLAYER2 )
927 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICKLEFT_LEFT | IPF_8WAY | IPF_PLAYER2 )
928 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICKLEFT_RIGHT | IPF_8WAY | IPF_PLAYER2 )
929 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_START1 )
930 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_START2 )
931 PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICKRIGHT_UP | IPF_8WAY | IPF_PLAYER2 )
932 PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICKRIGHT_DOWN | IPF_8WAY | IPF_PLAYER2 )
933
934 PORT_START /* IN2 */
935 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICKRIGHT_LEFT | IPF_8WAY | IPF_PLAYER2 )
936 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICKRIGHT_RIGHT | IPF_8WAY | IPF_PLAYER2 )
937 PORT_BIT( 0xfc, IP_ACTIVE_HIGH, IPT_UNKNOWN )
938
939 PORT_START /* IN4 */
940 PORT_BITX(0x01, IP_ACTIVE_HIGH, 0, "Auto Up", KEYCODE_F1, IP_JOY_NONE )
941 PORT_BITX(0x02, IP_ACTIVE_HIGH, 0, "Advance", KEYCODE_F2, IP_JOY_NONE )
942 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SERVICE1 )
943 PORT_BITX(0x08, IP_ACTIVE_HIGH, 0, "High Score Reset", KEYCODE_7, IP_JOY_NONE )
944 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_COIN1 )
945 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_COIN2 )
946 PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_TILT )
947
948 PORT_START /* IN3 */
949 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICKLEFT_UP | IPF_8WAY | IPF_PLAYER1 )
950 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICKLEFT_DOWN | IPF_8WAY | IPF_PLAYER1 )
951 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICKLEFT_LEFT | IPF_8WAY | IPF_PLAYER1 )
952 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICKLEFT_RIGHT | IPF_8WAY | IPF_PLAYER1 )
953 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_START1 )
954 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_START2 )
955 PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICKRIGHT_UP | IPF_8WAY | IPF_PLAYER1 )
956 PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICKRIGHT_DOWN | IPF_8WAY | IPF_PLAYER1 )
957
958 PORT_START /* IN4 */
959 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICKRIGHT_LEFT | IPF_8WAY | IPF_PLAYER1 )
960 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICKRIGHT_RIGHT | IPF_8WAY | IPF_PLAYER1 )
961 PORT_BIT( 0xfc, IP_ACTIVE_HIGH, IPT_UNKNOWN )
962 INPUT_PORTS_END
963
964
965 INPUT_PORTS_START( sinistar )
966 PORT_START /* IN0 */
967 /* pseudo analog joystick, see below */
968
969 PORT_START /* IN1 */
970 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 )
971 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON2 )
972 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_START1 )
973 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_START2 )
974
975 PORT_START /* IN2 */
976 PORT_BITX(0x01, IP_ACTIVE_HIGH, 0, "Auto Up", KEYCODE_F1, IP_JOY_NONE )
977 PORT_BITX(0x02, IP_ACTIVE_HIGH, 0, "Advance", KEYCODE_F2, IP_JOY_NONE )
978 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SERVICE1 )
979 PORT_BITX(0x08, IP_ACTIVE_HIGH, 0, "High Score Reset", KEYCODE_7, IP_JOY_NONE )
980 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_COIN1 )
981 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_COIN2 )
982 PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_TILT )
983
984 PORT_START /* fake, converted by sinistar_input_port_0() */
985 PORT_ANALOG( 0xff, 0x38, IPT_AD_STICK_X, 100, 10, 0x00, 0x6f )
986
987 PORT_START /* fake, converted by sinistar_input_port_0() */
988 PORT_ANALOG( 0xff, 0x38, IPT_AD_STICK_Y | IPF_REVERSE, 100, 10, 0x00, 0x6f )
989 INPUT_PORTS_END
990
991
992 INPUT_PORTS_START( playball )
993 PORT_START /* IN0 */
994 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
995 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT )
996 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT )
997 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_START2 )
998
999 PORT_START /* IN1 */
1000 PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNKNOWN )
1001
1002 PORT_START /* IN2 */
1003 PORT_BITX(0x01, IP_ACTIVE_HIGH, 0, "Auto Up", KEYCODE_F1, IP_JOY_NONE )
1004 PORT_BITX(0x02, IP_ACTIVE_HIGH, 0, "Advance", KEYCODE_F2, IP_JOY_NONE )
1005 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SERVICE1 )
1006 PORT_BITX(0x08, IP_ACTIVE_HIGH, 0, "High Score Reset", KEYCODE_7, IP_JOY_NONE )
1007 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_COIN1 )
1008 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_COIN2 )
1009 PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_TILT )
1010 INPUT_PORTS_END
1011
1012
1013 INPUT_PORTS_START( lottofun )
1014 PORT_START /* IN0 */
1015 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP )
1016 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN )
1017 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT )
1018 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT )
1019 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_START1 )
1020 PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* Used by ticket dispenser */
1021
1022 PORT_START /* IN1 */
1023 PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNKNOWN )
1024
1025 PORT_START /* IN2 */
1026 PORT_BITX(0x01, IP_ACTIVE_HIGH, IPF_TOGGLE, "Memory Protect", KEYCODE_F1, IP_JOY_NONE )
1027 PORT_BITX(0x02, IP_ACTIVE_HIGH, 0, "Advance", KEYCODE_F2, IP_JOY_NONE )
1028 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_COIN2 )
1029 PORT_BITX(0x08, IP_ACTIVE_HIGH, 0, "High Score Reset", KEYCODE_7, IP_JOY_NONE )
1030 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_COIN1 )
1031 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN ) // COIN1.5? :)
1032 PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_TILT )
1033 PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) // Sound board handshake
1034 INPUT_PORTS_END
1035
1036
1037 INPUT_PORTS_START( blaster )
1038 PORT_START /* IN0 */
1039 /* pseudo analog joystick, see below */
1040
1041 PORT_START /* IN1 */
1042 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON2 )
1043 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1 )
1044 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON3 )
1045 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN )
1046 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_START1 )
1047 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_START2 )
1048 PORT_BIT( 0xc0, IP_ACTIVE_HIGH, IPT_UNKNOWN )
1049
1050 PORT_START /* IN2 */
1051 PORT_BITX(0x01, IP_ACTIVE_HIGH, 0, "Auto Up", KEYCODE_F1, IP_JOY_NONE )
1052 PORT_BITX(0x02, IP_ACTIVE_HIGH, 0, "Advance", KEYCODE_F2, IP_JOY_NONE )
1053 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SERVICE1 )
1054 PORT_BITX(0x08, IP_ACTIVE_HIGH, 0, "High Score Reset", KEYCODE_7, IP_JOY_NONE )
1055 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_COIN1 )
1056 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_COIN2 )
1057 PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_TILT )
1058
1059 PORT_START /* fake, converted by sinistar_input_port_0() */
1060 PORT_ANALOG( 0xff, 0x38, IPT_AD_STICK_X, 100, 10, 0x00, 0x6f )
1061
1062 PORT_START /* fake, converted by sinistar_input_port_0() */
1063 PORT_ANALOG( 0xff, 0x38, IPT_AD_STICK_Y | IPF_REVERSE, 100, 10, 0x00, 0x6f )
1064 INPUT_PORTS_END
1065
1066
1067 INPUT_PORTS_START( blastkit )
1068 PORT_START /* IN0 */
1069 /* pseudo analog joystick, see below */
1070
1071 PORT_START /* IN1 */
1072 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON2 )
1073 PORT_BIT( 0xfe, IP_ACTIVE_HIGH, IPT_UNKNOWN )
1074
1075 PORT_START /* IN2 */
1076 PORT_BITX(0x01, IP_ACTIVE_HIGH, 0, "Auto Up", KEYCODE_F1, IP_JOY_NONE )
1077 PORT_BITX(0x02, IP_ACTIVE_HIGH, 0, "Advance", KEYCODE_F2, IP_JOY_NONE )
1078 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SERVICE1 )
1079 PORT_BITX(0x08, IP_ACTIVE_HIGH, 0, "High Score Reset", KEYCODE_7, IP_JOY_NONE )
1080 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_COIN1 )
1081 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_COIN2 )
1082 PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_TILT )
1083
1084 PORT_START /* fake, converted by sinistar_input_port_0() */
1085 PORT_ANALOG( 0xff, 0x38, IPT_AD_STICK_X, 100, 10, 0x00, 0x6f )
1086
1087 PORT_START /* fake, converted by sinistar_input_port_0() */
1088 PORT_ANALOG( 0xff, 0x38, IPT_AD_STICK_Y | IPF_REVERSE, 100, 10, 0x00, 0x6f )
1089
1090 PORT_START /* IN3 */
1091 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 )
1092 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON3 )
1093 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_START1 )
1094 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_START2 )
1095 PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNKNOWN )
1096 INPUT_PORTS_END
1097
1098
1099 INPUT_PORTS_START( mysticm )
1100 PORT_START /* IN1 */
1101 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP )
1102 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT )
1103 PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN )
1104 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT )
1105 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_START1 )
1106 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_START2 )
1107 PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED ) /* Key */
1108 PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_BUTTON1 )
1109
1110 PORT_START
1111 PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNUSED )
1112
1113 PORT_START /* IN0 */
1114 PORT_BITX(0x01, IP_ACTIVE_HIGH, 0, "Auto Up", KEYCODE_F1, IP_JOY_NONE )
1115 PORT_BITX(0x02, IP_ACTIVE_HIGH, 0, "Advance", KEYCODE_F2, IP_JOY_NONE )
1116 PORT_BITX(0x04, IP_ACTIVE_HIGH, 0, "High Score Reset", KEYCODE_7, IP_JOY_NONE )
1117 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_COIN1 )
1118 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_COIN2 )
1119 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SERVICE1 )
1120 PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_TILT )
1121 PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED )
1122 INPUT_PORTS_END
1123
1124
1125 INPUT_PORTS_START( tshoot )
1126 PORT_START /* IN0 (muxed with IN3)*/
1127 PORT_ANALOG(0x3F, 0x20, IPT_LIGHTGUN_Y, 25, 10, 0, 0x3F)
1128 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
1129 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 )
1130
1131 PORT_START /* IN1 */
1132 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON2 )
1133 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON3 )
1134 PORT_BIT( 0x3C, IP_ACTIVE_HIGH, IPT_UNUSED ) /* 0011-1100 output */
1135 PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_START1 )
1136 PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_START2 )
1137
1138 PORT_START /* IN2 */
1139 PORT_BITX(0x01, IP_ACTIVE_HIGH, 0, "Auto Up", KEYCODE_F1, IP_JOY_NONE )
1140 PORT_BITX(0x02, IP_ACTIVE_HIGH, 0, "Advance", KEYCODE_F2, IP_JOY_NONE )
1141 PORT_BITX(0x04, IP_ACTIVE_HIGH, 0, "High Score Reset", KEYCODE_7, IP_JOY_NONE )
1142 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_COIN1 )
1143 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_COIN2 )
1144 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SERVICE1 )
1145 PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_TILT )
1146 PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED )
1147
1148 PORT_START /* IN3 (muxed with IN0) */
1149 PORT_ANALOG(0x3F, 0x20, IPT_LIGHTGUN_X, 25, 10, 0, 0x3F)
1150 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
1151 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 )
1152 INPUT_PORTS_END
1153
1154
1155 INPUT_PORTS_START( inferno )
1156 PORT_START /* IN0 (muxed with IN3) */
1157 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPF_PLAYER1 | IPT_JOYSTICKLEFT_UP )
1158 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPF_PLAYER1 | IPT_JOYSTICKLEFT_LEFT )
1159 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPF_PLAYER1 | IPT_JOYSTICKLEFT_RIGHT )
1160 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPF_PLAYER1 | IPT_JOYSTICKLEFT_DOWN )
1161 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPF_PLAYER1 | IPT_JOYSTICKRIGHT_UP )
1162 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPF_PLAYER1 | IPT_JOYSTICKRIGHT_LEFT )
1163 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPF_PLAYER1 | IPT_JOYSTICKRIGHT_RIGHT )
1164 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPF_PLAYER1 | IPT_JOYSTICKRIGHT_DOWN )
1165
1166 PORT_START /* IN1 */
1167 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPF_PLAYER1 | IPT_BUTTON1 )
1168 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPF_PLAYER2 | IPT_BUTTON1 )
1169 PORT_BIT( 0x3C, IP_ACTIVE_HIGH, IPT_UNUSED )
1170 PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_START1 )
1171 PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_START2 )
1172
1173 PORT_START /* IN2 */
1174 PORT_BITX(0x01, IP_ACTIVE_HIGH, 0, "Auto Up", KEYCODE_F1, IP_JOY_NONE )
1175 PORT_BITX(0x02, IP_ACTIVE_HIGH, 0, "Advance", KEYCODE_F2, IP_JOY_NONE )
1176 PORT_BITX(0x04, IP_ACTIVE_HIGH, 0, "High Score Reset", KEYCODE_7, IP_JOY_NONE )
1177 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_COIN1 )
1178 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_COIN2 )
1179 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SERVICE1 )
1180 PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_TILT )
1181 PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED )
1182
1183 PORT_START /* IN3 (muxed with IN0) */
1184 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPF_PLAYER2 | IPT_JOYSTICKLEFT_UP )
1185 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPF_PLAYER2 | IPT_JOYSTICKLEFT_LEFT )
1186 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPF_PLAYER2 | IPT_JOYSTICKLEFT_RIGHT )
1187 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPF_PLAYER2 | IPT_JOYSTICKLEFT_DOWN )
1188 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPF_PLAYER2 | IPT_JOYSTICKRIGHT_UP )
1189 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPF_PLAYER2 | IPT_JOYSTICKRIGHT_LEFT )
1190 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPF_PLAYER2 | IPT_JOYSTICKRIGHT_RIGHT )
1191 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPF_PLAYER2 | IPT_JOYSTICKRIGHT_DOWN )
1192 INPUT_PORTS_END
1193
1194
1195 INPUT_PORTS_START( joust2 )
1196 PORT_START /* IN0 */
1197 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_2WAY | IPF_PLAYER1 )
1198 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_2WAY | IPF_PLAYER1 )
1199 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
1200 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED )
1201 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
1202 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
1203 PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
1204
1205 PORT_START /* IN1 */
1206 PORT_BIT( 0xFF, IP_ACTIVE_HIGH, IPT_UNUSED )
1207
1208 PORT_START /* IN2 */
1209 PORT_BITX(0x01, IP_ACTIVE_HIGH, 0, "Auto Up", KEYCODE_F1, IP_JOY_NONE )
1210 PORT_BITX(0x02, IP_ACTIVE_HIGH, 0, "Advance", KEYCODE_F2, IP_JOY_NONE )
1211 PORT_BITX(0x04, IP_ACTIVE_HIGH, 0, "High Score Reset", KEYCODE_7, IP_JOY_NONE )
1212 PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_COIN1 )
1213 PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_COIN2 )
1214 PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SERVICE1 )
1215 PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_TILT )
1216 PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED )
1217
1218 PORT_START /* IN3 (muxed with IN0) */
1219 PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_2WAY | IPF_PLAYER2 )
1220 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_2WAY | IPF_PLAYER2 )
1221 PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
1222 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED )
1223 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
1224 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
1225 PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
1226 INPUT_PORTS_END
1227
1228
1229
1230 /*************************************
1231 *
1232 * Graphics definitions
1233 *
1234 *************************************/
1235
1236 static struct GfxLayout williams2_layout =
1237 {
1238 24, 16,
1239 256,
1240 4,
1241 { 0, 1, 2, 3 },
1242 { 0+0*8, 4+0*8, 0+0*8+0x4000*8, 4+0*8+0x4000*8, 0+0*8+0x8000*8, 4+0*8+0x8000*8,
1243 0+1*8, 4+1*8, 0+1*8+0x4000*8, 4+1*8+0x4000*8, 0+1*8+0x8000*8, 4+1*8+0x8000*8,
1244 0+2*8, 4+2*8, 0+2*8+0x4000*8, 4+2*8+0x4000*8, 0+2*8+0x8000*8, 4+2*8+0x8000*8,
1245 0+3*8, 4+3*8, 0+3*8+0x4000*8, 4+3*8+0x4000*8, 0+3*8+0x8000*8, 4+3*8+0x8000*8
1246 },
1247 { 0*8, 4*8, 8*8, 12*8, 16*8, 20*8, 24*8, 28*8, 32*8, 36*8, 40*8, 44*8, 48*8, 52*8, 56*8, 60*8 },
1248 4*16*8
1249 };
1250
1251
1252 static struct GfxDecodeInfo williams2_gfxdecodeinfo[] =
1253 {
1254 { REGION_GFX1, 0, &williams2_layout, 16, 8 },
1255 { -1 } /* end of array */
1256 };
1257
1258
1259
1260 /*************************************
1261 *
1262 * Sound definitions
1263 *
1264 *************************************/
1265
1266 static struct DACinterface dac_interface =
1267 {
1268 1,
1269 { 50 }
1270 };
1271
1272
1273 static struct hc55516_interface sinistar_cvsd_interface =
1274 {
1275 1,
1276 { 80 },
1277 };
1278
1279
1280
1281 /*************************************
1282 *
1283 * Machine driver
1284 *
1285 *************************************/
1286
1287 static MACHINE_DRIVER_START( defender )
1288
1289 /* basic machine hardware */
1290 MDRV_CPU_ADD_TAG("main", M6809, 1000000)
MDRV_CPU_MEMORY(defender_readmem,defender_writemem)1291 MDRV_CPU_MEMORY(defender_readmem,defender_writemem)
1292
1293 MDRV_CPU_ADD_TAG("sound", M6808, 3579000/4)
1294 MDRV_CPU_FLAGS(CPU_AUDIO_CPU)
1295 MDRV_CPU_MEMORY(sound_readmem,sound_writemem)
1296
1297 MDRV_FRAMES_PER_SECOND(60)
1298 MDRV_VBLANK_DURATION(DEFAULT_60HZ_VBLANK_DURATION)
1299
1300 MDRV_MACHINE_INIT(defender)
1301 MDRV_NVRAM_HANDLER(generic_0fill)
1302
1303 /* video hardware */
1304 MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
1305 MDRV_SCREEN_SIZE(304, 256)
1306 MDRV_VISIBLE_AREA(6, 298-1, 7, 247-1)
1307 MDRV_PALETTE_LENGTH(16)
1308
1309 MDRV_VIDEO_START(williams)
1310 MDRV_VIDEO_UPDATE(williams)
1311
1312 /* sound hardware */
1313 MDRV_SOUND_ADD(DAC, dac_interface)
1314 MACHINE_DRIVER_END
1315
1316
1317 static MACHINE_DRIVER_START( williams )
1318
1319 /* basic machine hardware */
1320 MDRV_IMPORT_FROM(defender)
1321
1322 MDRV_CPU_MODIFY("main")
1323 MDRV_CPU_MEMORY(williams_readmem,williams_writemem)
1324
1325 MDRV_MACHINE_INIT(williams)
1326 MACHINE_DRIVER_END
1327
1328
1329 static MACHINE_DRIVER_START( sinistar )
1330
1331 /* basic machine hardware */
1332 MDRV_IMPORT_FROM(williams)
1333
1334 /* sound hardware */
1335 MDRV_SOUND_ADD(HC55516, sinistar_cvsd_interface)
1336 MACHINE_DRIVER_END
1337
1338
1339 static MACHINE_DRIVER_START( playball )
1340
1341 /* basic machine hardware */
1342 MDRV_IMPORT_FROM(sinistar)
1343
1344 /* video hardware */
1345 MDRV_VISIBLE_AREA(6, 298-1, 8, 239-1)
1346 MACHINE_DRIVER_END
1347
1348
1349 static MACHINE_DRIVER_START( blaster )
1350
1351 /* basic machine hardware */
1352 MDRV_IMPORT_FROM(williams)
1353
1354 MDRV_CPU_MODIFY("main")
1355 MDRV_CPU_MEMORY(blaster_readmem,blaster_writemem)
1356
1357 /* video hardware */
1358 MDRV_PALETTE_LENGTH(16+240)
1359
1360 MDRV_VIDEO_START(blaster)
1361 MACHINE_DRIVER_END
1362
1363
1364 static MACHINE_DRIVER_START( williams2 )
1365
1366 /* basic machine hardware */
1367 MDRV_CPU_ADD_TAG("main", M6809, 1000000)
1368 MDRV_CPU_MEMORY(williams2_readmem,williams2_writemem)
1369
1370 MDRV_CPU_ADD_TAG("sound", M6808, 3579000/4)
1371 MDRV_CPU_FLAGS(CPU_AUDIO_CPU)
1372 MDRV_CPU_MEMORY(williams2_sound_readmem,williams2_sound_writemem)
1373
1374 MDRV_FRAMES_PER_SECOND(60)
1375 MDRV_VBLANK_DURATION(DEFAULT_60HZ_VBLANK_DURATION)
1376 MDRV_MACHINE_INIT(williams2)
1377 MDRV_NVRAM_HANDLER(generic_0fill)
1378
1379 /* video hardware */
1380 MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
1381 MDRV_SCREEN_SIZE(288, 256)
1382 MDRV_VISIBLE_AREA(4, 288-1, 8, 248-1)
1383 MDRV_GFXDECODE(williams2_gfxdecodeinfo)
1384 MDRV_PALETTE_LENGTH(16+8*16)
1385
1386 MDRV_VIDEO_START(williams2)
1387 MDRV_VIDEO_UPDATE(williams2)
1388
1389 /* sound hardware */
1390 MDRV_SOUND_ADD_TAG("wmsdac", DAC, dac_interface)
1391 MACHINE_DRIVER_END
1392
1393
1394 static MACHINE_DRIVER_START( joust2 )
1395
1396 /* basic machine hardware */
1397 MDRV_IMPORT_FROM(williams2)
1398 MDRV_IMPORT_FROM(williams_cvsd_sound)
1399
1400 MDRV_MACHINE_INIT(joust2)
1401
1402 /* sound hardware */
1403 MDRV_SOUND_REMOVE("wmsdac")
1404 MACHINE_DRIVER_END
1405
1406
1407
1408 /*************************************
1409 *
1410 * ROM definitions
1411 *
1412 *************************************/
1413
1414 ROM_START( defender )
1415 ROM_REGION( 0x14000, REGION_CPU1, 0 )
1416 ROM_LOAD( "defend.1", 0x0d000, 0x0800, CRC(c3e52d7e) SHA1(a57f5278ffe44248fc73f9925d107f4024ad981a) )
1417 ROM_LOAD( "defend.4", 0x0d800, 0x0800, CRC(9a72348b) SHA1(ed6ce796702ff32209ced3cb1ba3837dbafa526f) )
1418 ROM_LOAD( "defend.2", 0x0e000, 0x1000, CRC(89b75984) SHA1(a9481478da38f99efb67f0ecf82d084e14b93b42) )
1419 ROM_LOAD( "defend.3", 0x0f000, 0x1000, CRC(94f51e9b) SHA1(a24cfc55de56a72758c76fe2a55f1ec6c353b16f) )
1420 /* bank 0 is the place for CMOS ram */
1421 ROM_LOAD( "defend.9", 0x10000, 0x0800, CRC(6870e8a5) SHA1(67ccc194b1753a18af0c85f5e603355549c4f727) )
1422 ROM_LOAD( "defend.12", 0x10800, 0x0800, CRC(f1f88938) SHA1(26e48dfeefa0766837b1e762695b9532dbc8bc5e) )
1423 ROM_LOAD( "defend.8", 0x11000, 0x0800, CRC(b649e306) SHA1(9d7bc3c89e5a53c575946f06702c722b864b1ff0) )
1424 ROM_LOAD( "defend.11", 0x11800, 0x0800, CRC(9deaf6d9) SHA1(59b018ba0f3fe6eadfd387dc180ac281460358bc) )
1425 ROM_LOAD( "defend.7", 0x12000, 0x0800, CRC(339e092e) SHA1(2f89951dbe55d80df43df8dcf497171f73e726d3) )
1426 ROM_LOAD( "defend.10", 0x12800, 0x0800, CRC(a543b167) SHA1(9292b94b0d74e57e03aada4852ad1997c34122ff) )
1427 ROM_RELOAD( 0x13800, 0x0800 )
1428 ROM_LOAD( "defend.6", 0x13000, 0x0800, CRC(65f4efd1) SHA1(a960fd1559ed74b81deba434391e49fc6ec389ca) )
1429
1430 ROM_REGION( 0x10000, REGION_CPU2, 0 )
1431 ROM_LOAD( "defend.snd", 0xf800, 0x0800, CRC(fefd5b48) SHA1(ceb0d18483f0691978c604db94417e6941ad7ff2) )
1432 ROM_END
1433
1434
1435 ROM_START( defendg )
1436 ROM_REGION( 0x14000, REGION_CPU1, 0 )
1437 ROM_LOAD( "defeng01.bin", 0x0d000, 0x0800, CRC(6111d74d) SHA1(2a335bdce8269f75012df44b446cb261ddd5924c) )
1438 ROM_LOAD( "defeng04.bin", 0x0d800, 0x0800, CRC(3cfc04ce) SHA1(8ee65c7daed4d6956d0e15ada4dc414c28376012) )
1439 ROM_LOAD( "defeng02.bin", 0x0e000, 0x1000, CRC(d184ab6b) SHA1(ed61a95b04f6162aedba8a72bc46005b77283955) )
1440 ROM_LOAD( "defeng03.bin", 0x0f000, 0x1000, CRC(788b76d7) SHA1(92987207770a870b5be61c820e9e229801f1fa7a) )
1441 /* bank 0 is the place for CMOS ram */
1442 ROM_LOAD( "defeng09.bin", 0x10000, 0x0800, CRC(f57caa62) SHA1(c8c91b96fd3bc98eddcc1503159050dae5755001) )
1443 ROM_LOAD( "defeng12.bin", 0x10800, 0x0800, CRC(33db686f) SHA1(34bc7fa10b7996efcc53d3a891b2983874269828) )
1444 ROM_LOAD( "defeng08.bin", 0x11000, 0x0800, CRC(9a9eb3d2) SHA1(306a3a24931e1aa5fcfd71e3f117cc726d0920ac) )
1445 ROM_LOAD( "defeng11.bin", 0x11800, 0x0800, CRC(5ca4e860) SHA1(031188c009b8fca92703a0cc0c2bb44976212ae9) )
1446 ROM_LOAD( "defeng07.bin", 0x12000, 0x0800, CRC(545c3326) SHA1(98199df5206c261061b0108c68ab9128fa0779eb) )
1447 ROM_LOAD( "defeng10.bin", 0x12800, 0x0800, CRC(941cf34e) SHA1(411dcb18b67585982672ff687a9249f4890faa1b) )
1448 ROM_RELOAD( 0x13800, 0x0800 )
1449 ROM_LOAD( "defeng06.bin", 0x13000, 0x0800, CRC(3af34c05) SHA1(71f3ced06a373fa4805c856bd9fc97760787a920) )
1450
1451 ROM_REGION( 0x10000, REGION_CPU2, 0 )
1452 ROM_LOAD( "defend.snd", 0xf800, 0x0800, CRC(fefd5b48) SHA1(ceb0d18483f0691978c604db94417e6941ad7ff2) )
1453 ROM_END
1454
1455
1456 ROM_START( defendw )
1457 ROM_REGION( 0x14000, REGION_CPU1, 0 )
1458 ROM_LOAD( "wb01.bin", 0x0d000, 0x1000, CRC(0ee1019d) SHA1(a76247e825b8267abfd195c12f96348fe10d4cbc) )
1459 ROM_LOAD( "defeng02.bin", 0x0e000, 0x1000, CRC(d184ab6b) SHA1(ed61a95b04f6162aedba8a72bc46005b77283955) )
1460 ROM_LOAD( "wb03.bin", 0x0f000, 0x1000, CRC(a732d649) SHA1(b681882c02c5870ad613edc77255969a5f796422) )
1461 /* bank 0 is the place for CMOS ram */
1462 ROM_LOAD( "defeng09.bin", 0x10000, 0x0800, CRC(f57caa62) SHA1(c8c91b96fd3bc98eddcc1503159050dae5755001) )
1463 ROM_LOAD( "defeng12.bin", 0x10800, 0x0800, CRC(33db686f) SHA1(34bc7fa10b7996efcc53d3a891b2983874269828) )
1464 ROM_LOAD( "defeng08.bin", 0x11000, 0x0800, CRC(9a9eb3d2) SHA1(306a3a24931e1aa5fcfd71e3f117cc726d0920ac) )
1465 ROM_LOAD( "defeng11.bin", 0x11800, 0x0800, CRC(5ca4e860) SHA1(031188c009b8fca92703a0cc0c2bb44976212ae9) )
1466 ROM_LOAD( "defeng07.bin", 0x12000, 0x0800, CRC(545c3326) SHA1(98199df5206c261061b0108c68ab9128fa0779eb) )
1467 ROM_LOAD( "defeng10.bin", 0x12800, 0x0800, CRC(941cf34e) SHA1(411dcb18b67585982672ff687a9249f4890faa1b) )
1468 ROM_RELOAD( 0x13800, 0x0800 )
1469 ROM_LOAD( "defeng06.bin", 0x13000, 0x0800, CRC(3af34c05) SHA1(71f3ced06a373fa4805c856bd9fc97760787a920) )
1470
1471 ROM_REGION( 0x10000, REGION_CPU2, 0 )
1472 ROM_LOAD( "defend.snd", 0xf800, 0x0800, CRC(fefd5b48) SHA1(ceb0d18483f0691978c604db94417e6941ad7ff2) )
1473 ROM_END
1474
1475
1476 ROM_START( defndjeu )
1477 ROM_REGION( 0x15000, REGION_CPU1, 0 )
1478 ROM_LOAD( "15", 0x0d000, 0x1000, CRC(706a24bd) SHA1(60cef3d4f7204eff42de2c08244863e83bc842b4) )
1479 ROM_LOAD( "16", 0x0e000, 0x1000, CRC(03201532) SHA1(77e8c10ba0ecb6e7a7cb4229a5025c4b9ea4c73e) )
1480 ROM_LOAD( "17", 0x0f000, 0x1000, CRC(25287eca) SHA1(ec81181a5a0ac2adf7c0dabbec638f886c13e6ec) )
1481 /* bank 0 is the place for CMOS ram */
1482 ROM_LOAD( "18", 0x10000, 0x1000, CRC(e99d5679) SHA1(b4344a32aed6cc64284661c03993a59718289c82) )
1483 ROM_LOAD( "19", 0x11000, 0x1000, CRC(769f5984) SHA1(0ea49754b45bc214fd2b69846ede738994f07ee3) )
1484 ROM_LOAD( "20", 0x12000, 0x1000, CRC(12fa0788) SHA1(7464386521c9db0153caf1ea05a353f0018651e5) )
1485 ROM_LOAD( "21", 0x13000, 0x1000, CRC(bddb71a3) SHA1(ecba4c09a9d59fd7aa02efa240461df89159d2ec) )
1486 ROM_RELOAD( 0x14000, 0x1000 )
1487
1488 ROM_REGION( 0x10000, REGION_CPU2, 0 )
1489 ROM_LOAD( "s", 0xf800, 0x0800, CRC(cb79ae42) SHA1(d22bef68ef62aa012f1919338a33621138c2278b) )
1490 ROM_END
1491
1492
1493 ROM_START( defcmnd )
1494 ROM_REGION( 0x15000, REGION_CPU1, 0 )
1495 ROM_LOAD( "defcmnda.1", 0x0d000, 0x1000, CRC(68effc1d) SHA1(459fd95cdf94233e1a4302d1c166e0f7cc239579) )
1496 ROM_LOAD( "defcmnda.2", 0x0e000, 0x1000, CRC(1126adc9) SHA1(526cf1ca3a7eefd6115d74ac9af1a50774cc258e) )
1497 ROM_LOAD( "defcmnda.3", 0x0f000, 0x1000, CRC(7340209d) SHA1(d2cdab8ac4830ac027655ed7fe54314c5b87fdb3) )
1498 /* bank 0 is the place for CMOS ram */
1499 ROM_LOAD( "defcmnda.10", 0x10000, 0x0800, CRC(3dddae75) SHA1(f45fcf3e5ca9bf3edd692b4ee1e96f9f1d388522) )
1500 ROM_LOAD( "defcmnda.7", 0x10800, 0x0800, CRC(3f1e7cf8) SHA1(87afb4b1158e64039129bd8a9653bc61ab3e1e37) )
1501 ROM_LOAD( "defcmnda.9", 0x11000, 0x0800, CRC(8882e1ff) SHA1(9d54a39230acd01e0555f67ba2a3c9c6d66b59a1) )
1502 ROM_LOAD( "defcmnda.6", 0x11800, 0x0800, CRC(d068f0c5) SHA1(d32a4232756ca05972780cb35b0add12b31e8283) )
1503 ROM_LOAD( "defcmnda.8", 0x12000, 0x0800, CRC(fef4cb77) SHA1(96202e97f3392bc043a252e78d1c42b51c38d269) )
1504 ROM_LOAD( "defcmnda.5", 0x12800, 0x0800, CRC(49b50b40) SHA1(91cf841271a2f7d06f81477b4a450eb4580c7ca5) )
1505 ROM_LOAD( "defcmnda.4", 0x13000, 0x0800, CRC(43d42a1b) SHA1(b13d59940646451c00b49bbe4a41b9e2df4d7758) )
1506
1507 ROM_REGION( 0x10000, REGION_CPU2, 0 )
1508 ROM_LOAD( "defcmnda.snd", 0xf800, 0x0800, CRC(f122d9c9) SHA1(70092fc354a2efbe7365be922fa36309b50d5c6f) )
1509 ROM_END
1510
1511
1512 ROM_START( defence )
1513 ROM_REGION( 0x15000, REGION_CPU1, 0 )
1514 ROM_LOAD( "1", 0x0d000, 0x1000, CRC(ebc93622) SHA1(bd1c098e91b24409925d01aa25de013451dba8e6) )
1515 ROM_LOAD( "2", 0x0e000, 0x1000, CRC(2a4f4f44) SHA1(8c0519fcb631e05e967cf0953ab2749183655594) )
1516 ROM_LOAD( "3", 0x0f000, 0x1000, CRC(a4112f91) SHA1(aad7ae81da7c20c7f4c1ef41697c8900a0c81f8e) )
1517 /* bank 0 is the place for CMOS ram */
1518 ROM_LOAD( "0", 0x10000, 0x0800, CRC(7a1e5998) SHA1(c133f43427540b39a383db7f46298942420d138a) )
1519 ROM_LOAD( "7", 0x10800, 0x0800, CRC(4c2616a3) SHA1(247411e2bb6618f77df6ea74aef1743fafb491a3) )
1520 ROM_LOAD( "9", 0x11000, 0x0800, CRC(7b146003) SHA1(04746f1b037bf6549fd53cff8f8c37136fce099e) )
1521 ROM_LOAD( "6", 0x11800, 0x0800, CRC(6d748030) SHA1(060ddf95eeb1318695a25c8c082a670fcdf117e7) )
1522 ROM_LOAD( "8", 0x12000, 0x0800, CRC(52d5438b) SHA1(087268ca30a42c00dbeceb4df901ddf80ae50125) )
1523 ROM_LOAD( "5", 0x12800, 0x0800, CRC(4a270340) SHA1(317fcc3156a099dbe48a0658757a9d6c4c54b23a) )
1524 ROM_LOAD( "4", 0x13000, 0x0800, CRC(e13f457c) SHA1(c706babc0005dfeb3c1b880047da6ec04bce407d) )
1525
1526 ROM_REGION( 0x10000, REGION_CPU2, 0 )
1527 ROM_LOAD( "defcmnda.snd", 0xf800, 0x0800, CRC(f122d9c9) SHA1(70092fc354a2efbe7365be922fa36309b50d5c6f) )
1528 ROM_END
1529
1530
1531 ROM_START( mayday )
1532 ROM_REGION( 0x15000, REGION_CPU1, 0 )
1533 ROM_LOAD( "ic03-3.bin", 0x0d000, 0x1000, CRC(a1ff6e62) SHA1(c3c60ce94c6bdc4b07e45f386eff9a4aa4816953) )
1534 ROM_LOAD( "ic02-2.bin", 0x0e000, 0x1000, CRC(62183aea) SHA1(3843fe055ab6d3bb5a3362f57a63ce99e36cec47) )
1535 ROM_LOAD( "ic01-1.bin", 0x0f000, 0x1000, CRC(5dcb113f) SHA1(c41d671c336c68824771b7c4f0ffce39f1b6cd62) )
1536 /* bank 0 is the place for CMOS ram */
1537 ROM_LOAD( "ic04-4.bin", 0x10000, 0x1000, CRC(ea6a4ec8) SHA1(eaedc11968d88fd6f3c5b40c8d15d64ca6d0a1ab) )
1538 ROM_LOAD( "ic05-5.bin", 0x11000, 0x1000, CRC(0d797a3e) SHA1(289d2ecfebd7d71430d6624f3c9fbc91f9ef05cc) )
1539 ROM_LOAD( "ic06-6.bin", 0x12000, 0x1000, CRC(ee8bfcd6) SHA1(f68c44fdc18d57070aea604e261fb7b9407345a2) )
1540 ROM_LOAD( "ic07-7d.bin", 0x13000, 0x1000, CRC(d9c065e7) SHA1(ceeb58d1dfe14106271f17cf1c689b812216c3c0) )
1541 ROM_RELOAD( 0x14000, 0x1000 )
1542
1543 ROM_REGION( 0x10000, REGION_CPU2, 0 )
1544 ROM_LOAD( "ic28-8.bin", 0xf800, 0x0800, CRC(fefd5b48) SHA1(ceb0d18483f0691978c604db94417e6941ad7ff2) )
1545 ROM_END
1546
1547
1548 ROM_START( maydaya )
1549 ROM_REGION( 0x15000, REGION_CPU1, 0 )
1550 ROM_LOAD( "mayday.c", 0x0d000, 0x1000, CRC(872a2f2d) SHA1(5823e889151b34e3fa739775440c788cca0b44c6) )
1551 ROM_LOAD( "mayday.b", 0x0e000, 0x1000, CRC(c4ab5e22) SHA1(757fd9311cffea420b1de8f574e84c13c0aac77d) )
1552 ROM_LOAD( "mayday.a", 0x0f000, 0x1000, CRC(329a1318) SHA1(4aa1d05ca05f37460eccb450ae61c21d86348f02) )
1553 /* bank 0 is the place for CMOS ram */
1554 ROM_LOAD( "mayday.d", 0x10000, 0x1000, CRC(c2ae4716) SHA1(582f763eda7d7d51ed0580045d6c617246b104b7) )
1555 ROM_LOAD( "mayday.e", 0x11000, 0x1000, CRC(41225666) SHA1(6d9c0347ff85bf9f9ae4648976c3ee971fec0f53) )
1556 ROM_LOAD( "mayday.f", 0x12000, 0x1000, CRC(c39be3c0) SHA1(91ac61e20d325a3a018ffe57bd79bfdfdc5a3cbd) )
1557 ROM_LOAD( "mayday.g", 0x13000, 0x1000, CRC(2bd0f106) SHA1(ac74d74a54d5b464e4c82b5b46ad7d20cdb7b6d7) )
1558 ROM_RELOAD( 0x14000, 0x1000 )
1559
1560 ROM_REGION( 0x10000, REGION_CPU2, 0 )
1561 ROM_LOAD( "ic28-8.bin", 0xf800, 0x0800, CRC(fefd5b48) SHA1(ceb0d18483f0691978c604db94417e6941ad7ff2) )
1562 ROM_END
1563
1564
1565 ROM_START( maydayb )
1566 ROM_REGION( 0x15000, REGION_CPU1, 0 )
1567 ROM_LOAD( "ic03-3.bin", 0x0d000, 0x1000, CRC(a1ff6e62) SHA1(c3c60ce94c6bdc4b07e45f386eff9a4aa4816953) )
1568 ROM_LOAD( "ic02-2.bin", 0x0e000, 0x1000, CRC(62183aea) SHA1(3843fe055ab6d3bb5a3362f57a63ce99e36cec47) )
1569 ROM_LOAD( "ic01-1.bin", 0x0f000, 0x1000, CRC(5dcb113f) SHA1(c41d671c336c68824771b7c4f0ffce39f1b6cd62) )
1570 /* bank 0 is the place for CMOS ram */
1571 ROM_LOAD( "rom7.bin", 0x10000, 0x1000, CRC(0c3ca687) SHA1(a83f17c20f5767f092300266dd494bd0abf267bb) )
1572 ROM_LOAD( "ic05-5.bin", 0x11000, 0x1000, CRC(0d797a3e) SHA1(289d2ecfebd7d71430d6624f3c9fbc91f9ef05cc) )
1573 ROM_LOAD( "ic06-6.bin", 0x12000, 0x1000, CRC(ee8bfcd6) SHA1(f68c44fdc18d57070aea604e261fb7b9407345a2) )
1574 ROM_LOAD( "ic07-7d.bin", 0x13000, 0x1000, CRC(d9c065e7) SHA1(ceeb58d1dfe14106271f17cf1c689b812216c3c0) )
1575 ROM_RELOAD( 0x14000, 0x1000 )
1576
1577 ROM_REGION( 0x10000, REGION_CPU2, 0 )
1578 ROM_LOAD( "ic28-8.bin", 0xf800, 0x0800, CRC(fefd5b48) SHA1(ceb0d18483f0691978c604db94417e6941ad7ff2) )
1579
1580 ROM_REGION( 0x2000, REGION_USER1, 0 )
1581 ROM_LOAD( "rom11.bin", 0x0000, 0x0800, CRC(7e113979) SHA1(ac908afb6aa756fc4db1ffddbd3688aa07080693) )
1582 ROM_LOAD( "rom12.bin", 0x0800, 0x0800, CRC(a562c506) SHA1(a0bae41732f05caa80b9c13fba6ae4f01647e680) )
1583 ROM_LOAD( "rom6a.bin", 0x1000, 0x0800, CRC(8e4e981f) SHA1(685c1fca9373f4129c7c6b86f18900a1bd324019) )
1584 ROM_LOAD( "rom8-sos.bin",0x1800, 0x0800, CRC(6a9b383f) SHA1(10e71a3bb9492b6c34ff06760dd55c442611ca75) )
1585 ROM_END
1586
1587
1588 ROM_START( colony7 )
1589 ROM_REGION( 0x14000, REGION_CPU1, 0 )
1590 ROM_LOAD( "cs03.bin", 0x0d000, 0x1000, CRC(7ee75ae5) SHA1(1d268d83c2b0c7897d9e783f5da4e1d892709ba4) )
1591 ROM_LOAD( "cs02.bin", 0x0e000, 0x1000, CRC(c60b08cb) SHA1(8cf91a2c2c04199b2870bb11e10fa6ffef5b877f) )
1592 ROM_LOAD( "cs01.bin", 0x0f000, 0x1000, CRC(1bc97436) SHA1(326692de3491925bbeea9b0e880d9133f0e6440c) )
1593 /* bank 0 is the place for CMOS ram */
1594 ROM_LOAD( "cs06.bin", 0x10000, 0x0800, CRC(318b95af) SHA1(cb276ef440436f6000a2d20252f3197a67965167) )
1595 ROM_LOAD( "cs04.bin", 0x10800, 0x0800, CRC(d740faee) SHA1(aad164e72ebb0de18487c5397ea33d300cf93423) )
1596 ROM_LOAD( "cs07.bin", 0x11000, 0x0800, CRC(0b23638b) SHA1(b577c0cefa3ea2df436ed0fa1efa8ecd04ff78b0) )
1597 ROM_LOAD( "cs05.bin", 0x11800, 0x0800, CRC(59e406a8) SHA1(b64081ca83b6f57ac8fb71b1f8618083f19b99de) )
1598 ROM_LOAD( "cs08.bin", 0x12000, 0x0800, CRC(3bfde87a) SHA1(f5047927833be97324c861aa93a8e95b457058c4) )
1599 ROM_RELOAD( 0x12800, 0x0800 )
1600
1601 ROM_REGION( 0x10000, REGION_CPU2, 0 )
1602 ROM_LOAD( "cs11.bin", 0xf800, 0x0800, CRC(6032293c) SHA1(dd2c6afc1149a879d49e93d1a2fa8e1f6d0b043b) )
1603 ROM_END
1604
1605
1606 ROM_START( colony7a )
1607 ROM_REGION( 0x14000, REGION_CPU1, 0 )
1608 ROM_LOAD( "cs03a.bin", 0x0d000, 0x1000, CRC(e0b0d23b) SHA1(4c50e00a71b3b2bf8d032a3cb496e5473204a8d6) )
1609 ROM_LOAD( "cs02a.bin", 0x0e000, 0x1000, CRC(370c6f41) SHA1(4e13a4cf9c1a3b1c354443c41549b59581d8b357) )
1610 ROM_LOAD( "cs01a.bin", 0x0f000, 0x1000, CRC(ba299946) SHA1(42e5d6ad0505f5a951d92165c9e2fa4e86659469) )
1611 /* bank 0 is the place for CMOS ram */
1612 ROM_LOAD( "cs06.bin", 0x10000, 0x0800, CRC(318b95af) SHA1(cb276ef440436f6000a2d20252f3197a67965167) )
1613 ROM_LOAD( "cs04.bin", 0x10800, 0x0800, CRC(d740faee) SHA1(aad164e72ebb0de18487c5397ea33d300cf93423) )
1614 ROM_LOAD( "cs07.bin", 0x11000, 0x0800, CRC(0b23638b) SHA1(b577c0cefa3ea2df436ed0fa1efa8ecd04ff78b0) )
1615 ROM_LOAD( "cs05.bin", 0x11800, 0x0800, CRC(59e406a8) SHA1(b64081ca83b6f57ac8fb71b1f8618083f19b99de) )
1616 ROM_LOAD( "cs08.bin", 0x12000, 0x0800, CRC(3bfde87a) SHA1(f5047927833be97324c861aa93a8e95b457058c4) )
1617 ROM_RELOAD( 0x12800, 0x0800 )
1618
1619 ROM_REGION( 0x10000, REGION_CPU2, 0 )
1620 ROM_LOAD( "cs11.bin", 0xf800, 0x0800, CRC(6032293c) SHA1(dd2c6afc1149a879d49e93d1a2fa8e1f6d0b043b) )
1621 ROM_END
1622
1623
1624 ROM_START( stargate )
1625 ROM_REGION( 0x10000, REGION_CPU1, 0 )
1626 ROM_LOAD( "01", 0x0000, 0x1000, CRC(88824d18) SHA1(f003a5a9319c4eb8991fa2aae3f10c72d6b8e81a) )
1627 ROM_LOAD( "02", 0x1000, 0x1000, CRC(afc614c5) SHA1(087c6da93318e8dc922d3d22e0a2af7b9759701c) )
1628 ROM_LOAD( "03", 0x2000, 0x1000, CRC(15077a9d) SHA1(7badb4318b208f49d7fa65e915d0aa22a1e37915) )
1629 ROM_LOAD( "04", 0x3000, 0x1000, CRC(a8b4bf0f) SHA1(6b4d47c2899fe9f14f9dab5928499f12078c437d) )
1630 ROM_LOAD( "05", 0x4000, 0x1000, CRC(2d306074) SHA1(54f871983699113e31bb756d4ca885c26c2d66b4) )
1631 ROM_LOAD( "06", 0x5000, 0x1000, CRC(53598dde) SHA1(54b02d944caf95283c9b6f0160e75ea8c4ccc97b) )
1632 ROM_LOAD( "07", 0x6000, 0x1000, CRC(23606060) SHA1(a487ffcd4920d1056b87469735f7e1002f6a2e49) )
1633 ROM_LOAD( "08", 0x7000, 0x1000, CRC(4ec490c7) SHA1(8726ebaf048db9608dfe365bf434ed5ca9452db7) )
1634 ROM_LOAD( "09", 0x8000, 0x1000, CRC(88187b64) SHA1(efacc4a6d4b2af9a236c9d520de6d605c79cc5a8) )
1635 ROM_LOAD( "10", 0xd000, 0x1000, CRC(60b07ff7) SHA1(ba833f48ddfc1bd04ddb41b1d1c840d66ee7da30) )
1636 ROM_LOAD( "11", 0xe000, 0x1000, CRC(7d2c5daf) SHA1(6ca39f493eb8b370154ad46ef01976d352c929e1) )
1637 ROM_LOAD( "12", 0xf000, 0x1000, CRC(a0396670) SHA1(c46872550e0ca031453c6513f8f0448ecc9b5572) )
1638
1639 ROM_REGION( 0x10000, REGION_CPU2, 0 )
1640 ROM_LOAD( "sg.snd", 0xf800, 0x0800, CRC(2fcf6c4d) SHA1(9c4334ac3ff15d94001b22fc367af40f9deb7d57) )
1641 ROM_END
1642
1643
1644 ROM_START( joust )
1645 ROM_REGION( 0x10000, REGION_CPU1, 0 )
1646 ROM_LOAD( "joust.wg1", 0x0000, 0x1000, CRC(fe41b2af) SHA1(0443e00ae2eb3e66cf805562ee04309487bb0ba4) )
1647 ROM_LOAD( "joust.wg2", 0x1000, 0x1000, CRC(501c143c) SHA1(5fda266d43cbbf42eeae1a078b5209d9408ab99f) )
1648 ROM_LOAD( "joust.wg3", 0x2000, 0x1000, CRC(43f7161d) SHA1(686da120aa4bd4a41f3d93e8c79ebb343977851a) )
1649 ROM_LOAD( "joust.wg4", 0x3000, 0x1000, CRC(db5571b6) SHA1(cb1c3285344e2cfbe0a81ab9b51758c40da8a23f) )
1650 ROM_LOAD( "joust.wg5", 0x4000, 0x1000, CRC(c686bb6b) SHA1(d9cac4c46820e1a451a145864bca7a35cfab7d37) )
1651 ROM_LOAD( "joust.wg6", 0x5000, 0x1000, CRC(fac5f2cf) SHA1(febaa8cf5c3a0af901cd12d0b7909f6fec3beadd) )
1652 ROM_LOAD( "joust.wg7", 0x6000, 0x1000, CRC(81418240) SHA1(5ad14aa65e71c3856dcdb04c99edda92e406a3e3) )
1653 ROM_LOAD( "joust.wg8", 0x7000, 0x1000, CRC(ba5359ba) SHA1(f4ee13d5a95ed3e1050a3927a3a0ccf86ed7752d) )
1654 ROM_LOAD( "joust.wg9", 0x8000, 0x1000, CRC(39643147) SHA1(d95d3b746133eac9dcc9ee05eabecb797023f1a5) )
1655 ROM_LOAD( "joust.wga", 0xd000, 0x1000, CRC(3f1c4f89) SHA1(90864a8ab944df45287bf0f68ad3a85194077a82) )
1656 ROM_LOAD( "joust.wgb", 0xe000, 0x1000, CRC(ea48b359) SHA1(6d38003d56bebeb1f5b4d2287d587342847aa195) )
1657 ROM_LOAD( "joust.wgc", 0xf000, 0x1000, CRC(c710717b) SHA1(7d01764e8251c60b3cab96f7dc6dcc1c624f9d12) )
1658
1659 ROM_REGION( 0x10000, REGION_CPU2, 0 )
1660 ROM_LOAD( "joust.snd", 0xf000, 0x1000, CRC(f1835bdd) SHA1(af7c066d2949d36b87ea8c425ca7d12f82b5c653) )
1661 ROM_END
1662
1663
1664 ROM_START( joustwr )
1665 ROM_REGION( 0x10000, REGION_CPU1, 0 )
1666 ROM_LOAD( "joust.wg1", 0x0000, 0x1000, CRC(fe41b2af) SHA1(0443e00ae2eb3e66cf805562ee04309487bb0ba4) )
1667 ROM_LOAD( "joust.wg2", 0x1000, 0x1000, CRC(501c143c) SHA1(5fda266d43cbbf42eeae1a078b5209d9408ab99f) )
1668 ROM_LOAD( "joust.wg3", 0x2000, 0x1000, CRC(43f7161d) SHA1(686da120aa4bd4a41f3d93e8c79ebb343977851a) )
1669 ROM_LOAD( "joust.wg4", 0x3000, 0x1000, CRC(db5571b6) SHA1(cb1c3285344e2cfbe0a81ab9b51758c40da8a23f) )
1670 ROM_LOAD( "joust.wg5", 0x4000, 0x1000, CRC(c686bb6b) SHA1(d9cac4c46820e1a451a145864bca7a35cfab7d37) )
1671 ROM_LOAD( "joust.wg6", 0x5000, 0x1000, CRC(fac5f2cf) SHA1(febaa8cf5c3a0af901cd12d0b7909f6fec3beadd) )
1672 ROM_LOAD( "joust.wr7", 0x6000, 0x1000, CRC(e6f439c4) SHA1(ff8f1d54f3ac91101ab9f5f115baeca4f2670186) )
1673 ROM_LOAD( "joust.wg8", 0x7000, 0x1000, CRC(ba5359ba) SHA1(f4ee13d5a95ed3e1050a3927a3a0ccf86ed7752d) )
1674 ROM_LOAD( "joust.wg9", 0x8000, 0x1000, CRC(39643147) SHA1(d95d3b746133eac9dcc9ee05eabecb797023f1a5) )
1675 ROM_LOAD( "joust.wra", 0xd000, 0x1000, CRC(2039014a) SHA1(b9a76ecf01404585f833f76c54aa5a88a0215715) )
1676 ROM_LOAD( "joust.wgb", 0xe000, 0x1000, CRC(ea48b359) SHA1(6d38003d56bebeb1f5b4d2287d587342847aa195) )
1677 ROM_LOAD( "joust.wgc", 0xf000, 0x1000, CRC(c710717b) SHA1(7d01764e8251c60b3cab96f7dc6dcc1c624f9d12) )
1678
1679 ROM_REGION( 0x10000, REGION_CPU2, 0 )
1680 ROM_LOAD( "joust.snd", 0xf000, 0x1000, CRC(f1835bdd) SHA1(af7c066d2949d36b87ea8c425ca7d12f82b5c653) )
1681 ROM_END
1682
1683
1684 ROM_START( joustr )
1685 ROM_REGION( 0x10000, REGION_CPU1, 0 )
1686 ROM_LOAD( "joust.wg1", 0x0000, 0x1000, CRC(fe41b2af) SHA1(0443e00ae2eb3e66cf805562ee04309487bb0ba4) )
1687 ROM_LOAD( "joust.wg2", 0x1000, 0x1000, CRC(501c143c) SHA1(5fda266d43cbbf42eeae1a078b5209d9408ab99f) )
1688 ROM_LOAD( "joust.wg3", 0x2000, 0x1000, CRC(43f7161d) SHA1(686da120aa4bd4a41f3d93e8c79ebb343977851a) )
1689 ROM_LOAD( "joust.sr4", 0x3000, 0x1000, CRC(ab347170) SHA1(ad50c83fcfa958f2673cae04bd811095f9ee08c0) )
1690 ROM_LOAD( "joust.wg5", 0x4000, 0x1000, CRC(c686bb6b) SHA1(d9cac4c46820e1a451a145864bca7a35cfab7d37) )
1691 ROM_LOAD( "joust.sr6", 0x5000, 0x1000, CRC(3d9a6fac) SHA1(0c81394ae96a2fcfa4c953d38e43f3ef415fe4fc) )
1692 ROM_LOAD( "joust.sr7", 0x6000, 0x1000, CRC(0a70b3d1) SHA1(eb78b694aa29f777f3c7e7104e568f865930c0ec) )
1693 ROM_LOAD( "joust.sr8", 0x7000, 0x1000, CRC(a7f01504) SHA1(0ca3211d060befc102bda2e97d163de7fb12a6f6) )
1694 ROM_LOAD( "joust.sr9", 0x8000, 0x1000, CRC(978687ad) SHA1(25e651af3e3be08d6293aab427a0843e9333a629) )
1695 ROM_LOAD( "joust.sra", 0xd000, 0x1000, CRC(c0c6e52a) SHA1(f14ff16195027f3e199e79e43741f0849c17fd10) )
1696 ROM_LOAD( "joust.srb", 0xe000, 0x1000, CRC(ab11bcf9) SHA1(efb09e92a621d6c4d6cde2f166e8c988c64d81ae) )
1697 ROM_LOAD( "joust.src", 0xf000, 0x1000, CRC(ea14574b) SHA1(7572d118b2343646054e558f0bd48e4959d84ce7) )
1698
1699 ROM_REGION( 0x10000, REGION_CPU2, 0 )
1700 ROM_LOAD( "joust.snd", 0xf000, 0x1000, CRC(f1835bdd) SHA1(af7c066d2949d36b87ea8c425ca7d12f82b5c653) )
1701 ROM_END
1702
1703
1704 ROM_START( robotron )
1705 ROM_REGION( 0x10000, REGION_CPU1, 0 )
1706 ROM_LOAD( "robotron.sb1", 0x0000, 0x1000, CRC(66c7d3ef) SHA1(f6d60e26c209c1df2cc01ac07ad5559daa1b7118) )
1707 ROM_LOAD( "robotron.sb2", 0x1000, 0x1000, CRC(5bc6c614) SHA1(4d6e82bc29f49100f7751ccfc6a9ff35695b84b3) )
1708 ROM_LOAD( "robotron.sb3", 0x2000, 0x1000, CRC(e99a82be) SHA1(06a8c8dd0b4726eb7f0bb0e89c8533931d75fc1c) )
1709 ROM_LOAD( "robotron.sb4", 0x3000, 0x1000, CRC(afb1c561) SHA1(aaf89c19fd8f4e8750717169eb1af476aef38a5e) )
1710 ROM_LOAD( "robotron.sb5", 0x4000, 0x1000, CRC(62691e77) SHA1(79b4680ce19bd28882ae823f0e7b293af17cbb91) )
1711 ROM_LOAD( "robotron.sb6", 0x5000, 0x1000, CRC(bd2c853d) SHA1(f76ec5432a7939b33a27be1c6855e2dbe6d9fdc8) )
1712 ROM_LOAD( "robotron.sb7", 0x6000, 0x1000, CRC(49ac400c) SHA1(06eae5138254723819a5e93cfd9e9f3285fcddf5) )
1713 ROM_LOAD( "robotron.sb8", 0x7000, 0x1000, CRC(3a96e88c) SHA1(7ae38a609ed9a6f62ca003cab719740ed7651b7c) )
1714 ROM_LOAD( "robotron.sb9", 0x8000, 0x1000, CRC(b124367b) SHA1(fd9d75b866f0ebbb723f84889337e6814496a103) )
1715 ROM_LOAD( "robotron.sba", 0xd000, 0x1000, CRC(13797024) SHA1(d426a50e75dabe936de643c83a548da5e399331c) )
1716 ROM_LOAD( "robotron.sbb", 0xe000, 0x1000, CRC(7e3c1b87) SHA1(f8c6cbe3688f256f41a121255fc08f575f6a4b4f) )
1717 ROM_LOAD( "robotron.sbc", 0xf000, 0x1000, CRC(645d543e) SHA1(fad7cea868ebf17347c4bc5193d647bbd8f9517b) )
1718
1719 ROM_REGION( 0x10000, REGION_CPU2, 0 )
1720 ROM_LOAD( "robotron.snd", 0xf000, 0x1000, CRC(c56c1d28) SHA1(15afefef11bfc3ab78f61ab046701db78d160ec3) )
1721 ROM_END
1722
1723
1724 ROM_START( robotryo )
1725 ROM_REGION( 0x10000, REGION_CPU1, 0 )
1726 ROM_LOAD( "robotron.sb1", 0x0000, 0x1000, CRC(66c7d3ef) SHA1(f6d60e26c209c1df2cc01ac07ad5559daa1b7118) )
1727 ROM_LOAD( "robotron.sb2", 0x1000, 0x1000, CRC(5bc6c614) SHA1(4d6e82bc29f49100f7751ccfc6a9ff35695b84b3) )
1728 ROM_LOAD( "robotron.yo3", 0x2000, 0x1000, CRC(67a369bc) SHA1(5a912d485e686de5e3175d3fc0e5daad36f4b836) )
1729 ROM_LOAD( "robotron.yo4", 0x3000, 0x1000, CRC(b0de677a) SHA1(02013e00513dd74e878a01791cbcca92712e2c80) )
1730 ROM_LOAD( "robotron.yo5", 0x4000, 0x1000, CRC(24726007) SHA1(8b4ed881f64e3ce73ac1a9ae2c184721c1ab37cc) )
1731 ROM_LOAD( "robotron.yo6", 0x5000, 0x1000, CRC(028181a6) SHA1(41c4d9ece2ae8a103b7151fc4ff576796303318d) )
1732 ROM_LOAD( "robotron.yo7", 0x6000, 0x1000, CRC(4dfcceae) SHA1(46fe1b1162d6054eb502852d065fc2e8c694b09d) )
1733 ROM_LOAD( "robotron.sb8", 0x7000, 0x1000, CRC(3a96e88c) SHA1(7ae38a609ed9a6f62ca003cab719740ed7651b7c) )
1734 ROM_LOAD( "robotron.sb9", 0x8000, 0x1000, CRC(b124367b) SHA1(fd9d75b866f0ebbb723f84889337e6814496a103) )
1735 ROM_LOAD( "robotron.yoa", 0xd000, 0x1000, CRC(4a9d5f52) SHA1(d5ae801e60ed829e7ef5c54a18aefca54eae827f) )
1736 ROM_LOAD( "robotron.yob", 0xe000, 0x1000, CRC(2afc5e7f) SHA1(f3405be9ad2287f3921e7dbd9c5313c91fa7f8d6) )
1737 ROM_LOAD( "robotron.yoc", 0xf000, 0x1000, CRC(45da9202) SHA1(81b3b2a72a3c871e8d7b9348056622c90a20d876) )
1738
1739 ROM_REGION( 0x10000, REGION_CPU2, 0 )
1740 ROM_LOAD( "robotron.snd", 0xf000, 0x1000, CRC(c56c1d28) SHA1(15afefef11bfc3ab78f61ab046701db78d160ec3) )
1741 ROM_END
1742
1743
1744 ROM_START( spdball )
1745 ROM_REGION( 0x10000, REGION_CPU1, 0 )
1746 ROM_LOAD( "speedbal.01", 0x0000, 0x1000, CRC(7f4801bb) SHA1(8f22396170571189b1d088d73331d6a713c76f41) )
1747 ROM_LOAD( "speedbal.02", 0x1000, 0x1000, CRC(5cd5e489) SHA1(83c1bce945ecbaa4a59e0023198e574d9069680c) )
1748 ROM_LOAD( "speedbal.03", 0x2000, 0x1000, CRC(280e11a4) SHA1(4ef321e1744955a9a54c1e4b1f88c01c01e7b7c8) )
1749 ROM_LOAD( "speedbal.04", 0x3000, 0x1000, CRC(3469cbbf) SHA1(70b46cf686438441484ffeca0fa1398c15c8811e) )
1750 ROM_LOAD( "speedbal.05", 0x4000, 0x1000, CRC(87373c89) SHA1(a3cd72f4b517d5d727059a7d911b79ced27e9f93) )
1751 ROM_LOAD( "speedbal.06", 0x5000, 0x1000, CRC(48779a0d) SHA1(9cdfc12d1021b5d66acd38ab61f385219be39f4f) )
1752 ROM_LOAD( "speedbal.07", 0x6000, 0x1000, CRC(2e5d8db6) SHA1(7a13d60267ce12a6a4b20322c2ed1f39762bc663) )
1753 ROM_LOAD( "speedbal.08", 0x7000, 0x1000, CRC(c173cedf) SHA1(603c4c7cdc712d54a86b59470651d00b369293d8) )
1754 ROM_LOAD( "speedbal.09", 0x8000, 0x1000, CRC(415f424b) SHA1(f7e59385a67319ba152488762af1b42fc62ab264) )
1755 ROM_LOAD( "speedbal.10", 0xd000, 0x1000, CRC(4a3add93) SHA1(6939dd6cb6751a0406f364223029eff99040f9e2) )
1756 ROM_LOAD( "speedbal.11", 0xe000, 0x1000, CRC(1fbcfaa5) SHA1(fccdebbab172b141bbaec6f520b378d21c72f67a) )
1757 ROM_LOAD( "speedbal.12", 0xf000, 0x1000, CRC(f3458f41) SHA1(366fb880b4dc68849d6ea7a9dab55efa9c566123) )
1758
1759 ROM_REGION( 0x10000, REGION_CPU2, 0 )
1760 ROM_LOAD( "speedbal.snd", 0xf000, 0x1000, CRC(78de20e2) SHA1(ece6e04b1d57167faf7aaee0829e7c31eb560437) )
1761
1762 ROM_REGION( 0x1000, REGION_USER1, ROMREGION_DISPOSE )
1763 ROM_LOAD( "mystery.rom", 0x00000, 0x1000, CRC(dcb6a070) SHA1(6a6fcddf5b46eef187dcf5d9b60e03e9375e7276) )
1764 ROM_END
1765
1766
1767 ROM_START( bubbles )
1768 ROM_REGION( 0x10000, REGION_CPU1, 0 )
1769 ROM_LOAD( "bubbles.1b", 0x0000, 0x1000, CRC(8234f55c) SHA1(4d60942320c03ae50b0b17267062a321cf49e240) )
1770 ROM_LOAD( "bubbles.2b", 0x1000, 0x1000, CRC(4a188d6a) SHA1(2788c4a21659799e59ab82bc8d1864a3abe3b6d7) )
1771 ROM_LOAD( "bubbles.3b", 0x2000, 0x1000, CRC(7728f07f) SHA1(2a2c6dd8c2196dcd5e71b38554a56ee03d2aa454) )
1772 ROM_LOAD( "bubbles.4b", 0x3000, 0x1000, CRC(040be7f9) SHA1(de4d212cd2967b2dcd7b2c09dea2c1b06ce4c5bd) )
1773 ROM_LOAD( "bubbles.5b", 0x4000, 0x1000, CRC(0b5f29e0) SHA1(ae52f8c69c8b821abb458288c8ee0bc6c28fe535) )
1774 ROM_LOAD( "bubbles.6b", 0x5000, 0x1000, CRC(4dd0450d) SHA1(d55aa8fb8f2974ce5ba7155b01bc3e3622f202af) )
1775 ROM_LOAD( "bubbles.7b", 0x6000, 0x1000, CRC(e0a26ec0) SHA1(2da6213df6c15735a8bbd6750cfb1a1b6232a6f5) )
1776 ROM_LOAD( "bubbles.8b", 0x7000, 0x1000, CRC(4fd23d8d) SHA1(9d71caa30bc3f4151789279d21651e5a4fe4a484) )
1777 ROM_LOAD( "bubbles.9b", 0x8000, 0x1000, CRC(b48559fb) SHA1(551a49a12353044dbbf28dba2bd860c2d00c50bd) )
1778 ROM_LOAD( "bubbles.10b", 0xd000, 0x1000, CRC(26e7869b) SHA1(db428e79fc325ae3c8cab460267c27cdbc35a3bd) )
1779 ROM_LOAD( "bubbles.11b", 0xe000, 0x1000, CRC(5a5b572f) SHA1(f0c3a330abf9c8cfb6007ee372409450d2a15a93) )
1780 ROM_LOAD( "bubbles.12b", 0xf000, 0x1000, CRC(ce22d2e2) SHA1(be4b9800c846660ce2b2ddd75ad872dcf174979a) )
1781
1782 ROM_REGION( 0x10000, REGION_CPU2, 0 )
1783 ROM_LOAD( "bubbles.snd", 0xf000, 0x1000, CRC(689ce2aa) SHA1(b70d2553f731f9a20ddaf9af2f93b7e9c44d4d99) )
1784 ROM_END
1785
1786
1787 ROM_START( bubblesr )
1788 ROM_REGION( 0x10000, REGION_CPU1, 0 )
1789 ROM_LOAD( "bubblesr.1b", 0x0000, 0x1000, CRC(dda4e782) SHA1(ad6825ebc05931942ce1042f18e18e3873083abc) )
1790 ROM_LOAD( "bubblesr.2b", 0x1000, 0x1000, CRC(3c8fa7f5) SHA1(fd3db6c2abab7000d586ef1a4e425329da292144) )
1791 ROM_LOAD( "bubblesr.3b", 0x2000, 0x1000, CRC(f869bb9c) SHA1(ce276fc33136a527eefbbf35c2bcf1f0b9858740) )
1792 ROM_LOAD( "bubblesr.4b", 0x3000, 0x1000, CRC(0c65eaab) SHA1(c622906cbda07421a7024955f3b9e8d173f4b6cb) )
1793 ROM_LOAD( "bubblesr.5b", 0x4000, 0x1000, CRC(7ece4e13) SHA1(c6ec7145c2d3bf51877c7fb995d9732b09e04cf0) )
1794 ROM_LOAD( "bubbles.6b", 0x5000, 0x1000, CRC(4dd0450d) SHA1(d55aa8fb8f2974ce5ba7155b01bc3e3622f202af) )
1795 ROM_LOAD( "bubbles.7b", 0x6000, 0x1000, CRC(e0a26ec0) SHA1(2da6213df6c15735a8bbd6750cfb1a1b6232a6f5) )
1796 ROM_LOAD( "bubblesr.8b", 0x7000, 0x1000, CRC(598b9bd6) SHA1(993cc3fac58310d0e617e58e3a0753002b987df1) )
1797 ROM_LOAD( "bubbles.9b", 0x8000, 0x1000, CRC(b48559fb) SHA1(551a49a12353044dbbf28dba2bd860c2d00c50bd) )
1798 ROM_LOAD( "bubblesr.10b", 0xd000, 0x1000, CRC(8b396db0) SHA1(88cab59ce7f07dfa15d1485d12ebab96d777ca65) )
1799 ROM_LOAD( "bubblesr.11b", 0xe000, 0x1000, CRC(096af43e) SHA1(994e60c1e684ae46ea791b274995d21ff5052e56) )
1800 ROM_LOAD( "bubblesr.12b", 0xf000, 0x1000, CRC(5c1244ef) SHA1(25b0f359c28291894381d73f4ba3a2b991a547f0) )
1801
1802 ROM_REGION( 0x10000, REGION_CPU2, 0 )
1803 ROM_LOAD( "bubbles.snd", 0xf000, 0x1000, CRC(689ce2aa) SHA1(b70d2553f731f9a20ddaf9af2f93b7e9c44d4d99) )
1804 ROM_END
1805
1806
1807 ROM_START( bubblesp )
1808 ROM_REGION( 0x10000, REGION_CPU1, 0 )
1809 ROM_LOAD( "bub_prot.1b", 0x0000, 0x1000, CRC(6466a746) SHA1(ed67d879d82ef05bcd2b655f761f84bc0cf08897) )
1810 ROM_LOAD( "bub_prot.2b", 0x1000, 0x1000, CRC(cca04357) SHA1(98f879675c02e7ad5532da30f663714913a059b9) )
1811 ROM_LOAD( "bub_prot.3b", 0x2000, 0x1000, CRC(7aaff9e5) SHA1(8b377ec5c595a4e062bdc8fb8ca99b52a6bd9298) )
1812 ROM_LOAD( "bub_prot.4b", 0x3000, 0x1000, CRC(4e264f01) SHA1(a6fd2d0613f78c45b3873e06efa2dd99530ed0c8) )
1813 ROM_LOAD( "bub_prot.5b", 0x4000, 0x1000, CRC(121b0be6) SHA1(75ed718b9e83c32390ee0fe2c34e0300ecd98a85) )
1814 ROM_LOAD( "bub_prot.6b", 0x5000, 0x1000, CRC(80e90b25) SHA1(92c83b4333f4f0f65638b1827ace01b02c490339) )
1815 ROM_LOAD( "bubbles.7b", 0x6000, 0x1000, CRC(e0a26ec0) SHA1(2da6213df6c15735a8bbd6750cfb1a1b6232a6f5) )
1816 ROM_LOAD( "bub_prot.8b", 0x7000, 0x1000, CRC(96fb19c8) SHA1(3b1720e5efe2adc1f633216419bdf00c7e7b817d) )
1817 ROM_LOAD( "bub_prot.9b", 0x8000, 0x1000, CRC(be7e1028) SHA1(430b33c8d83ee6756a3ef9298792b71066c88326) )
1818 ROM_LOAD( "bub_prot.10b", 0xd000, 0x1000, CRC(89a565df) SHA1(1f02c17222f7303218962fada6c6f867414551cf) )
1819 ROM_LOAD( "bub_prot.11b", 0xe000, 0x1000, CRC(5a0c36a7) SHA1(2b9dd9006e57ff8214ad4e6b10a4b72e736d472c) )
1820 ROM_LOAD( "bub_prot.12b", 0xf000, 0x1000, CRC(2bfd3438) SHA1(2427a5614e98a9499e4d19f9d6e25f2b73896bf5) )
1821
1822 ROM_REGION( 0x10000, REGION_CPU2, 0 )
1823 ROM_LOAD( "bubbles.snd", 0xf000, 0x1000, CRC(689ce2aa) SHA1(b70d2553f731f9a20ddaf9af2f93b7e9c44d4d99) )
1824 ROM_END
1825
1826
1827 ROM_START( splat )
1828 ROM_REGION( 0x10000, REGION_CPU1, 0 )
1829 ROM_LOAD( "splat.01", 0x0000, 0x1000, CRC(1cf26e48) SHA1(6ba4de6cc7d1359ed450da7bae1000552373f873) )
1830 ROM_LOAD( "splat.02", 0x1000, 0x1000, CRC(ac0d4276) SHA1(710aba98909d5d63c4b9b08579021f9c026b3111) )
1831 ROM_LOAD( "splat.03", 0x2000, 0x1000, CRC(74873e59) SHA1(727c9da682fd10353f3969ef02e9f1826d8cb77a) )
1832 ROM_LOAD( "splat.04", 0x3000, 0x1000, CRC(70a7064e) SHA1(7e6440585462b68b62d6d571d83635bf17149f1a) )
1833 ROM_LOAD( "splat.05", 0x4000, 0x1000, CRC(c6895221) SHA1(6f88ba8ac72d9301760d6e2512549f70b5373c65) )
1834 ROM_LOAD( "splat.06", 0x5000, 0x1000, CRC(ea4ab7fd) SHA1(288a361691a7f147ff3346627a10531d613ad017) )
1835 ROM_LOAD( "splat.07", 0x6000, 0x1000, CRC(82fd8713) SHA1(c4d42b111a0357700ac2bf700117d75ffb3c5be5) )
1836 ROM_LOAD( "splat.08", 0x7000, 0x1000, CRC(7dded1b4) SHA1(73df546dd60870f63a8c3deffea2b2d13149a48b) )
1837 ROM_LOAD( "splat.09", 0x8000, 0x1000, CRC(71cbfe5a) SHA1(bf22bedeceffdccc340637098070b32e9c13cf68) )
1838 ROM_LOAD( "splat.10", 0xd000, 0x1000, CRC(d1a1f632) SHA1(de4f5ba2b92c47757dfd2ca810bf8f87338223f7) )
1839 ROM_LOAD( "splat.11", 0xe000, 0x1000, CRC(ca8cde95) SHA1(8e12f6d9eaf397646691ec5d02963b32973cb32e) )
1840 ROM_LOAD( "splat.12", 0xf000, 0x1000, CRC(5bee3e60) SHA1(b4ee99fb6c353093faf1e088bab82fec66e785bc) )
1841
1842 ROM_REGION( 0x10000, REGION_CPU2, 0 )
1843 ROM_LOAD( "splat.snd", 0xf000, 0x1000, CRC(a878d5f3) SHA1(f3347a354cb54ca228fe0971f0ae3bc778e2aecf) )
1844 ROM_END
1845
1846
1847 ROM_START( sinistar )
1848 ROM_REGION( 0x10000, REGION_CPU1, 0 )
1849 ROM_LOAD( "sinistar.01", 0x0000, 0x1000, CRC(f6f3a22c) SHA1(026d8cab07734fa294a5645edbe65a904bcbc302) )
1850 ROM_LOAD( "sinistar.02", 0x1000, 0x1000, CRC(cab3185c) SHA1(423d1e3b0c07333ec582529bc4d0b7baf591820a) )
1851 ROM_LOAD( "sinistar.03", 0x2000, 0x1000, CRC(1ce1b3cc) SHA1(5bc03d7249529d827dc60c087e074ab3e4ea7361) )
1852 ROM_LOAD( "sinistar.04", 0x3000, 0x1000, CRC(6da632ba) SHA1(72c0c3d5a5ca87ca4d95fcedaf834206e4633950) )
1853 ROM_LOAD( "sinistar.05", 0x4000, 0x1000, CRC(b662e8fc) SHA1(828a89d2ea13d8a362dae708f86bff54cb231887) )
1854 ROM_LOAD( "sinistar.06", 0x5000, 0x1000, CRC(2306183d) SHA1(703e29e6446856615760a4897c0f5d79cc7bdfb2) )
1855 ROM_LOAD( "sinistar.07", 0x6000, 0x1000, CRC(e5dd918e) SHA1(bf4e2ada6a59d246218544d822ba5355da925924) )
1856 ROM_LOAD( "sinistar.08", 0x7000, 0x1000, CRC(4785a787) SHA1(8c7eca656b2c23b0da41a8c7ce51a2735cab85a4) )
1857 ROM_LOAD( "sinistar.09", 0x8000, 0x1000, CRC(50cb63ad) SHA1(96e28e4fef98fff2649741a266fa590e0313e3b0) )
1858 ROM_LOAD( "sinistar.10", 0xe000, 0x1000, CRC(3d670417) SHA1(81802622bee8dbea5c0f08019d87d941dcdbe292) )
1859 ROM_LOAD( "sinistar.11", 0xf000, 0x1000, CRC(3162bc50) SHA1(2f38e572ab9c731e38dfe9bad3cc8222a775c5ea) )
1860
1861 ROM_REGION( 0x10000, REGION_CPU2, 0 )
1862 ROM_LOAD( "speech.ic7", 0xb000, 0x1000, CRC(e1019568) SHA1(442f4f3ccd2e1db2136d2ffb121ea442921f87ca) )
1863 ROM_LOAD( "speech.ic5", 0xc000, 0x1000, CRC(cf3b5ffd) SHA1(d5d51c550581c9d46ab331dd4fd32541a2ef598e) )
1864 ROM_LOAD( "speech.ic6", 0xd000, 0x1000, CRC(ff8d2645) SHA1(16fa2a602acbbc182dd96bab113ab18356f3daf0) )
1865 ROM_LOAD( "speech.ic4", 0xe000, 0x1000, CRC(4b56a626) SHA1(44430cd5c110ec751b0bfb8ae99b26d443350db1) )
1866 ROM_LOAD( "sinistar.snd", 0xf000, 0x1000, CRC(b82f4ddb) SHA1(c70c7dd6e88897920d7709a260f27810f66aade1) )
1867 ROM_END
1868
1869
1870 ROM_START( sinista1 )
1871 ROM_REGION( 0x10000, REGION_CPU1, 0 )
1872 ROM_LOAD( "sinrev1.01", 0x0000, 0x1000, CRC(3810d7b8) SHA1(dcd690cbc958a2f97f022765315d77fb7c7d8e8b) )
1873 ROM_LOAD( "sinistar.02", 0x1000, 0x1000, CRC(cab3185c) SHA1(423d1e3b0c07333ec582529bc4d0b7baf591820a) )
1874 ROM_LOAD( "sinrev1.03", 0x2000, 0x1000, CRC(7c984ca9) SHA1(b32b7d15194051db5d29acf95b049e2eccf6d393) )
1875 ROM_LOAD( "sinrev1.04", 0x3000, 0x1000, CRC(cc6c4f24) SHA1(b4375544e02a19458c6fcc85edb31025c0b8eb71) )
1876 ROM_LOAD( "sinrev1.05", 0x4000, 0x1000, CRC(12285bfe) SHA1(6d433103332ddda2f2af23febc0b15aa93db1f31) )
1877 ROM_LOAD( "sinrev1.06", 0x5000, 0x1000, CRC(7a675f35) SHA1(3a7e9fdb2aef52dc29d33799694737038802b6e0) )
1878 ROM_LOAD( "sinrev1.07", 0x6000, 0x1000, CRC(b0463243) SHA1(95d597856a1942bd176f5f62db0d691f8f2f2932) )
1879 ROM_LOAD( "sinrev1.08", 0x7000, 0x1000, CRC(909040d4) SHA1(5361cc378bdace0799227e901341747dce9bb029) )
1880 ROM_LOAD( "sinrev1.09", 0x8000, 0x1000, CRC(cc949810) SHA1(2d2d1cccd7e43b63e424c34ab5215a412e2b9809) )
1881 ROM_LOAD( "sinrev1.10", 0xe000, 0x1000, CRC(ea87a53f) SHA1(4e4bad5315a8f5740c926ee5681879919a5be37f) )
1882 ROM_LOAD( "sinrev1.11", 0xf000, 0x1000, CRC(88d36e80) SHA1(bb9adaf5b73f9874e52dc2f5fd35e22f8b4fc258) )
1883
1884 ROM_REGION( 0x10000, REGION_CPU2, 0 )
1885 ROM_LOAD( "speech.ic7", 0xb000, 0x1000, CRC(e1019568) SHA1(442f4f3ccd2e1db2136d2ffb121ea442921f87ca) )
1886 ROM_LOAD( "speech.ic5", 0xc000, 0x1000, CRC(cf3b5ffd) SHA1(d5d51c550581c9d46ab331dd4fd32541a2ef598e) )
1887 ROM_LOAD( "speech.ic6", 0xd000, 0x1000, CRC(ff8d2645) SHA1(16fa2a602acbbc182dd96bab113ab18356f3daf0) )
1888 ROM_LOAD( "speech.ic4", 0xe000, 0x1000, CRC(4b56a626) SHA1(44430cd5c110ec751b0bfb8ae99b26d443350db1) )
1889 ROM_LOAD( "sinistar.snd", 0xf000, 0x1000, CRC(b82f4ddb) SHA1(c70c7dd6e88897920d7709a260f27810f66aade1) )
1890 ROM_END
1891
1892
1893 ROM_START( sinista2 )
1894 ROM_REGION( 0x10000, REGION_CPU1, 0 )
1895 ROM_LOAD( "sinistar.01", 0x0000, 0x1000, CRC(f6f3a22c) SHA1(026d8cab07734fa294a5645edbe65a904bcbc302) )
1896 ROM_LOAD( "sinistar.02", 0x1000, 0x1000, CRC(cab3185c) SHA1(423d1e3b0c07333ec582529bc4d0b7baf591820a) )
1897 ROM_LOAD( "sinistar.03", 0x2000, 0x1000, CRC(1ce1b3cc) SHA1(5bc03d7249529d827dc60c087e074ab3e4ea7361) )
1898 ROM_LOAD( "sinistar.04", 0x3000, 0x1000, CRC(6da632ba) SHA1(72c0c3d5a5ca87ca4d95fcedaf834206e4633950) )
1899 ROM_LOAD( "sinistar.05", 0x4000, 0x1000, CRC(b662e8fc) SHA1(828a89d2ea13d8a362dae708f86bff54cb231887) )
1900 ROM_LOAD( "sinistar.06", 0x5000, 0x1000, CRC(2306183d) SHA1(703e29e6446856615760a4897c0f5d79cc7bdfb2) )
1901 ROM_LOAD( "sinistar.07", 0x6000, 0x1000, CRC(e5dd918e) SHA1(bf4e2ada6a59d246218544d822ba5355da925924) )
1902 ROM_LOAD( "sinrev2.08", 0x7000, 0x1000, CRC(d7ecee45) SHA1(f9552035409bce0a36ed93a677b28f8cd361f8f1) )
1903 ROM_LOAD( "sinistar.09", 0x8000, 0x1000, CRC(50cb63ad) SHA1(96e28e4fef98fff2649741a266fa590e0313e3b0) )
1904 ROM_LOAD( "sinistar.10", 0xe000, 0x1000, CRC(3d670417) SHA1(81802622bee8dbea5c0f08019d87d941dcdbe292) )
1905 ROM_LOAD( "sinrev2.11", 0xf000, 0x1000, CRC(792c8b00) SHA1(1f847ca8a67595927c36d69cead02813c2431c7b) )
1906
1907 ROM_REGION( 0x10000, REGION_CPU2, 0 )
1908 ROM_LOAD( "speech.ic7", 0xb000, 0x1000, CRC(e1019568) SHA1(442f4f3ccd2e1db2136d2ffb121ea442921f87ca) )
1909 ROM_LOAD( "speech.ic5", 0xc000, 0x1000, CRC(cf3b5ffd) SHA1(d5d51c550581c9d46ab331dd4fd32541a2ef598e) )
1910 ROM_LOAD( "speech.ic6", 0xd000, 0x1000, CRC(ff8d2645) SHA1(16fa2a602acbbc182dd96bab113ab18356f3daf0) )
1911 ROM_LOAD( "speech.ic4", 0xe000, 0x1000, CRC(4b56a626) SHA1(44430cd5c110ec751b0bfb8ae99b26d443350db1) )
1912 ROM_LOAD( "sinistar.snd", 0xf000, 0x1000, CRC(b82f4ddb) SHA1(c70c7dd6e88897920d7709a260f27810f66aade1) )
1913 ROM_END
1914
1915
1916 ROM_START( playball )
1917 ROM_REGION( 0x10000, REGION_CPU1, 0 )
1918 ROM_LOAD( "playball.01", 0x0000, 0x1000, CRC(7ba8fd71) SHA1(9b77996238c67aead8c2cfc7f964f8cf9c6182eb) )
1919 ROM_LOAD( "playball.02", 0x1000, 0x1000, CRC(2387c3d4) SHA1(19d9da6af317595d0f3336e886154e0b8467cb3e) )
1920 ROM_LOAD( "playball.03", 0x2000, 0x1000, CRC(d34cc5fd) SHA1(d1f6d321c1a6a04a06813c77a3e079836a05956c) )
1921 ROM_LOAD( "playball.04", 0x3000, 0x1000, CRC(f68c3a8e) SHA1(f9cc7250254b9adceff883d3f6ee01c475d859ec) )
1922 ROM_LOAD( "playball.05", 0x4000, 0x1000, CRC(a3f20810) SHA1(678d2a5a06263cc5f74f4cb92287cf4d7a8b934f) )
1923 ROM_LOAD( "playball.06", 0x5000, 0x1000, CRC(f213e48e) SHA1(05b54f5121a887bc24fbe30f322277ae94474c14) )
1924 ROM_LOAD( "playball.07", 0x6000, 0x1000, CRC(9b5574e9) SHA1(1dddd33cd3f13694d7ba6a73e5090594c6677d5b) )
1925 ROM_LOAD( "playball.08", 0x7000, 0x1000, CRC(b2d2074a) SHA1(2defb2ffaca782606f792020f9c96d41abd77518) )
1926 ROM_LOAD( "playball.09", 0x8000, 0x1000, CRC(c4566d0f) SHA1(7848ea87d2d1693ade9129846024fbedc4145cbb) )
1927 ROM_LOAD( "playball.10", 0xd000, 0x1000, CRC(18787b52) SHA1(621754c1eab68de12763616b7bf01948cdce0221) )
1928 ROM_LOAD( "playball.11", 0xe000, 0x1000, CRC(1dd5c8f2) SHA1(17d0380ea05d9ddd17576691d0e5179ae7a71200) )
1929 ROM_LOAD( "playball.12", 0xf000, 0x1000, CRC(a700597b) SHA1(5ba07409ae9315b9ee65530f61155c394bfc69ad) )
1930
1931 ROM_REGION( 0x10000, REGION_CPU2, 0 )
1932 ROM_LOAD( "speech.ic4", 0xb000, 0x1000, CRC(7e4fc798) SHA1(4636ab25238503370063f51f86f37d0e49c0d3b6) )
1933 ROM_LOAD( "speech.ic5", 0xc000, 0x1000, CRC(ddfe860c) SHA1(f847a0a6438af5dc646b7abe994530e6d1cbb803) )
1934 ROM_LOAD( "speech.ic6", 0xd000, 0x1000, CRC(8bfebf87) SHA1(d6829f78e1a2aee85673a42f7f6b78679847b616) )
1935 ROM_LOAD( "speech.ic7", 0xe000, 0x1000, CRC(db351db6) SHA1(94d807df61b5015f5fa78a500e2a58277db95c1f) )
1936 ROM_LOAD( "playball.snd", 0xf000, 0x1000, CRC(f3076f9f) SHA1(436fb1a6456535cd27f85c941ff79c0465b71555) )
1937 ROM_END
1938
1939
1940 ROM_START( lottofun )
1941 ROM_REGION( 0x10000, REGION_CPU1, 0 )
1942 ROM_LOAD( "vl4e.dat", 0x0000, 0x1000, CRC(5e9af236) SHA1(6f26c9be6da6f1195a4569f003a010d3f2e0c24d) )
1943 ROM_LOAD( "vl4c.dat", 0x1000, 0x1000, CRC(4b134ae2) SHA1(86756e1d8de113571857818a98d347789c003339) )
1944 ROM_LOAD( "vl4a.dat", 0x2000, 0x1000, CRC(b2f1f95a) SHA1(89166cdf4aff5e5a8cc4ea6ba589ce095de82f57) )
1945 ROM_LOAD( "vl5e.dat", 0x3000, 0x1000, CRC(c8681c55) SHA1(ac63e53a958f63bd0a05f36303c1aa777aee799d) )
1946 ROM_LOAD( "vl5c.dat", 0x4000, 0x1000, CRC(eb9351e0) SHA1(c66477ca0b3ed95708eb478fb992833beda1a4f8) )
1947 ROM_LOAD( "vl5a.dat", 0x5000, 0x1000, CRC(534f2fa1) SHA1(c034aa037ef6bc7cd2ed85da7531fd8efb7083e4) )
1948 ROM_LOAD( "vl6e.dat", 0x6000, 0x1000, CRC(befac592) SHA1(548cb1f0bc178eeada144c443545f7545c90b6a6) )
1949 ROM_LOAD( "vl6c.dat", 0x7000, 0x1000, CRC(a73d7f13) SHA1(833ff14c33635b61e1bd45b2878a4f6c9e18bf82) )
1950 ROM_LOAD( "vl6a.dat", 0x8000, 0x1000, CRC(5730a43d) SHA1(8acadf105dc373bf2b3087ccc1667b872452c913) )
1951 ROM_LOAD( "vl7a.dat", 0xd000, 0x1000, CRC(fb2aec2c) SHA1(73dc6a6dfe9ba51e3612b6d912bd7af1d5782296) )
1952 ROM_LOAD( "vl7c.dat", 0xe000, 0x1000, CRC(9a496519) SHA1(ae98dadcb63a33c796a3e3083d4b5bc957873cbc) )
1953 ROM_LOAD( "vl7e.dat", 0xf000, 0x1000, CRC(032cab4b) SHA1(87bdd0fd58b12e39efaadcf6e82744886a9292e9) )
1954
1955 ROM_REGION( 0x10000, REGION_CPU2, 0 )
1956 ROM_LOAD( "vl2532.snd", 0xf000, 0x1000, CRC(214b8a04) SHA1(45f06b44a605cca6b293b20cfea4763b469254b8) )
1957 ROM_END
1958
1959
1960 ROM_START( blaster )
1961 ROM_REGION( 0x3c000, REGION_CPU1, 0 )
1962 ROM_LOAD( "blaster.11", 0x04000, 0x2000, CRC(6371e62f) SHA1(dc4173d2ee88757a6ac0838acaee325eadc2c4fb) )
1963 ROM_LOAD( "blaster.12", 0x06000, 0x2000, CRC(9804faac) SHA1(e61218fe190ad268af48d611d140d8f4cd38e4c7) )
1964 ROM_LOAD( "blaster.17", 0x08000, 0x1000, CRC(bf96182f) SHA1(e25a02508eecf79ea1ae5d45278a60becc6c7dcc) )
1965 ROM_LOAD( "blaster.16", 0x0d000, 0x1000, CRC(54a40b21) SHA1(663c7b539e6f1f065a4ecae7bb0477c71951223f) )
1966 ROM_LOAD( "blaster.13", 0x0e000, 0x2000, CRC(f4dae4c8) SHA1(211dcbe085a30419d649afe10ca7c4017d909bd7) )
1967
1968 ROM_LOAD( "blaster.15", 0x00000, 0x4000, CRC(1ad146a4) SHA1(5ab3d9618023b59bc329a9eeef986901867a639b) )
1969 ROM_LOAD( "blaster.8", 0x10000, 0x4000, CRC(f110bbb0) SHA1(314dea232a3706509399348c7415f933c64cea1b) )
1970 ROM_LOAD( "blaster.9", 0x14000, 0x4000, CRC(5c5b0f8a) SHA1(224f89c85b2b1ca511d006180b8d994fccbdfb6b) )
1971 ROM_LOAD( "blaster.10", 0x18000, 0x4000, CRC(d47eb67f) SHA1(5dcde8be1a7b1927b90ffab3219dc47c5b2f20e4) )
1972 ROM_LOAD( "blaster.6", 0x1c000, 0x4000, CRC(47fc007e) SHA1(3a80b9b7ae460e9732f7c1cdd465a5b06ded970f) )
1973 ROM_LOAD( "blaster.5", 0x20000, 0x4000, CRC(15c1b94d) SHA1(5d97628541eb8933870c3ffd3646b7aaf8af6af5) )
1974 ROM_LOAD( "blaster.14", 0x24000, 0x4000, CRC(aea6b846) SHA1(04cb4b5eb000471a0cec377a5236ac8c83529528) )
1975 ROM_LOAD( "blaster.7", 0x28000, 0x4000, CRC(7a101181) SHA1(5f1581911ea7fe3e63ce1b9c50b1d3bf081dbf81) )
1976 ROM_LOAD( "blaster.1", 0x2c000, 0x4000, CRC(8d0ea9e7) SHA1(34f8e2e99748bed29285f7e4929bb920960ab03e) )
1977 ROM_LOAD( "blaster.2", 0x30000, 0x4000, CRC(03c4012c) SHA1(53f0adc91e5f1ac58b08b3a6d2de8de5a40bebab) )
1978 ROM_LOAD( "blaster.4", 0x34000, 0x4000, CRC(fc9d39fb) SHA1(126d43a64471bbf4b40aeda8913d50e82d254f9c) )
1979 ROM_LOAD( "blaster.3", 0x38000, 0x4000, CRC(253690fb) SHA1(06cb2ef95bb06b3618392e298aa690e1f75bc977) )
1980
1981 ROM_REGION( 0x10000, REGION_CPU2, 0 )
1982 ROM_LOAD( "blaster.18", 0xf000, 0x1000, CRC(c33a3145) SHA1(6ffe2da7b70c0b576fbc1790a33eecdbb9ee3d02) )
1983
1984 ROM_REGION( 0x0800, REGION_PROMS, 0 ) /* color PROM data */
1985 ROM_LOAD( "blaster.col", 0x0000, 0x0800, CRC(bac50bc4) SHA1(80a48eb97c6f02703210d00498f9669c36e64326) )
1986 ROM_END
1987
1988
1989 ROM_START( blastkit )
1990 ROM_REGION( 0x3c000, REGION_CPU1, 0 )
1991 ROM_LOAD( "blastkit.11", 0x04000, 0x2000, CRC(b7df4914) SHA1(81f7a89dfde06c160f2c8974eec701f2298ec434) )
1992 ROM_LOAD( "blastkit.12", 0x06000, 0x2000, CRC(8b1e26ab) SHA1(7d30800a9302f5a83792499d8df536693d01f75d) )
1993 ROM_LOAD( "blastkit.17", 0x08000, 0x1000, CRC(577d1e9a) SHA1(0064124a65490e0473dfb0081ec28b7ee43a04b5) )
1994 ROM_LOAD( "blastkit.16", 0x0d000, 0x1000, CRC(414b2abf) SHA1(2bde972d225d6e93e44751f542cee584d57f7983) )
1995 ROM_LOAD( "blastkit.13", 0x0e000, 0x2000, CRC(9c64db76) SHA1(c14508cb2f964af93631779db3adaa960fcc7559) )
1996
1997 ROM_LOAD( "blaster.15", 0x00000, 0x4000, CRC(1ad146a4) SHA1(5ab3d9618023b59bc329a9eeef986901867a639b) )
1998 ROM_LOAD( "blaster.8", 0x10000, 0x4000, CRC(f110bbb0) SHA1(314dea232a3706509399348c7415f933c64cea1b) )
1999 ROM_LOAD( "blaster.9", 0x14000, 0x4000, CRC(5c5b0f8a) SHA1(224f89c85b2b1ca511d006180b8d994fccbdfb6b) )
2000 ROM_LOAD( "blaster.10", 0x18000, 0x4000, CRC(d47eb67f) SHA1(5dcde8be1a7b1927b90ffab3219dc47c5b2f20e4) )
2001 ROM_LOAD( "blaster.6", 0x1c000, 0x4000, CRC(47fc007e) SHA1(3a80b9b7ae460e9732f7c1cdd465a5b06ded970f) )
2002 ROM_LOAD( "blaster.5", 0x20000, 0x4000, CRC(15c1b94d) SHA1(5d97628541eb8933870c3ffd3646b7aaf8af6af5) )
2003 ROM_LOAD( "blaster.14", 0x24000, 0x4000, CRC(aea6b846) SHA1(04cb4b5eb000471a0cec377a5236ac8c83529528) )
2004 ROM_LOAD( "blastkit.7", 0x28000, 0x4000, CRC(6fcc2153) SHA1(00e7b6846c15400315d94e2c7d1c99b1a737c285) )
2005 ROM_LOAD( "blaster.1", 0x2c000, 0x4000, CRC(8d0ea9e7) SHA1(34f8e2e99748bed29285f7e4929bb920960ab03e) )
2006 ROM_LOAD( "blaster.2", 0x30000, 0x4000, CRC(03c4012c) SHA1(53f0adc91e5f1ac58b08b3a6d2de8de5a40bebab) )
2007 ROM_LOAD( "blastkit.4", 0x34000, 0x4000, CRC(f80e9ff5) SHA1(e232d96b6e07c7b4240fa4dd2cb9be4745a1be4b) )
2008 ROM_LOAD( "blastkit.3", 0x38000, 0x4000, CRC(20e851f9) SHA1(efc288ef0333812a6282f22aade8e43e9a827533) )
2009
2010 ROM_REGION( 0x10000, REGION_CPU2, 0 )
2011 ROM_LOAD( "blaster.18", 0xf000, 0x1000, CRC(c33a3145) SHA1(6ffe2da7b70c0b576fbc1790a33eecdbb9ee3d02) )
2012
2013 ROM_REGION( 0x0800, REGION_PROMS, 0 ) /* color PROM data */
2014 ROM_LOAD( "blaster.col", 0x0000, 0x0800, CRC(bac50bc4) SHA1(80a48eb97c6f02703210d00498f9669c36e64326) )
2015 ROM_END
2016
2017
2018 ROM_START( tshoot )
2019 ROM_REGION( 0x48000, REGION_CPU1, 0 )
2020 ROM_LOAD( "rom18.cpu", 0x0d000, 0x1000, CRC(effc33f1) SHA1(cd1b16b4a4a46ce9d550d10b465b8cf1ab3c5273) ) /* IC55 */
2021 ROM_LOAD( "rom2.cpu", 0x0e000, 0x1000, CRC(fd982687) SHA1(70be1ea57ea0a1e75b1bd988492a9c0244e8b91f) ) /* IC9 */
2022 ROM_LOAD( "rom3.cpu", 0x0f000, 0x1000, CRC(9617054d) SHA1(8795b97a6391aa3804f68dc2d2b33866dc17f34c) ) /* IC10 */
2023
2024 ROM_LOAD( "rom11.cpu", 0x10000, 0x2000, CRC(60d5fab8) SHA1(fe75e46dedb7ca153470d6a39cea0a721e5b7b39) ) /* IC18 */
2025 ROM_LOAD( "rom9.cpu", 0x12000, 0x2000, CRC(a4dd4a0e) SHA1(bb2f38c5ef2f3398b6ba605ffa0c30c89387bf14) ) /* IC16 */
2026 ROM_LOAD( "rom7.cpu", 0x14000, 0x2000, CRC(f25505e6) SHA1(d075ff89b6379ad7a47d9723ed1c21468b9d1dae) ) /* IC14 */
2027 ROM_LOAD( "rom5.cpu", 0x16000, 0x2000, CRC(94a7c0ed) SHA1(11f46e1ca7d79b4244ea0f60e0fba44186f1ebde) ) /* IC12 */
2028
2029 ROM_LOAD( "rom17.cpu", 0x20000, 0x2000, CRC(b02d1ccd) SHA1(b08b6d9affb6f3e50a11fd9397fe4255927de3b6) ) /* IC26 */
2030 ROM_LOAD( "rom15.cpu", 0x22000, 0x2000, CRC(11709935) SHA1(ae25bbadbbcab9f3cba2bb4bb92d5217705b38e3) ) /* IC24 */
2031
2032 ROM_LOAD( "rom10.cpu", 0x30000, 0x2000, CRC(0f32bad8) SHA1(7a2f559697d252ceec3a2f55fe51bc755e4bb65a) ) /* IC17 */
2033 ROM_LOAD( "rom8.cpu", 0x32000, 0x2000, CRC(e9b6cbf7) SHA1(6cd6b1e1c5e8e253e779afff8ad1ff90d6116fc9) ) /* IC15 */
2034 ROM_LOAD( "rom6.cpu", 0x34000, 0x2000, CRC(a49f617f) SHA1(759d25e33a09204664880329b86724805a1fe0e8) ) /* IC13 */
2035 ROM_LOAD( "rom4.cpu", 0x36000, 0x2000, CRC(b026dc00) SHA1(8a068997aa19e152d64db47528893046d338389c) ) /* IC11 */
2036
2037 ROM_LOAD( "rom16.cpu", 0x40000, 0x2000, CRC(69ce38f8) SHA1(a2cd678e71bfa5e6a3594d8699660c7fa8b52001) ) /* IC25 */
2038 ROM_LOAD( "rom14.cpu", 0x42000, 0x2000, CRC(769a4ae5) SHA1(1cdfae2d889848d69f68f990714d027cfbca1853) ) /* IC23 */
2039 ROM_LOAD( "rom13.cpu", 0x44000, 0x2000, CRC(ec016c9b) SHA1(f2e40abd14b8b4944b792dd453ebe92eb64355ae) ) /* IC21 */
2040 ROM_LOAD( "rom12.cpu", 0x46000, 0x2000, CRC(98ae7afa) SHA1(6a904408419f576352bd2f895727fd17c0541ff8) ) /* IC19 */
2041
2042 /* sound CPU */
2043 ROM_REGION( 0x10000, REGION_CPU2, 0 )
2044 ROM_LOAD( "rom1.cpu", 0xe000, 0x2000, CRC(011a94a7) SHA1(9f54a742a87ba56b9517e33e556f57dce6eb2eab) ) /* IC8 */
2045
2046 ROM_REGION( 0xc000, REGION_GFX1, ROMREGION_DISPOSE )
2047 ROM_LOAD( "rom20.cpu", 0x00000, 0x2000, CRC(c6e1d253) SHA1(c408a29f75ba2958e229996f903400b3d95e3bd3) ) /* IC57 */
2048 ROM_LOAD( "rom21.cpu", 0x04000, 0x2000, CRC(9874e90f) SHA1(85282823cc862341adf9642d2d5d05972da6dff0) ) /* IC58 */
2049 ROM_LOAD( "rom19.cpu", 0x08000, 0x2000, CRC(b9ce4d2a) SHA1(af5332f340d3c3ae02e77923d6e8f0dd92547728) ) /* IC41 */
2050 ROM_END
2051
2052
2053 ROM_START( mysticm )
2054 ROM_REGION( 0x48000, REGION_CPU1, 0 )
2055 ROM_LOAD( "mm02_2.a09", 0x0e000, 0x1000, CRC(3a776ea8) SHA1(1fef5f5cef5e10606c97ac9c365f000a88d51314) ) /* IC9 */
2056 ROM_LOAD( "mm03_2.a10", 0x0f000, 0x1000, CRC(6e247c75) SHA1(4daf5206d29b887cd1a78528fac4b0cd8ec7f39b) ) /* IC10 */
2057
2058 ROM_LOAD( "mm11_1.a18", 0x10000, 0x2000, CRC(f537968e) SHA1(2660a480d0bba5fe25885453115ef1015f8bdea9) ) /* IC18 */
2059 ROM_LOAD( "mm09_1.a16", 0x12000, 0x2000, CRC(3bd12f6c) SHA1(7925a92c486c994e8f34c8ed52bf81a34cf44f68) ) /* IC16 */
2060 ROM_LOAD( "mm07_1.a14", 0x14000, 0x2000, CRC(ea2a2a68) SHA1(71855c874cd5032f47fafc67e2d1667f956cd9b5) ) /* IC14 */
2061 ROM_LOAD( "mm05_1.a12", 0x16000, 0x2000, CRC(b514eef3) SHA1(0f9309768c416dd98e9c02121cc750993a2923ea) ) /* IC12 */
2062
2063 ROM_LOAD( "mm18_1.a26", 0x20000, 0x2000, CRC(9b391a81) SHA1(b3f34e5d468fe4a4de2d4e771e2fa08de6596f26) ) /* IC26 */
2064 ROM_LOAD( "mm16_1.a24", 0x22000, 0x2000, CRC(399e175d) SHA1(e17301e4159e5a6d83c3ca62c93eb70f34b948df) ) /* IC24 */
2065 ROM_LOAD( "mm14_1.a22", 0x24000, 0x2000, CRC(191153b1) SHA1(fcd8aa6ad6506ba51a01f777f6a3b94e9c051b1c) ) /* IC22 */
2066
2067 ROM_LOAD( "mm10_1.a17", 0x30000, 0x2000, CRC(d6a37509) SHA1(4b1f52954ca208ccc040c017873777fbf7fbd1f2) ) /* IC17 */
2068 ROM_LOAD( "mm08_1.a15", 0x32000, 0x2000, CRC(6f1a64f2) SHA1(4183b658b257d7fe35e1d7271f76d3358df5a7a2) ) /* IC15 */
2069 ROM_LOAD( "mm06_1.a13", 0x34000, 0x2000, CRC(2e6795d4) SHA1(8b074f6a7a4b5a9705de498684180815581faea2) ) /* IC13 */
2070 ROM_LOAD( "mm04_1.a11", 0x36000, 0x2000, CRC(c222fb64) SHA1(b4c51d2b1664ef3267df1dee9e4888acf847c286) ) /* IC11 */
2071
2072 ROM_LOAD( "mm17_1.a25", 0x40000, 0x2000, CRC(d36f0a96) SHA1(9830955ca7e46b5b0dba98b4d2ea325bbbebe3c7) ) /* IC25 */
2073 ROM_LOAD( "mm15_1.a23", 0x42000, 0x2000, CRC(cd5d99da) SHA1(41a37903503c14fb9c801c51afa2f97c83b79f8b) ) /* IC23 */
2074 ROM_LOAD( "mm13_1.a21", 0x44000, 0x2000, CRC(ef4b79db) SHA1(346057cb8c4593df44fb36771553e60610fe1a0c) ) /* IC21 */
2075 ROM_LOAD( "mm12_1.a19", 0x46000, 0x2000, CRC(a1f04bf0) SHA1(389bdb7c9e395af9275abfb20c3ab51bc12dc4db) ) /* IC19 */
2076
2077 /* sound CPU */
2078 ROM_REGION( 0x10000, REGION_CPU2, 0 )
2079 ROM_LOAD( "mm01_1.a08", 0x0e000, 0x2000, CRC(65339512) SHA1(144625d2905c953383bcc90cd2435d332394883f) ) /* IC8 */
2080
2081 ROM_REGION( 0xc000, REGION_GFX1, ROMREGION_DISPOSE )
2082 ROM_LOAD( "mm20_1.b57", 0x00000, 0x2000, CRC(5c0f4f46) SHA1(7dedbbeda2f34a2eac9fb14277874d9d66f468c7) ) /* IC57 */
2083 ROM_LOAD( "mm21_1.b58", 0x04000, 0x2000, CRC(cb90b3c5) SHA1(f28cca2c3ff23d6c9e2952a1b08ab2875655ec70) ) /* IC58 */
2084 ROM_LOAD( "mm19_1.b41", 0x08000, 0x2000, CRC(e274df86) SHA1(9876a487c5efa350ced31acbc39df22c8d414677) ) /* IC41 */
2085 ROM_END
2086
2087
2088 ROM_START( inferno )
2089 ROM_REGION( 0x48000, REGION_CPU1, 0 )
2090 ROM_LOAD( "ic9.inf", 0x0e000, 0x1000, CRC(1a013185) SHA1(9079c082ec043714f9d8ea92bc81d0b93d2ce715) ) /* IC9 */
2091 ROM_LOAD( "ic10.inf", 0x0f000, 0x1000, CRC(dbf64a36) SHA1(54326bc527797f0a3a55764073eb40030aec1aae) ) /* IC10 */
2092
2093 ROM_LOAD( "ic18.inf", 0x10000, 0x2000, CRC(95bcf7b1) SHA1(66687a3962109a25e26ae00bddd33ed973981b91) ) /* IC18 */
2094 ROM_LOAD( "ic16.inf", 0x12000, 0x2000, CRC(8bc4f935) SHA1(12da6faa71e5984047fa14f32af5bb865f228cb2) ) /* IC16 */
2095 ROM_LOAD( "ic14.inf", 0x14000, 0x2000, CRC(a70508a7) SHA1(930bb9af3b6ba9fdf3e7c32f6b5ffae9acd6cee3) ) /* IC14 */
2096 ROM_LOAD( "ic12.inf", 0x16000, 0x2000, CRC(7ffb87f9) SHA1(469f5ae39ad8531c4c11e9d10ab57686e7f54aef) ) /* IC12 */
2097
2098 ROM_LOAD( "ic17.inf", 0x30000, 0x2000, CRC(b4684139) SHA1(c1d6ecd3dc8191250ef70e6972dad234c0d8f739) ) /* IC17 */
2099 ROM_LOAD( "ic15.inf", 0x32000, 0x2000, CRC(128a6ad6) SHA1(357438e50663d6cb96dabfa5110c17836584e15f) ) /* IC15 */
2100 ROM_LOAD( "ic13.inf", 0x34000, 0x2000, CRC(83a9e4d6) SHA1(4937e4d1c516da837213e40a1da862578c8dd272) ) /* IC13 */
2101 ROM_LOAD( "ic11.inf", 0x36000, 0x2000, CRC(c2e9c909) SHA1(21f0b9bf6ef3a9466ea9afde1c7efde9ed04ce5b) ) /* IC11 */
2102
2103 ROM_LOAD( "ic25.inf", 0x40000, 0x2000, CRC(103a5951) SHA1(57c8caa1e9d5e245052822d08add9343fd622e04) ) /* IC25 */
2104 ROM_LOAD( "ic23.inf", 0x42000, 0x2000, CRC(c04749a0) SHA1(b203e8d1df556e10b4ecad4733448f889c63e261) ) /* IC23 */
2105 ROM_LOAD( "ic21.inf", 0x44000, 0x2000, CRC(c405f853) SHA1(6bd74d065a6043849e083c2822925b82c6fedb00) ) /* IC21 */
2106 ROM_LOAD( "ic19.inf", 0x46000, 0x2000, CRC(ade7645a) SHA1(bfaab1840e3171df895a2333a30b9dac214b3351) ) /* IC19 */
2107
2108 /* sound CPU */
2109 ROM_REGION( 0x10000, REGION_CPU2, 0 )
2110 ROM_LOAD( "ic8.inf", 0x0e000, 0x2000, CRC(4e3123b8) SHA1(f453feed3ae3b6430db49eb4325f62eecfee9f5e) ) /* IC8 */
2111
2112 ROM_REGION( 0xc000, REGION_GFX1, ROMREGION_DISPOSE )
2113 ROM_LOAD( "ic57.inf", 0x00000, 0x2000, CRC(65a4ef79) SHA1(270c58901e83665bc388cd9cb92022c55e8eae50) ) /* IC57 */
2114 ROM_LOAD( "ic58.inf", 0x04000, 0x2000, CRC(4bb1c2a0) SHA1(9e8d214b8d1dbe4c2369e4047e165c9e692098a5) ) /* IC58 */
2115 ROM_LOAD( "ic41.inf", 0x08000, 0x2000, CRC(f3f7238f) SHA1(3810f1afd318ec37271c099c989b142b85d8da51) ) /* IC41 */
2116 ROM_END
2117
2118
2119 ROM_START( joust2 )
2120 ROM_REGION( 0x48000, REGION_CPU1, 0 )
2121 ROM_LOAD( "ic55_r1.cpu", 0x0D000, 0x1000, CRC(08b0d5bd) SHA1(b58da478aef36ae20fcfee48151d5d556e16b7b9) ) /* IC55 ROM02 */
2122 ROM_LOAD( "ic09_r2.cpu", 0x0E000, 0x1000, CRC(951175ce) SHA1(ac70df125bb438f9fccc082276df4a76ff693e16) ) /* IC09 ROM03 */
2123 ROM_LOAD( "ic10_r2.cpu", 0x0F000, 0x1000, CRC(ba6e0f6c) SHA1(431cbf38e919011d030f41008e1ad45e7e0ec38b) ) /* IC10 ROM04 */
2124
2125 ROM_LOAD( "ic18_r1.cpu", 0x10000, 0x2000, CRC(9dc986f9) SHA1(5ce479936536ef713cdfc8fc8190d338c46d171e) ) /* IC18 ROM11 */
2126 ROM_LOAD( "ic16_r2.cpu", 0x12000, 0x2000, CRC(56e2b550) SHA1(01211d389ca384987d56c26596aa8c1adffdf8dd) ) /* IC16 ROM09 */
2127 ROM_LOAD( "ic14_r2.cpu", 0x14000, 0x2000, CRC(f3bce576) SHA1(30ee1b212879b3b55b47c9064f123fb77c8f3089) ) /* IC14 ROM07 */
2128 ROM_LOAD( "ic12_r2.cpu", 0x16000, 0x2000, CRC(5f8b4919) SHA1(1215a314c07ef4f244e862743035626cac1d9538) ) /* IC12 ROM05 */
2129
2130 ROM_LOAD( "ic26_r1.cpu", 0x20000, 0x2000, CRC(4ef5e805) SHA1(98b93388ab4a4fa6eeceee3386fa46f5a307b8cb) ) /* IC26 ROM19 */
2131 ROM_LOAD( "ic24_r1.cpu", 0x22000, 0x2000, CRC(4861f063) SHA1(6db00cce230bf4bdfdfbfe59e0dc2d916b84d0dc) ) /* IC24 ROM17 */
2132 ROM_LOAD( "ic22_r1.cpu", 0x24000, 0x2000, CRC(421aafa8) SHA1(06187ba8fef3e89eb399d7040015212bd5f86853) ) /* IC22 ROM15 */
2133 ROM_LOAD( "ic20_r1.cpu", 0x26000, 0x2000, CRC(3432ff55) SHA1(aec0f83b92369de8a830ec298ac490a51bc29f26) ) /* IC20 ROM13 */
2134
2135 ROM_LOAD( "ic17_r1.cpu", 0x30000, 0x2000, CRC(3e01b597) SHA1(17d09482636d6cda2f3266152396f0461121e748) ) /* IC17 ROM10 */
2136 ROM_LOAD( "ic15_r1.cpu", 0x32000, 0x2000, CRC(ff26fb29) SHA1(5ad498db71c384c1928ec965ba3cad48af428f19) ) /* IC15 ROM08 */
2137 ROM_LOAD( "ic13_r2.cpu", 0x34000, 0x2000, CRC(5f107db5) SHA1(c413a2e58853ccda602515b9668a6a620294ba49) ) /* IC13 ROM06 */
2138
2139 ROM_LOAD( "ic25_r1.cpu", 0x40000, 0x2000, CRC(47580af5) SHA1(d2728f32f02b549c7e9691c668f0097e327a1d2d) ) /* IC25 ROM18 */
2140 ROM_LOAD( "ic23_r1.cpu", 0x42000, 0x2000, CRC(869b5942) SHA1(a3f4bab4c0db71589e9be2bbf1f94052ef2f56da) ) /* IC23 ROM16 */
2141 ROM_LOAD( "ic21_r1.cpu", 0x44000, 0x2000, CRC(0bbd867c) SHA1(f2db9fc57b6afb762715617345e8c3dcb89b6cc2) ) /* IC21 ROM14 */
2142 ROM_LOAD( "ic19_r1.cpu", 0x46000, 0x2000, CRC(b9221ed1) SHA1(428ea8f3e2fa58d875f581f5de6e0d05ed855a45) ) /* IC19 ROM12 */
2143
2144 /* sound CPU */
2145 ROM_REGION( 0x10000, REGION_CPU2, 0 )
2146 ROM_LOAD( "ic08_r1.cpu", 0x0E000, 0x2000, CRC(84517c3c) SHA1(de0b6473953783c091ddcc7aaa89fc1ec3b9d378) ) /* IC08 ROM08 */
2147
2148 /* sound board */
2149 ROM_REGION( 0x70000, REGION_CPU3, 0 )
2150 ROM_LOAD( "u04_r1.snd", 0x10000, 0x8000, CRC(3af6b47d) SHA1(aff19d65a4d9c249dec6a9e04a4066fada0f8fa1) ) /* IC04 ROM23 */
2151 ROM_LOAD( "u19_r1.snd", 0x30000, 0x8000, CRC(e7f9ed2e) SHA1(6b9ef5189650f0b6b2866da7f532cdf851f02ead) ) /* IC19 ROM24 */
2152 ROM_LOAD( "u20_r1.snd", 0x50000, 0x8000, CRC(c85b29f7) SHA1(b37e1890bd0dfa0c7db19fc878450718b60c1ca0) ) /* IC20 ROM25 */
2153
2154 ROM_REGION( 0xc000, REGION_GFX1, ROMREGION_DISPOSE )
2155 ROM_LOAD( "ic57_r1.vid", 0x00000, 0x4000, CRC(572c6b01) SHA1(651df3223c1dc42543f57a7204ae492eb15a4999) ) /* IC57 ROM20 */
2156 ROM_LOAD( "ic58_r1.vid", 0x04000, 0x4000, CRC(aa94bf05) SHA1(3412dd181e2c12dc2dd1caabfe7e737005b0ccd7) ) /* IC58 ROM21 */
2157 ROM_LOAD( "ic41_r1.vid", 0x08000, 0x4000, CRC(c41e3daa) SHA1(fafe76bebd6eaf2cd124c1030e3a58eb5a6cddc6) ) /* IC41 ROM22 */
2158 ROM_END
2159
2160
2161
2162 /*************************************
2163 *
2164 * Driver initialization
2165 *
2166 *************************************/
2167
2168 static DRIVER_INIT( defender )
2169 {
2170 static const UINT32 bank[8] = { 0x0c000, 0x10000, 0x11000, 0x12000, 0x0c000, 0x0c000, 0x0c000, 0x13000 };
2171 defender_bank_list = bank;
2172
2173 /* CMOS configuration */
2174 CONFIGURE_CMOS(0xc400, 0x100);
2175
2176 /* PIA configuration */
2177 CONFIGURE_PIAS(defender_pia_0_intf, williams_pia_1_intf, williams_snd_pia_intf);
2178 }
2179
2180
DRIVER_INIT(defndjeu)2181 static DRIVER_INIT( defndjeu )
2182 {
2183 /*
2184 Note: Please do not remove these comments in BETA versions. They are
2185 helpful to get the games working. When they will work, useless
2186 comments may be removed as desired.
2187
2188 The encryption in this game is one of the silliest I have ever seen.
2189 I just wondered if the ROMs were encrypted, and figured out how they
2190 were in just about 5 mins...
2191 Very simple: bits 0 and 7 are swapped in the ROMs (not sound).
2192
2193 Game does not work due to bad ROMs 16 and 20. However, the others are
2194 VERY similar (if not nearly SAME) to MAYDAY and DEFENSE ones (and NOT
2195 DEFENDER), although MAYDAY ROMs are more similar than DEFENSE ones...
2196 By putting MAYDAY ROMs and encrypting them, I got a first machine test
2197 and then, reboot... The test was the random graphic drawings, which
2198 were bad. Each time the full screen was drawn, the game rebooted.
2199 Unfortunately, I don't remember which roms I took to get that, and I
2200 could not get the same result anymore (I did not retry ALL the
2201 possibilities I did at 01:30am). :-(
2202
2203 ROM equivalences (not including the sound ROM):
2204
2205 MAYDAY MAYDAY (Alternate) DEFENSE JEUTEL's Defender
2206 -----------------------------------------------------------------
2207 ROMC.BIN IC03-3.BIN DFNDR-C.ROM 15
2208 ROMB.BIN IC02-2.BIN DFNDR-B.ROM 16
2209 ROMA.BIN IC01-1.BIN DFNDR-A.ROM 17
2210 ROMG.BIN IC07-7D.BIN DFNDR-G.ROM 18
2211 ROMF.BIN IC06-6.BIN DFNDR-F.ROM 19
2212 ROME.BIN IC05-5.BIN DFNDR-E.ROM 20
2213 ROMD.BIN IC04-4.BIN DFNDR-D.ROM 21
2214 */
2215 static const UINT32 bank[8] = { 0x0c000, 0x10000, 0x11000, 0x12000, 0x0c000, 0x0c000, 0x0c000, 0x14000 };
2216 UINT8 *rom = memory_region(REGION_CPU1);
2217 int i;
2218
2219 defender_bank_list = bank;
2220
2221 /* CMOS configuration */
2222 CONFIGURE_CMOS(0xc400, 0x100);
2223
2224 /* PIA configuration */
2225 CONFIGURE_PIAS(williams_pia_0_intf, williams_pia_1_intf, williams_snd_pia_intf);
2226
2227 for (i = 0xd000; i < 0x15000; i++)
2228 rom[i] = BITSWAP8(rom[i],0,6,5,4,3,2,1,7);
2229
2230 }
2231
2232 #if 0
2233 static DRIVER_INIT( defcmnd )
2234 {
2235 static const UINT32 bank[8] = { 0x0c000, 0x10000, 0x11000, 0x12000, 0x13000, 0x0c000, 0x0c000, 0x14000 };
2236 defender_bank_list = bank;
2237
2238 /* CMOS configuration */
2239 CONFIGURE_CMOS(0xc400, 0x100);
2240
2241 /* PIA configuration */
2242 CONFIGURE_PIAS(williams_pia_0_intf, williams_pia_1_intf, williams_snd_pia_intf);
2243 }
2244 #endif
2245
DRIVER_INIT(mayday)2246 static DRIVER_INIT( mayday )
2247 {
2248 static const UINT32 bank[8] = { 0x0c000, 0x10000, 0x11000, 0x12000, 0x0c000, 0x0c000, 0x0c000, 0x13000 };
2249 defender_bank_list = bank;
2250
2251 /* CMOS configuration */
2252 CONFIGURE_CMOS(0xc400, 0x100);
2253
2254 /* PIA configuration */
2255 CONFIGURE_PIAS(williams_pia_0_intf, williams_pia_1_intf, williams_snd_pia_intf);
2256
2257 /* install a handler to catch protection checks */
2258 mayday_protection = install_mem_read_handler(0, 0xa190, 0xa191, mayday_protection_r);
2259 }
2260
2261
DRIVER_INIT(colony7)2262 static DRIVER_INIT( colony7 )
2263 {
2264 static const UINT32 bank[8] = { 0x0c000, 0x10000, 0x11000, 0x12000, 0x0c000, 0x0c000, 0x0c000, 0x0c000 };
2265 defender_bank_list = bank;
2266
2267 /* CMOS configuration */
2268 CONFIGURE_CMOS(0xc400, 0x100);
2269
2270 /* PIA configuration */
2271 CONFIGURE_PIAS(williams_pia_0_intf, williams_pia_1_intf, williams_snd_pia_intf);
2272 }
2273
2274
DRIVER_INIT(stargate)2275 static DRIVER_INIT( stargate )
2276 {
2277 /* CMOS configuration */
2278 CONFIGURE_CMOS(0xcc00, 0x400);
2279
2280 /* PIA configuration */
2281 CONFIGURE_PIAS(stargate_pia_0_intf, williams_pia_1_intf, williams_snd_pia_intf);
2282 }
2283
2284
DRIVER_INIT(joust)2285 static DRIVER_INIT( joust )
2286 {
2287 /* CMOS configuration */
2288 CONFIGURE_CMOS(0xcc00, 0x400);
2289
2290 /* video configuration */
2291 CONFIGURE_BLITTER(4, 0, 0);
2292
2293 /* PIA configuration */
2294 CONFIGURE_PIAS(williams_muxed_pia_0_intf, williams_pia_1_intf, williams_snd_pia_intf);
2295 }
2296
2297
DRIVER_INIT(robotron)2298 static DRIVER_INIT( robotron )
2299 {
2300 /* CMOS configuration */
2301 CONFIGURE_CMOS(0xcc00, 0x400);
2302
2303 /* video configuration */
2304 CONFIGURE_BLITTER(4, 0, 0);
2305
2306 /* PIA configuration */
2307 CONFIGURE_PIAS(williams_pia_0_intf, williams_pia_1_intf, williams_snd_pia_intf);
2308 }
2309
2310
DRIVER_INIT(spdball)2311 static DRIVER_INIT( spdball )
2312 {
2313 /* CMOS configuration */
2314 CONFIGURE_CMOS(0xcc00, 0x400);
2315
2316 /* video configuration */
2317 CONFIGURE_BLITTER(4, 0, 0);
2318
2319 /* PIA configuration */
2320 CONFIGURE_PIAS(williams_pia_0_intf, williams_pia_1_intf, williams_snd_pia_intf);
2321 pia_config(3, PIA_STANDARD_ORDERING, &spdball_pia_3_intf);
2322
2323 /* install extra input handlers */
2324 install_mem_read_handler (0, 0xc800, 0xc800, input_port_5_r);
2325 install_mem_read_handler (0, 0xc801, 0xc801, input_port_6_r);
2326 install_mem_read_handler (0, 0xc802, 0xc802, input_port_7_r);
2327 install_mem_read_handler (0, 0xc803, 0xc803, input_port_8_r);
2328 install_mem_read_handler (0, 0xc808, 0xc80b, pia_3_r);
2329 install_mem_write_handler(0, 0xc808, 0xc80b, pia_3_w);
2330 }
2331
2332
DRIVER_INIT(bubbles)2333 static DRIVER_INIT( bubbles )
2334 {
2335 /* CMOS configuration */
2336 CONFIGURE_CMOS(0xcc00, 0x400);
2337
2338 /* video configuration */
2339 CONFIGURE_BLITTER(4, 0, 0);
2340
2341 /* PIA configuration */
2342 CONFIGURE_PIAS(williams_pia_0_intf, williams_pia_1_intf, williams_snd_pia_intf);
2343 }
2344
2345
DRIVER_INIT(splat)2346 static DRIVER_INIT( splat )
2347 {
2348 /* CMOS configuration */
2349 CONFIGURE_CMOS(0xcc00, 0x400);
2350
2351 /* video configuration */
2352 CONFIGURE_BLITTER(0, 0, 0);
2353
2354 /* PIA configuration */
2355 CONFIGURE_PIAS(williams_dual_muxed_pia_0_intf, williams_pia_1_intf, williams_snd_pia_intf);
2356 }
2357
2358
DRIVER_INIT(sinistar)2359 static DRIVER_INIT( sinistar )
2360 {
2361 /* CMOS configuration */
2362 CONFIGURE_CMOS(0xcc00, 0x400);
2363
2364 /* video configuration */
2365 CONFIGURE_BLITTER(4, 0, 1);
2366
2367 /* PIA configuration */
2368 CONFIGURE_PIAS(williams_49way_pia_0_intf, williams_pia_1_intf, sinistar_snd_pia_intf);
2369
2370 /* install RAM instead of ROM in the Dxxx slot */
2371 install_mem_read_handler (0, 0xd000, 0xdfff, MRA_RAM);
2372 install_mem_write_handler(0, 0xd000, 0xdfff, MWA_RAM);
2373 }
2374
2375
DRIVER_INIT(playball)2376 static DRIVER_INIT( playball )
2377 {
2378 /* CMOS configuration */
2379 CONFIGURE_CMOS(0xcc00, 0x400);
2380
2381 /* video configuration */
2382 CONFIGURE_BLITTER(4, 0, 1);
2383
2384 /* PIA configuration */
2385 CONFIGURE_PIAS(williams_pia_0_intf, playball_pia_1_intf, sinistar_snd_pia_intf);
2386
2387 /* install RAM instead of ROM in the Dxxx slot */
2388 install_mem_read_handler (0, 0xd000, 0xdfff, MRA_RAM);
2389 install_mem_write_handler(0, 0xd000, 0xdfff, MWA_RAM);
2390 }
2391
2392
DRIVER_INIT(lottofun)2393 static DRIVER_INIT( lottofun )
2394 {
2395 /* CMOS configuration */
2396 CONFIGURE_CMOS(0xcc00, 0x400);
2397
2398 /* video configuration */
2399 CONFIGURE_BLITTER(4, 0, 0);
2400
2401 /* PIA configuration */
2402 CONFIGURE_PIAS(lottofun_pia_0_intf, williams_pia_1_intf, williams_snd_pia_intf);
2403 }
2404
2405
DRIVER_INIT(blaster)2406 static DRIVER_INIT( blaster )
2407 {
2408 /* CMOS configuration */
2409 CONFIGURE_CMOS(0xcc00, 0x400);
2410
2411 /* video configuration */
2412 CONFIGURE_BLITTER(0, 1, 0);
2413
2414 /* PIA configuration */
2415 CONFIGURE_PIAS(williams_49way_pia_0_intf, williams_pia_1_intf, williams_snd_pia_intf);
2416 }
2417
2418
DRIVER_INIT(blastkit)2419 static DRIVER_INIT( blastkit )
2420 {
2421 /* CMOS configuration */
2422 CONFIGURE_CMOS(0xcc00, 0x400);
2423
2424 /* video configuration */
2425 CONFIGURE_BLITTER(0, 1, 0);
2426
2427 /* PIA configuration */
2428 CONFIGURE_PIAS(williams_49way_muxed_pia_0_intf, williams_pia_1_intf, williams_snd_pia_intf);
2429 }
2430
2431
DRIVER_INIT(mysticm)2432 static DRIVER_INIT( mysticm )
2433 {
2434 static const UINT8 tilemap_colors[] = { 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
2435
2436 /* CMOS configuration */
2437 CONFIGURE_CMOS(0xcc00, 0x400);
2438
2439 /* video configuration */
2440 CONFIGURE_BLITTER(0, 0, 0);
2441 CONFIGURE_TILEMAP(0x7f, tilemap_colors, 1, 0, 1);
2442
2443 /* PIA configuration */
2444 CONFIGURE_PIAS(mysticm_pia_0_intf, williams2_pia_1_intf, williams2_snd_pia_intf);
2445
2446 /* install RAM instead of ROM in the Dxxx slot */
2447 install_mem_read_handler (0, 0xd000, 0xdfff, MRA_RAM);
2448 install_mem_write_handler(0, 0xd000, 0xdfff, MWA_RAM);
2449 }
2450
2451
DRIVER_INIT(tshoot)2452 static DRIVER_INIT( tshoot )
2453 {
2454 static const UINT8 tilemap_colors[] = { 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7 };
2455
2456 /* CMOS configuration */
2457 CONFIGURE_CMOS(0xcc00, 0x400);
2458
2459 /* video configuration */
2460 CONFIGURE_BLITTER(0, 0, 0);
2461 CONFIGURE_TILEMAP(0x7f, tilemap_colors, 1, 0, 0);
2462
2463 /* PIA configuration */
2464 CONFIGURE_PIAS(tshoot_pia_0_intf, williams2_pia_1_intf, tshoot_snd_pia_intf);
2465 }
2466
2467
DRIVER_INIT(inferno)2468 static DRIVER_INIT( inferno )
2469 {
2470 static const UINT8 tilemap_colors[] = { 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7 };
2471
2472 /* CMOS configuration */
2473 CONFIGURE_CMOS(0xcc00, 0x400);
2474
2475 /* video configuration */
2476 CONFIGURE_BLITTER(0, 0, 0);
2477 CONFIGURE_TILEMAP(0x7f, tilemap_colors, 1, 0, 0);
2478
2479 /* PIA configuration */
2480 CONFIGURE_PIAS(williams2_muxed_pia_0_intf, williams2_pia_1_intf, williams2_snd_pia_intf);
2481
2482 /* install RAM instead of ROM in the Dxxx slot */
2483 install_mem_read_handler (0, 0xd000, 0xdfff, MRA_RAM);
2484 install_mem_write_handler(0, 0xd000, 0xdfff, MWA_RAM);
2485 }
2486
2487
DRIVER_INIT(joust2)2488 static DRIVER_INIT( joust2 )
2489 {
2490 static const UINT8 tilemap_colors[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
2491
2492 /* CMOS configuration */
2493 CONFIGURE_CMOS(0xcc00, 0x400);
2494
2495 /* video configuration */
2496 CONFIGURE_BLITTER(0, 0, 0);
2497 CONFIGURE_TILEMAP(0xff, tilemap_colors, 0, -2, 0);
2498
2499 /* PIA configuration */
2500 CONFIGURE_PIAS(williams2_muxed_pia_0_intf, joust2_pia_1_intf, williams2_snd_pia_intf);
2501
2502 /* expand the sound ROMs */
2503 memcpy(&memory_region(REGION_CPU3)[0x18000], &memory_region(REGION_CPU3)[0x10000], 0x08000);
2504 memcpy(&memory_region(REGION_CPU3)[0x20000], &memory_region(REGION_CPU3)[0x10000], 0x10000);
2505 memcpy(&memory_region(REGION_CPU3)[0x38000], &memory_region(REGION_CPU3)[0x30000], 0x08000);
2506 memcpy(&memory_region(REGION_CPU3)[0x40000], &memory_region(REGION_CPU3)[0x30000], 0x10000);
2507 memcpy(&memory_region(REGION_CPU3)[0x58000], &memory_region(REGION_CPU3)[0x50000], 0x08000);
2508 memcpy(&memory_region(REGION_CPU3)[0x60000], &memory_region(REGION_CPU3)[0x50000], 0x10000);
2509 }
2510
2511
2512
2513 /*************************************
2514 *
2515 * Game drivers
2516 *
2517 *************************************/
2518
2519 GAMEC(1980, defender, 0, defender, defender, defender, ROT0, "Williams", "Defender (Red label)", &generic_ctrl, &defender_bootstrap )
2520 GAMEC(1980, defendg, defender, defender, defender, defender, ROT0, "Williams", "Defender (Green label)", &generic_ctrl, &defendg_bootstrap )
2521 GAMEC(1980, defendw, defender, defender, defender, defender, ROT0, "Williams", "Defender (White label)", &generic_ctrl, &defendg_bootstrap )
2522 GAMEX(1980, defndjeu, defender, defender, defender, defndjeu, ROT0, "Jeutel", "Defender ? (bootleg)", GAME_NOT_WORKING )
2523 GAMEC(1980, defcmnd, defender, defender, defender, defender, ROT0, "bootleg", "Defense Command (set 1)", &generic_ctrl, &defcmnd_bootstrap )
2524 GAMEC(1981, defence, defender, defender, defender, defender, ROT0, "Outer Limits", "Defence Command", &generic_ctrl, &defence_bootstrap )
2525
2526 GAME( 1980, mayday, 0, defender, defender, mayday, ROT0, "<unknown>", "Mayday (set 1)" )
2527 GAME( 1980, maydaya, mayday, defender, defender, mayday, ROT0, "<unknown>", "Mayday (set 2)" )
2528 GAME( 1980, maydayb, mayday, defender, defender, mayday, ROT0, "<unknown>", "Mayday (set 3)" )
2529
2530 GAME( 1981, colony7, 0, defender, colony7, colony7, ROT270, "Taito", "Colony 7 (set 1)" )
2531 GAME( 1981, colony7a, colony7, defender, colony7, colony7, ROT270, "Taito", "Colony 7 (set 2)" )
2532
2533 GAME( 1981, stargate, 0, williams, stargate, stargate, ROT0, "Williams", "Stargate" )
2534
2535 GAMEC(1982, robotron, 0, williams, robotron, robotron, ROT0, "Williams", "Robotron (Solid Blue label)", &robotron_ctrl, &robotron_bootstrap )
2536 GAMEC(1982, robotryo, robotron, williams, robotron, robotron, ROT0, "Williams", "Robotron (Yellow/Orange label)", &robotron_ctrl, &robotron_bootstrap )
2537
2538 GAMEC(1982, joust, 0, williams, joust, joust, ROT0, "Williams", "Joust (White/Green label)", &joust_ctrl, &joust_bootstrap )
2539 GAMEC(1982, joustr, joust, williams, joust, joust, ROT0, "Williams", "Joust (Solid Red label)", &joust_ctrl, &joust_bootstrap )
2540 GAMEC(1982, joustwr, joust, williams, joust, joust, ROT0, "Williams", "Joust (White/Red label)", &joust_ctrl, &joust_bootstrap )
2541
2542 GAME( 1982, bubbles, 0, williams, bubbles, bubbles, ROT0, "Williams", "Bubbles" )
2543 GAME( 1982, bubblesr, bubbles, williams, bubbles, bubbles, ROT0, "Williams", "Bubbles (Solid Red label)" )
2544 GAME( 1982, bubblesp, bubbles, williams, bubbles, bubbles, ROT0, "Williams", "Bubbles (prototype version)" )
2545
2546 GAME( 1982, splat, 0, williams, splat, splat, ROT0, "Williams", "Splat!" )
2547
2548 GAMEC(1982, sinistar, 0, sinistar, sinistar, sinistar, ROT270, "Williams", "Sinistar (revision 3)", &generic_ctrl, &sinistar_bootstrap )
2549 GAMEC(1982, sinista1, sinistar, sinistar, sinistar, sinistar, ROT270, "Williams", "Sinistar (prototype version)", &generic_ctrl, &sinista1_bootstrap )
2550 GAMEC(1982, sinista2, sinistar, sinistar, sinistar, sinistar, ROT270, "Williams", "Sinistar (revision 2)", &generic_ctrl, &sinista2_bootstrap )
2551
2552 GAME( 1983, playball, 0, playball, playball, playball, ROT270, "Williams", "PlayBall! (prototype)" )
2553
2554 GAME( 1983, blaster, 0, blaster, blaster, blaster, ROT0, "Williams", "Blaster" )
2555 GAME( 1983, blastkit, blaster, blaster, blastkit, blastkit, ROT0, "Williams", "Blaster (kit)" )
2556
2557 GAME( 1985, spdball, 0, williams, spdball, spdball, ROT0, "Williams", "Speed Ball (prototype)" )
2558
2559 GAME( 1983, mysticm, 0, williams2,mysticm, mysticm, ROT0, "Williams", "Mystic Marathon" )
2560 GAME( 1984, tshoot, 0, williams2,tshoot, tshoot, ROT0, "Williams", "Turkey Shoot" )
2561 GAMECX(1984, inferno, 0, williams2,inferno, inferno, ROT0, "Williams", "Inferno", GAME_IMPERFECT_SOUND, &inferno_ctrl, NULL )
2562 GAMEC(1986, joust2, 0, joust2, joust2, joust2, ROT270, "Williams", "Joust 2 - Survival of the Fittest (set 1)", &joust2_ctrl, &joust2_bootstrap )
2563
2564 GAME( 1987, lottofun, 0, williams, lottofun, lottofun, ROT0, "H.A.R. Management", "Lotto Fun" )
2565