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( alienar )
901 	PORT_START /* IN0 */
902 	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP    | IPF_PLAYER2 )
903 	PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN  | IPF_PLAYER2 )
904 	PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT  | IPF_PLAYER2 )
905 	PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT | IPF_PLAYER2 )
906 	PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_START1 )
907 	PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_START2 )
908 	PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON1 | IPF_PLAYER2 )
909 	PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_BUTTON2 | IPF_PLAYER2 )
910 
911 	PORT_START /* IN1 */
912 	PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNUSED )
913 
914 	PORT_START /* IN2 */
915 	PORT_BITX(0x01, IP_ACTIVE_HIGH, 0, "Auto Up", KEYCODE_F1, IP_JOY_NONE )
916 	PORT_BITX(0x02, IP_ACTIVE_HIGH, 0, "Advance", KEYCODE_F2, IP_JOY_NONE )
917 	PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_COIN3 )
918 	PORT_BITX(0x08, IP_ACTIVE_HIGH, 0, "High Score Reset", KEYCODE_7, IP_JOY_NONE )
919 	PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_COIN1 )
920 	PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_COIN2 )
921 	PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_TILT )
922 	PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
923 
924 	PORT_START /* IN3 */      /* (muxed with IN0) */
925 	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP    | IPF_PLAYER1 )
926 	PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN  | IPF_PLAYER1 )
927 	PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT  | IPF_PLAYER1 )
928 	PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT | IPF_PLAYER1 )
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_BUTTON1 | IPF_PLAYER1 )
932 	PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_BUTTON2 | IPF_PLAYER1 )
933 INPUT_PORTS_END
934 
935 INPUT_PORTS_START( bubbles )
936 	PORT_START      /* IN0 */
937 	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP )
938 	PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN )
939 	PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT )
940 	PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT )
941 	PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_START2 )
942 	PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_START1 )
943 
944 	PORT_START      /* IN1 */
945 	PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNKNOWN )
946 
947 	PORT_START      /* IN2 */
948 	PORT_BITX(0x01, IP_ACTIVE_HIGH, 0, "Auto Up", KEYCODE_F1, IP_JOY_NONE )
949 	PORT_BITX(0x02, IP_ACTIVE_HIGH, 0, "Advance", KEYCODE_F2, IP_JOY_NONE )
950 	PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SERVICE1 )
951 	PORT_BITX(0x08, IP_ACTIVE_HIGH, 0, "High Score Reset", KEYCODE_7, IP_JOY_NONE )
952 	PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_COIN1 )
953 	PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_COIN2 )
954 	PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_TILT )
955 INPUT_PORTS_END
956 
957 
958 INPUT_PORTS_START( splat )
959 	PORT_START      /* IN0 */
960 	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICKLEFT_UP | IPF_8WAY | IPF_PLAYER2 )
961 	PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICKLEFT_DOWN | IPF_8WAY | IPF_PLAYER2 )
962 	PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICKLEFT_LEFT | IPF_8WAY | IPF_PLAYER2 )
963 	PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICKLEFT_RIGHT | IPF_8WAY | IPF_PLAYER2 )
964 	PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_START1 )
965 	PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_START2 )
966 	PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICKRIGHT_UP | IPF_8WAY | IPF_PLAYER2 )
967 	PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICKRIGHT_DOWN | IPF_8WAY | IPF_PLAYER2 )
968 
969 	PORT_START      /* IN2 */
970 	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICKRIGHT_LEFT | IPF_8WAY | IPF_PLAYER2 )
971 	PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICKRIGHT_RIGHT | IPF_8WAY | IPF_PLAYER2 )
972 	PORT_BIT( 0xfc, IP_ACTIVE_HIGH, IPT_UNKNOWN )
973 
974 	PORT_START      /* IN4 */
975 	PORT_BITX(0x01, IP_ACTIVE_HIGH, 0, "Auto Up", KEYCODE_F1, IP_JOY_NONE )
976 	PORT_BITX(0x02, IP_ACTIVE_HIGH, 0, "Advance", KEYCODE_F2, IP_JOY_NONE )
977 	PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SERVICE1 )
978 	PORT_BITX(0x08, IP_ACTIVE_HIGH, 0, "High Score Reset", KEYCODE_7, IP_JOY_NONE )
979 	PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_COIN1 )
980 	PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_COIN2 )
981 	PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_TILT )
982 
983 	PORT_START      /* IN3 */
984 	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICKLEFT_UP | IPF_8WAY | IPF_PLAYER1 )
985 	PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICKLEFT_DOWN | IPF_8WAY | IPF_PLAYER1 )
986 	PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICKLEFT_LEFT | IPF_8WAY | IPF_PLAYER1 )
987 	PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICKLEFT_RIGHT | IPF_8WAY | IPF_PLAYER1 )
988 	PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_START1 )
989 	PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_START2 )
990 	PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICKRIGHT_UP | IPF_8WAY | IPF_PLAYER1 )
991 	PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICKRIGHT_DOWN | IPF_8WAY | IPF_PLAYER1 )
992 
993 	PORT_START      /* IN4 */
994 	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICKRIGHT_LEFT | IPF_8WAY | IPF_PLAYER1 )
995 	PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICKRIGHT_RIGHT | IPF_8WAY | IPF_PLAYER1 )
996 	PORT_BIT( 0xfc, IP_ACTIVE_HIGH, IPT_UNKNOWN )
997 INPUT_PORTS_END
998 
999 
1000 INPUT_PORTS_START( sinistar )
1001 	PORT_START      /* IN0 */
1002 	/* pseudo analog joystick, see below */
1003 
1004 	PORT_START      /* IN1 */
1005 	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 )
1006 	PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON2 )
1007 	PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_START1 )
1008 	PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_START2 )
1009 
1010 	PORT_START      /* IN2 */
1011 	PORT_BITX(0x01, IP_ACTIVE_HIGH, 0, "Auto Up", KEYCODE_F1, IP_JOY_NONE )
1012 	PORT_BITX(0x02, IP_ACTIVE_HIGH, 0, "Advance", KEYCODE_F2, IP_JOY_NONE )
1013 	PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SERVICE1 )
1014 	PORT_BITX(0x08, IP_ACTIVE_HIGH, 0, "High Score Reset", KEYCODE_7, IP_JOY_NONE )
1015 	PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_COIN1 )
1016 	PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_COIN2 )
1017 	PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_TILT )
1018 
1019 	PORT_START	/* fake, converted by sinistar_input_port_0() */
1020 	PORT_ANALOG( 0xff, 0x38, IPT_AD_STICK_X, 100, 10, 0x00, 0x6f )
1021 
1022 	PORT_START	/* fake, converted by sinistar_input_port_0() */
1023 	PORT_ANALOG( 0xff, 0x38, IPT_AD_STICK_Y | IPF_REVERSE, 100, 10, 0x00, 0x6f )
1024 INPUT_PORTS_END
1025 
1026 
1027 INPUT_PORTS_START( playball )
1028 	PORT_START      /* IN0 */
1029 	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
1030 	PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT )
1031 	PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT )
1032 	PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_START2 )
1033 
1034 	PORT_START      /* IN1 */
1035 	PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNKNOWN )
1036 
1037 	PORT_START      /* IN2 */
1038 	PORT_BITX(0x01, IP_ACTIVE_HIGH, 0, "Auto Up", KEYCODE_F1, IP_JOY_NONE )
1039 	PORT_BITX(0x02, IP_ACTIVE_HIGH, 0, "Advance", KEYCODE_F2, IP_JOY_NONE )
1040 	PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SERVICE1 )
1041 	PORT_BITX(0x08, IP_ACTIVE_HIGH, 0, "High Score Reset", KEYCODE_7, IP_JOY_NONE )
1042 	PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_COIN1 )
1043 	PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_COIN2 )
1044 	PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_TILT )
1045 INPUT_PORTS_END
1046 
1047 
1048 INPUT_PORTS_START( lottofun )
1049 	PORT_START		/* IN0 */
1050 	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP )
1051 	PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN )
1052 	PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT )
1053 	PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT )
1054 	PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_START1 )
1055 	PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* Used by ticket dispenser */
1056 
1057 	PORT_START		/* IN1 */
1058 	PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNKNOWN )
1059 
1060 	PORT_START		/* IN2 */
1061 	PORT_BITX(0x01, IP_ACTIVE_HIGH, IPF_TOGGLE, "Memory Protect", KEYCODE_F1, IP_JOY_NONE )
1062 	PORT_BITX(0x02, IP_ACTIVE_HIGH, 0, "Advance", KEYCODE_F2, IP_JOY_NONE )
1063 	PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_COIN2 )
1064 	PORT_BITX(0x08, IP_ACTIVE_HIGH, 0, "High Score Reset", KEYCODE_7, IP_JOY_NONE )
1065 	PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_COIN1 )
1066 	PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* COIN1.5? :)*/
1067 	PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_TILT )
1068 	PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* Sound board handshake*/
1069 INPUT_PORTS_END
1070 
1071 
1072 INPUT_PORTS_START( blaster )
1073 	PORT_START      /* IN0 */
1074 	/* pseudo analog joystick, see below */
1075 
1076 	PORT_START      /* IN1 */
1077 	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON2 )
1078 	PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1 )
1079 	PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON3 )
1080 	PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN )
1081 	PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_START1 )
1082 	PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_START2 )
1083 	PORT_BIT( 0xc0, IP_ACTIVE_HIGH, IPT_UNKNOWN )
1084 
1085 	PORT_START      /* IN2 */
1086 	PORT_BITX(0x01, IP_ACTIVE_HIGH, 0, "Auto Up", KEYCODE_F1, IP_JOY_NONE )
1087 	PORT_BITX(0x02, IP_ACTIVE_HIGH, 0, "Advance", KEYCODE_F2, IP_JOY_NONE )
1088 	PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SERVICE1 )
1089 	PORT_BITX(0x08, IP_ACTIVE_HIGH, 0, "High Score Reset", KEYCODE_7, IP_JOY_NONE )
1090 	PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_COIN1 )
1091 	PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_COIN2 )
1092 	PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_TILT )
1093 
1094 	PORT_START	/* fake, converted by sinistar_input_port_0() */
1095 	PORT_ANALOG( 0xff, 0x38, IPT_AD_STICK_X, 100, 10, 0x00, 0x6f )
1096 
1097 	PORT_START	/* fake, converted by sinistar_input_port_0() */
1098 	PORT_ANALOG( 0xff, 0x38, IPT_AD_STICK_Y | IPF_REVERSE, 100, 10, 0x00, 0x6f )
1099 INPUT_PORTS_END
1100 
1101 
1102 INPUT_PORTS_START( blastkit )
1103 	PORT_START      /* IN0 */
1104 	/* pseudo analog joystick, see below */
1105 
1106 	PORT_START      /* IN1 */
1107 	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON2 )
1108 	PORT_BIT( 0xfe, IP_ACTIVE_HIGH, IPT_UNKNOWN )
1109 
1110 	PORT_START      /* IN2 */
1111 	PORT_BITX(0x01, IP_ACTIVE_HIGH, 0, "Auto Up", KEYCODE_F1, IP_JOY_NONE )
1112 	PORT_BITX(0x02, IP_ACTIVE_HIGH, 0, "Advance", KEYCODE_F2, IP_JOY_NONE )
1113 	PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SERVICE1 )
1114 	PORT_BITX(0x08, IP_ACTIVE_HIGH, 0, "High Score Reset", KEYCODE_7, IP_JOY_NONE )
1115 	PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_COIN1 )
1116 	PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_COIN2 )
1117 	PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_TILT )
1118 
1119 	PORT_START	/* fake, converted by sinistar_input_port_0() */
1120 	PORT_ANALOG( 0xff, 0x38, IPT_AD_STICK_X, 100, 10, 0x00, 0x6f )
1121 
1122 	PORT_START	/* fake, converted by sinistar_input_port_0() */
1123 	PORT_ANALOG( 0xff, 0x38, IPT_AD_STICK_Y | IPF_REVERSE, 100, 10, 0x00, 0x6f )
1124 
1125 	PORT_START      /* IN3 */
1126 	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 )
1127 	PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON3 )
1128 	PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_START1 )
1129 	PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_START2 )
1130 	PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNKNOWN )
1131 INPUT_PORTS_END
1132 
1133 
1134 INPUT_PORTS_START( mysticm )
1135 	PORT_START	/* IN1 */
1136 	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP )
1137 	PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT )
1138 	PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN )
1139 	PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT )
1140 	PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_START1 )
1141 	PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_START2 )
1142 	PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED ) /* Key */
1143 	PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_BUTTON1 )
1144 
1145 	PORT_START
1146 	PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNUSED )
1147 
1148 	PORT_START	/* IN0 */
1149 	PORT_BITX(0x01, IP_ACTIVE_HIGH, 0, "Auto Up", KEYCODE_F1, IP_JOY_NONE )
1150 	PORT_BITX(0x02, IP_ACTIVE_HIGH, 0, "Advance", KEYCODE_F2, IP_JOY_NONE )
1151 	PORT_BITX(0x04, IP_ACTIVE_HIGH, 0, "High Score Reset", KEYCODE_7, IP_JOY_NONE )
1152 	PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_COIN1 )
1153 	PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_COIN2 )
1154 	PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SERVICE1 )
1155 	PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_TILT )
1156 	PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED )
1157 INPUT_PORTS_END
1158 
1159 
1160 INPUT_PORTS_START( tshoot )
1161 	PORT_START	/* IN0 (muxed with IN3)*/
1162 	PORT_ANALOG(0x3F, 0x20, IPT_LIGHTGUN_Y, 25, 10, 0, 0x3F)
1163 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
1164 	PORT_BIT( 0x80, IP_ACTIVE_LOW,  IPT_BUTTON1 )
1165 
1166 	PORT_START	/* IN1 */
1167 	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON2 )
1168 	PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON3 )
1169 	PORT_BIT( 0x3C, IP_ACTIVE_HIGH, IPT_UNUSED ) /* 0011-1100 output */
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_ANALOG(0x3F, 0x20, IPT_LIGHTGUN_X, 25, 10, 0, 0x3F)
1185 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
1186 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 )
1187 INPUT_PORTS_END
1188 
1189 
1190 INPUT_PORTS_START( inferno )
1191 	PORT_START	/* IN0 (muxed with IN3) */
1192 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPF_PLAYER1 | IPT_JOYSTICKLEFT_UP )
1193 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPF_PLAYER1 | IPT_JOYSTICKLEFT_LEFT )
1194 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPF_PLAYER1 | IPT_JOYSTICKLEFT_RIGHT )
1195 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPF_PLAYER1 | IPT_JOYSTICKLEFT_DOWN )
1196 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPF_PLAYER1 | IPT_JOYSTICKRIGHT_UP )
1197 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPF_PLAYER1 | IPT_JOYSTICKRIGHT_LEFT )
1198 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPF_PLAYER1 | IPT_JOYSTICKRIGHT_RIGHT )
1199 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPF_PLAYER1 | IPT_JOYSTICKRIGHT_DOWN )
1200 
1201 	PORT_START /* IN1 */
1202 	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPF_PLAYER1 | IPT_BUTTON1 )
1203 	PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPF_PLAYER2 | IPT_BUTTON1 )
1204 	PORT_BIT( 0x3C, IP_ACTIVE_HIGH, IPT_UNUSED )
1205 	PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_START1 )
1206 	PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_START2 )
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, IPF_PLAYER2 | IPT_JOYSTICKLEFT_UP )
1220 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPF_PLAYER2 | IPT_JOYSTICKLEFT_LEFT )
1221 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPF_PLAYER2 | IPT_JOYSTICKLEFT_RIGHT )
1222 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPF_PLAYER2 | IPT_JOYSTICKLEFT_DOWN )
1223 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPF_PLAYER2 | IPT_JOYSTICKRIGHT_UP )
1224 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPF_PLAYER2 | IPT_JOYSTICKRIGHT_LEFT )
1225 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPF_PLAYER2 | IPT_JOYSTICKRIGHT_RIGHT )
1226 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPF_PLAYER2 | IPT_JOYSTICKRIGHT_DOWN )
1227 INPUT_PORTS_END
1228 
1229 
1230 INPUT_PORTS_START( joust2 )
1231 	PORT_START      /* IN0 */
1232 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_2WAY | IPF_PLAYER1 )
1233 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_2WAY | IPF_PLAYER1 )
1234 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
1235 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED )
1236 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
1237 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
1238 	PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
1239 
1240 	PORT_START      /* IN1 */
1241 	PORT_BIT( 0xFF, IP_ACTIVE_HIGH, IPT_UNUSED )
1242 
1243 	PORT_START	/* IN2 */
1244 	PORT_BITX(0x01, IP_ACTIVE_HIGH, 0, "Auto Up", KEYCODE_F1, IP_JOY_NONE )
1245 	PORT_BITX(0x02, IP_ACTIVE_HIGH, 0, "Advance", KEYCODE_F2, IP_JOY_NONE )
1246 	PORT_BITX(0x04, IP_ACTIVE_HIGH, 0, "High Score Reset", KEYCODE_7, IP_JOY_NONE )
1247 	PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_COIN1 )
1248 	PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_COIN2 )
1249 	PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SERVICE1 )
1250 	PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_TILT )
1251 	PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED )
1252 
1253 	PORT_START /* IN3 (muxed with IN0) */
1254 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_2WAY | IPF_PLAYER2 )
1255 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_2WAY | IPF_PLAYER2 )
1256 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
1257 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED )
1258 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
1259 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
1260 	PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
1261 INPUT_PORTS_END
1262 
1263 
1264 
1265 /*************************************
1266  *
1267  *	Graphics definitions
1268  *
1269  *************************************/
1270 
1271 static struct GfxLayout williams2_layout =
1272 {
1273 	24, 16,
1274 	256,
1275 	4,
1276 	{ 0, 1, 2, 3 },
1277 	{ 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,
1278 	  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,
1279 	  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,
1280 	  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
1281 	},
1282 	{ 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 },
1283 	4*16*8
1284 };
1285 
1286 
1287 static struct GfxDecodeInfo williams2_gfxdecodeinfo[] =
1288 {
1289 	{ REGION_GFX1, 0, &williams2_layout, 16, 8 },
1290 	{ -1 } /* end of array */
1291 };
1292 
1293 
1294 
1295 /*************************************
1296  *
1297  *	Sound definitions
1298  *
1299  *************************************/
1300 
1301 static struct DACinterface dac_interface =
1302 {
1303 	1,
1304 	{ 50 }
1305 };
1306 
1307 
1308 static struct hc55516_interface sinistar_cvsd_interface =
1309 {
1310 	1,
1311 	{ 80 },
1312 };
1313 
1314 
1315 
1316 /*************************************
1317  *
1318  *	Machine driver
1319  *
1320  *************************************/
1321 
1322 static MACHINE_DRIVER_START( defender )
1323 
1324 	/* basic machine hardware */
1325 	MDRV_CPU_ADD_TAG("main", M6809, 1000000)
MDRV_CPU_MEMORY(defender_readmem,defender_writemem)1326 	MDRV_CPU_MEMORY(defender_readmem,defender_writemem)
1327 
1328 	MDRV_CPU_ADD_TAG("sound", M6808, 3579000/4)
1329 	MDRV_CPU_FLAGS(CPU_AUDIO_CPU)
1330 	MDRV_CPU_MEMORY(sound_readmem,sound_writemem)
1331 
1332 	MDRV_FRAMES_PER_SECOND(60)
1333 	MDRV_VBLANK_DURATION(DEFAULT_60HZ_VBLANK_DURATION)
1334 
1335 	MDRV_MACHINE_INIT(defender)
1336 	MDRV_NVRAM_HANDLER(generic_0fill)
1337 
1338 	/* video hardware */
1339 	MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
1340 	MDRV_SCREEN_SIZE(304, 256)
1341 	MDRV_VISIBLE_AREA(6, 298-1, 7, 247-1)
1342 	MDRV_PALETTE_LENGTH(16)
1343 
1344 	MDRV_VIDEO_START(williams)
1345 	MDRV_VIDEO_UPDATE(williams)
1346 
1347 	/* sound hardware */
1348 	MDRV_SOUND_ADD(DAC, dac_interface)
1349 MACHINE_DRIVER_END
1350 
1351 
1352 static MACHINE_DRIVER_START( williams )
1353 
1354 	/* basic machine hardware */
1355 	MDRV_IMPORT_FROM(defender)
1356 
1357 	MDRV_CPU_MODIFY("main")
1358 	MDRV_CPU_MEMORY(williams_readmem,williams_writemem)
1359 
1360 	MDRV_MACHINE_INIT(williams)
1361 MACHINE_DRIVER_END
1362 
1363 static MACHINE_DRIVER_START( alienar )
1364 
1365 
1366 	/* basic machine hardware */
1367 	MDRV_CPU_ADD_TAG("main", M6809, 1000000)
1368 	MDRV_CPU_MEMORY(defender_readmem,defender_writemem)
1369 
1370 	MDRV_FRAMES_PER_SECOND(60)
1371 	MDRV_VBLANK_DURATION(DEFAULT_60HZ_VBLANK_DURATION)
1372 
1373 	MDRV_MACHINE_INIT(defender)
1374 	MDRV_NVRAM_HANDLER(generic_0fill)
1375 
1376 	/* video hardware */
1377 	MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
1378 	MDRV_SCREEN_SIZE(304, 256)
1379 	MDRV_VISIBLE_AREA(6, 298-1, 7, 247-1)
1380 	MDRV_PALETTE_LENGTH(16)
1381 
1382 	MDRV_VIDEO_START(williams)
1383 	MDRV_VIDEO_UPDATE(williams)
1384 
1385 	/* sound hardware */
1386 	MDRV_SOUND_ADD(DAC, dac_interface)
1387 
1388 	MDRV_CPU_MODIFY("main")
1389 	MDRV_CPU_MEMORY(williams_readmem,williams_writemem)
1390 
1391 	MDRV_MACHINE_INIT(williams)
1392 MACHINE_DRIVER_END
1393 
1394 static MACHINE_DRIVER_START( sinistar )
1395 
1396 	/* basic machine hardware */
1397 	MDRV_IMPORT_FROM(williams)
1398 
1399 	/* sound hardware */
1400 	MDRV_SOUND_ADD(HC55516, sinistar_cvsd_interface)
1401 MACHINE_DRIVER_END
1402 
1403 
1404 static MACHINE_DRIVER_START( alienaru )
1405 
1406 	/* basic machine hardware */
1407 	MDRV_IMPORT_FROM(defender)
1408 
1409 	MDRV_CPU_MODIFY("main")
1410 	MDRV_CPU_MEMORY(williams_readmem,williams_writemem)
1411 
1412 	MDRV_MACHINE_INIT(williams)
1413 MACHINE_DRIVER_END
1414 
1415 
1416 static MACHINE_DRIVER_START( playball )
1417 
1418 	/* basic machine hardware */
1419 	MDRV_IMPORT_FROM(sinistar)
1420 
1421 	/* video hardware */
1422 	MDRV_VISIBLE_AREA(6, 298-1, 8, 239-1)
1423 MACHINE_DRIVER_END
1424 
1425 
1426 
1427 
1428 
1429 static MACHINE_DRIVER_START( blaster )
1430 
1431 	/* basic machine hardware */
1432 	MDRV_IMPORT_FROM(williams)
1433 
1434 	MDRV_CPU_MODIFY("main")
1435 	MDRV_CPU_MEMORY(blaster_readmem,blaster_writemem)
1436 
1437 	/* video hardware */
1438 	MDRV_PALETTE_LENGTH(16+240)
1439 
1440 	MDRV_VIDEO_START(blaster)
1441 MACHINE_DRIVER_END
1442 
1443 
1444 static MACHINE_DRIVER_START( williams2 )
1445 
1446 	/* basic machine hardware */
1447 	MDRV_CPU_ADD_TAG("main", M6809, 1000000)
1448 	MDRV_CPU_MEMORY(williams2_readmem,williams2_writemem)
1449 
1450 	MDRV_CPU_ADD_TAG("sound", M6808, 3579000/4)
1451 	MDRV_CPU_FLAGS(CPU_AUDIO_CPU)
1452 	MDRV_CPU_MEMORY(williams2_sound_readmem,williams2_sound_writemem)
1453 
1454 	MDRV_FRAMES_PER_SECOND(60)
1455 	MDRV_VBLANK_DURATION(DEFAULT_60HZ_VBLANK_DURATION)
1456 	MDRV_MACHINE_INIT(williams2)
1457 	MDRV_NVRAM_HANDLER(generic_0fill)
1458 
1459 	/* video hardware */
1460 	MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
1461 	MDRV_SCREEN_SIZE(288, 256)
1462 	MDRV_VISIBLE_AREA(4, 288-1, 8, 248-1)
1463 	MDRV_GFXDECODE(williams2_gfxdecodeinfo)
1464 	MDRV_PALETTE_LENGTH(16+8*16)
1465 
1466 	MDRV_VIDEO_START(williams2)
1467 	MDRV_VIDEO_UPDATE(williams2)
1468 
1469 	/* sound hardware */
1470 	MDRV_SOUND_ADD_TAG("wmsdac", DAC, dac_interface)
1471 MACHINE_DRIVER_END
1472 
1473 
1474 static MACHINE_DRIVER_START( joust2 )
1475 
1476 	/* basic machine hardware */
1477 	MDRV_IMPORT_FROM(williams2)
1478 	MDRV_IMPORT_FROM(williams_cvsd_sound)
1479 
1480 	MDRV_MACHINE_INIT(joust2)
1481 
1482 	/* sound hardware */
1483 	MDRV_SOUND_REMOVE("wmsdac")
1484 MACHINE_DRIVER_END
1485 
1486 
1487 
1488 /*************************************
1489  *
1490  *	ROM definitions
1491  *
1492  *************************************/
1493 
1494 ROM_START( defender )
1495 	ROM_REGION( 0x14000, REGION_CPU1, 0 )
1496 	ROM_LOAD( "defend.1",     0x0d000, 0x0800, CRC(c3e52d7e) SHA1(a57f5278ffe44248fc73f9925d107f4024ad981a) )
1497 	ROM_LOAD( "defend.4",     0x0d800, 0x0800, CRC(9a72348b) SHA1(ed6ce796702ff32209ced3cb1ba3837dbafa526f) )
1498 	ROM_LOAD( "defend.2",     0x0e000, 0x1000, CRC(89b75984) SHA1(a9481478da38f99efb67f0ecf82d084e14b93b42) )
1499 	ROM_LOAD( "defend.3",     0x0f000, 0x1000, CRC(94f51e9b) SHA1(a24cfc55de56a72758c76fe2a55f1ec6c353b16f) )
1500 	/* bank 0 is the place for CMOS ram */
1501 	ROM_LOAD( "defend.9",     0x10000, 0x0800, CRC(6870e8a5) SHA1(67ccc194b1753a18af0c85f5e603355549c4f727) )
1502 	ROM_LOAD( "defend.12",    0x10800, 0x0800, CRC(f1f88938) SHA1(26e48dfeefa0766837b1e762695b9532dbc8bc5e) )
1503 	ROM_LOAD( "defend.8",     0x11000, 0x0800, CRC(b649e306) SHA1(9d7bc3c89e5a53c575946f06702c722b864b1ff0) )
1504 	ROM_LOAD( "defend.11",    0x11800, 0x0800, CRC(9deaf6d9) SHA1(59b018ba0f3fe6eadfd387dc180ac281460358bc) )
1505 	ROM_LOAD( "defend.7",     0x12000, 0x0800, CRC(339e092e) SHA1(2f89951dbe55d80df43df8dcf497171f73e726d3) )
1506 	ROM_LOAD( "defend.10",    0x12800, 0x0800, CRC(a543b167) SHA1(9292b94b0d74e57e03aada4852ad1997c34122ff) )
1507 	ROM_RELOAD(               0x13800, 0x0800 )
1508 	ROM_LOAD( "defend.6",     0x13000, 0x0800, CRC(65f4efd1) SHA1(a960fd1559ed74b81deba434391e49fc6ec389ca) )
1509 
1510 	ROM_REGION( 0x10000, REGION_CPU2, 0 )
1511 	ROM_LOAD( "defend.snd",   0xf800, 0x0800, CRC(fefd5b48) SHA1(ceb0d18483f0691978c604db94417e6941ad7ff2) )
1512 
1513 ROM_END
1514 
1515 
1516 ROM_START( defendg )
1517 	ROM_REGION( 0x14000, REGION_CPU1, 0 )
1518 	ROM_LOAD( "defeng01.bin", 0x0d000, 0x0800, CRC(6111d74d) SHA1(2a335bdce8269f75012df44b446cb261ddd5924c) )
1519 	ROM_LOAD( "defeng04.bin", 0x0d800, 0x0800, CRC(3cfc04ce) SHA1(8ee65c7daed4d6956d0e15ada4dc414c28376012) )
1520 	ROM_LOAD( "defeng02.bin", 0x0e000, 0x1000, CRC(d184ab6b) SHA1(ed61a95b04f6162aedba8a72bc46005b77283955) )
1521 	ROM_LOAD( "defeng03.bin", 0x0f000, 0x1000, CRC(788b76d7) SHA1(92987207770a870b5be61c820e9e229801f1fa7a) )
1522 	/* bank 0 is the place for CMOS ram */
1523 	ROM_LOAD( "defeng09.bin", 0x10000, 0x0800, CRC(f57caa62) SHA1(c8c91b96fd3bc98eddcc1503159050dae5755001) )
1524 	ROM_LOAD( "defeng12.bin", 0x10800, 0x0800, CRC(33db686f) SHA1(34bc7fa10b7996efcc53d3a891b2983874269828) )
1525 	ROM_LOAD( "defeng08.bin", 0x11000, 0x0800, CRC(9a9eb3d2) SHA1(306a3a24931e1aa5fcfd71e3f117cc726d0920ac) )
1526 	ROM_LOAD( "defeng11.bin", 0x11800, 0x0800, CRC(5ca4e860) SHA1(031188c009b8fca92703a0cc0c2bb44976212ae9) )
1527 	ROM_LOAD( "defeng07.bin", 0x12000, 0x0800, CRC(545c3326) SHA1(98199df5206c261061b0108c68ab9128fa0779eb) )
1528 	ROM_LOAD( "defeng10.bin", 0x12800, 0x0800, CRC(941cf34e) SHA1(411dcb18b67585982672ff687a9249f4890faa1b) )
1529 	ROM_RELOAD(               0x13800, 0x0800 )
1530 	ROM_LOAD( "defeng06.bin", 0x13000, 0x0800, CRC(3af34c05) SHA1(71f3ced06a373fa4805c856bd9fc97760787a920) )
1531 
1532 	ROM_REGION( 0x10000, REGION_CPU2, 0 )
1533 	ROM_LOAD( "defend.snd",   0xf800, 0x0800, CRC(fefd5b48) SHA1(ceb0d18483f0691978c604db94417e6941ad7ff2) )
1534 ROM_END
1535 
1536 
1537 ROM_START( defendw )
1538 	ROM_REGION( 0x14000, REGION_CPU1, 0 )
1539 	ROM_LOAD( "wb01.bin",     0x0d000, 0x1000, CRC(0ee1019d) SHA1(a76247e825b8267abfd195c12f96348fe10d4cbc) )
1540 	ROM_LOAD( "defeng02.bin", 0x0e000, 0x1000, CRC(d184ab6b) SHA1(ed61a95b04f6162aedba8a72bc46005b77283955) )
1541 	ROM_LOAD( "wb03.bin",     0x0f000, 0x1000, CRC(a732d649) SHA1(b681882c02c5870ad613edc77255969a5f796422) )
1542 	/* bank 0 is the place for CMOS ram */
1543 	ROM_LOAD( "defeng09.bin", 0x10000, 0x0800, CRC(f57caa62) SHA1(c8c91b96fd3bc98eddcc1503159050dae5755001) )
1544 	ROM_LOAD( "defeng12.bin", 0x10800, 0x0800, CRC(33db686f) SHA1(34bc7fa10b7996efcc53d3a891b2983874269828) )
1545 	ROM_LOAD( "defeng08.bin", 0x11000, 0x0800, CRC(9a9eb3d2) SHA1(306a3a24931e1aa5fcfd71e3f117cc726d0920ac) )
1546 	ROM_LOAD( "defeng11.bin", 0x11800, 0x0800, CRC(5ca4e860) SHA1(031188c009b8fca92703a0cc0c2bb44976212ae9) )
1547 	ROM_LOAD( "defeng07.bin", 0x12000, 0x0800, CRC(545c3326) SHA1(98199df5206c261061b0108c68ab9128fa0779eb) )
1548 	ROM_LOAD( "defeng10.bin", 0x12800, 0x0800, CRC(941cf34e) SHA1(411dcb18b67585982672ff687a9249f4890faa1b) )
1549 	ROM_RELOAD(               0x13800, 0x0800 )
1550 	ROM_LOAD( "defeng06.bin", 0x13000, 0x0800, CRC(3af34c05) SHA1(71f3ced06a373fa4805c856bd9fc97760787a920) )
1551 
1552 	ROM_REGION( 0x10000, REGION_CPU2, 0 )
1553 	ROM_LOAD( "defend.snd",   0xf800, 0x0800, CRC(fefd5b48) SHA1(ceb0d18483f0691978c604db94417e6941ad7ff2) )
1554 ROM_END
1555 
1556 
1557 ROM_START( defndjeu )
1558 	ROM_REGION( 0x15000, REGION_CPU1, 0 )
1559 	ROM_LOAD( "15", 0x0d000, 0x1000, CRC(706a24bd) SHA1(60cef3d4f7204eff42de2c08244863e83bc842b4) )
1560 	ROM_LOAD( "16", 0x0e000, 0x1000, CRC(03201532) SHA1(77e8c10ba0ecb6e7a7cb4229a5025c4b9ea4c73e) )
1561 	ROM_LOAD( "17", 0x0f000, 0x1000, CRC(25287eca) SHA1(ec81181a5a0ac2adf7c0dabbec638f886c13e6ec) )
1562 	/* bank 0 is the place for CMOS ram */
1563 	ROM_LOAD( "18", 0x10000, 0x1000, CRC(e99d5679) SHA1(b4344a32aed6cc64284661c03993a59718289c82) )
1564 	ROM_LOAD( "19", 0x11000, 0x1000, CRC(769f5984) SHA1(0ea49754b45bc214fd2b69846ede738994f07ee3) )
1565 	ROM_LOAD( "20", 0x12000, 0x1000, CRC(12fa0788) SHA1(7464386521c9db0153caf1ea05a353f0018651e5) )
1566 	ROM_LOAD( "21", 0x13000, 0x1000, CRC(bddb71a3) SHA1(ecba4c09a9d59fd7aa02efa240461df89159d2ec) )
1567 	ROM_RELOAD(     0x14000, 0x1000 )
1568 
1569 	ROM_REGION( 0x10000, REGION_CPU2, 0 )
1570 	ROM_LOAD( "s", 0xf800, 0x0800, CRC(cb79ae42) SHA1(d22bef68ef62aa012f1919338a33621138c2278b) )
1571 ROM_END
1572 
1573 
1574 ROM_START( defcmnd )
1575 	ROM_REGION( 0x15000, REGION_CPU1, 0 )
1576 	ROM_LOAD( "defcmnda.1",   0x0d000, 0x1000, CRC(68effc1d) SHA1(459fd95cdf94233e1a4302d1c166e0f7cc239579) )
1577 	ROM_LOAD( "defcmnda.2",   0x0e000, 0x1000, CRC(1126adc9) SHA1(526cf1ca3a7eefd6115d74ac9af1a50774cc258e) )
1578 	ROM_LOAD( "defcmnda.3",   0x0f000, 0x1000, CRC(7340209d) SHA1(d2cdab8ac4830ac027655ed7fe54314c5b87fdb3) )
1579 	/* bank 0 is the place for CMOS ram */
1580 	ROM_LOAD( "defcmnda.10",  0x10000, 0x0800, CRC(3dddae75) SHA1(f45fcf3e5ca9bf3edd692b4ee1e96f9f1d388522) )
1581 	ROM_LOAD( "defcmnda.7",   0x10800, 0x0800, CRC(3f1e7cf8) SHA1(87afb4b1158e64039129bd8a9653bc61ab3e1e37) )
1582 	ROM_LOAD( "defcmnda.9",   0x11000, 0x0800, CRC(8882e1ff) SHA1(9d54a39230acd01e0555f67ba2a3c9c6d66b59a1) )
1583 	ROM_LOAD( "defcmnda.6",   0x11800, 0x0800, CRC(d068f0c5) SHA1(d32a4232756ca05972780cb35b0add12b31e8283) )
1584 	ROM_LOAD( "defcmnda.8",   0x12000, 0x0800, CRC(fef4cb77) SHA1(96202e97f3392bc043a252e78d1c42b51c38d269) )
1585 	ROM_LOAD( "defcmnda.5",   0x12800, 0x0800, CRC(49b50b40) SHA1(91cf841271a2f7d06f81477b4a450eb4580c7ca5) )
1586 	ROM_LOAD( "defcmnda.4",   0x13000, 0x0800, CRC(43d42a1b) SHA1(b13d59940646451c00b49bbe4a41b9e2df4d7758) )
1587 
1588 	ROM_REGION( 0x10000, REGION_CPU2, 0 )
1589 	ROM_LOAD( "defcmnda.snd", 0xf800, 0x0800, CRC(f122d9c9) SHA1(70092fc354a2efbe7365be922fa36309b50d5c6f) )
1590 ROM_END
1591 
1592 
1593 ROM_START( defence )
1594 	ROM_REGION( 0x15000, REGION_CPU1, 0 )
1595 	ROM_LOAD( "1",            0x0d000, 0x1000, CRC(ebc93622) SHA1(bd1c098e91b24409925d01aa25de013451dba8e6) )
1596 	ROM_LOAD( "2",            0x0e000, 0x1000, CRC(2a4f4f44) SHA1(8c0519fcb631e05e967cf0953ab2749183655594) )
1597 	ROM_LOAD( "3",            0x0f000, 0x1000, CRC(a4112f91) SHA1(aad7ae81da7c20c7f4c1ef41697c8900a0c81f8e) )
1598 	/* bank 0 is the place for CMOS ram */
1599 	ROM_LOAD( "0",            0x10000, 0x0800, CRC(7a1e5998) SHA1(c133f43427540b39a383db7f46298942420d138a) )
1600 	ROM_LOAD( "7",            0x10800, 0x0800, CRC(4c2616a3) SHA1(247411e2bb6618f77df6ea74aef1743fafb491a3) )
1601 	ROM_LOAD( "9",            0x11000, 0x0800, CRC(7b146003) SHA1(04746f1b037bf6549fd53cff8f8c37136fce099e) )
1602 	ROM_LOAD( "6",            0x11800, 0x0800, CRC(6d748030) SHA1(060ddf95eeb1318695a25c8c082a670fcdf117e7) )
1603 	ROM_LOAD( "8",            0x12000, 0x0800, CRC(52d5438b) SHA1(087268ca30a42c00dbeceb4df901ddf80ae50125) )
1604 	ROM_LOAD( "5",            0x12800, 0x0800, CRC(4a270340) SHA1(317fcc3156a099dbe48a0658757a9d6c4c54b23a) )
1605 	ROM_LOAD( "4",            0x13000, 0x0800, CRC(e13f457c) SHA1(c706babc0005dfeb3c1b880047da6ec04bce407d) )
1606 
1607 	ROM_REGION( 0x10000, REGION_CPU2, 0 )
1608 	ROM_LOAD( "defcmnda.snd", 0xf800, 0x0800, CRC(f122d9c9) SHA1(70092fc354a2efbe7365be922fa36309b50d5c6f) )
1609 ROM_END
1610 
1611 
1612 ROM_START( mayday )
1613 	ROM_REGION( 0x15000, REGION_CPU1, 0 )
1614 	ROM_LOAD( "ic03-3.bin",  0x0d000, 0x1000, CRC(a1ff6e62) SHA1(c3c60ce94c6bdc4b07e45f386eff9a4aa4816953) )
1615 	ROM_LOAD( "ic02-2.bin",  0x0e000, 0x1000, CRC(62183aea) SHA1(3843fe055ab6d3bb5a3362f57a63ce99e36cec47) )
1616 	ROM_LOAD( "ic01-1.bin",  0x0f000, 0x1000, CRC(5dcb113f) SHA1(c41d671c336c68824771b7c4f0ffce39f1b6cd62) )
1617 	/* bank 0 is the place for CMOS ram */
1618 	ROM_LOAD( "ic04-4.bin",  0x10000, 0x1000, CRC(ea6a4ec8) SHA1(eaedc11968d88fd6f3c5b40c8d15d64ca6d0a1ab) )
1619 	ROM_LOAD( "ic05-5.bin",  0x11000, 0x1000, CRC(0d797a3e) SHA1(289d2ecfebd7d71430d6624f3c9fbc91f9ef05cc) )
1620 	ROM_LOAD( "ic06-6.bin",  0x12000, 0x1000, CRC(ee8bfcd6) SHA1(f68c44fdc18d57070aea604e261fb7b9407345a2) )
1621 	ROM_LOAD( "ic07-7d.bin", 0x13000, 0x1000, CRC(d9c065e7) SHA1(ceeb58d1dfe14106271f17cf1c689b812216c3c0) )
1622 	ROM_RELOAD(              0x14000, 0x1000 )
1623 
1624 	ROM_REGION( 0x10000, REGION_CPU2, 0 )
1625 	ROM_LOAD( "ic28-8.bin",  0xf800, 0x0800, CRC(fefd5b48) SHA1(ceb0d18483f0691978c604db94417e6941ad7ff2) )
1626 ROM_END
1627 
1628 
1629 ROM_START( maydaya )
1630 	ROM_REGION( 0x15000, REGION_CPU1, 0 )
1631 	ROM_LOAD( "mayday.c", 0x0d000, 0x1000, CRC(872a2f2d) SHA1(5823e889151b34e3fa739775440c788cca0b44c6) )
1632 	ROM_LOAD( "mayday.b", 0x0e000, 0x1000, CRC(c4ab5e22) SHA1(757fd9311cffea420b1de8f574e84c13c0aac77d) )
1633 	ROM_LOAD( "mayday.a", 0x0f000, 0x1000, CRC(329a1318) SHA1(4aa1d05ca05f37460eccb450ae61c21d86348f02) )
1634 	/* bank 0 is the place for CMOS ram */
1635 	ROM_LOAD( "mayday.d", 0x10000, 0x1000, CRC(c2ae4716) SHA1(582f763eda7d7d51ed0580045d6c617246b104b7) )
1636 	ROM_LOAD( "mayday.e", 0x11000, 0x1000, CRC(41225666) SHA1(6d9c0347ff85bf9f9ae4648976c3ee971fec0f53) )
1637 	ROM_LOAD( "mayday.f", 0x12000, 0x1000, CRC(c39be3c0) SHA1(91ac61e20d325a3a018ffe57bd79bfdfdc5a3cbd) )
1638 	ROM_LOAD( "mayday.g", 0x13000, 0x1000, CRC(2bd0f106) SHA1(ac74d74a54d5b464e4c82b5b46ad7d20cdb7b6d7) )
1639 	ROM_RELOAD(           0x14000, 0x1000 )
1640 
1641 	ROM_REGION( 0x10000, REGION_CPU2, 0 )
1642 	ROM_LOAD( "ic28-8.bin", 0xf800, 0x0800, CRC(fefd5b48) SHA1(ceb0d18483f0691978c604db94417e6941ad7ff2) )
1643 ROM_END
1644 
1645 
1646 ROM_START( maydayb )
1647 	ROM_REGION( 0x15000, REGION_CPU1, 0 )
1648 	ROM_LOAD( "ic03-3.bin",  0x0d000, 0x1000, CRC(a1ff6e62) SHA1(c3c60ce94c6bdc4b07e45f386eff9a4aa4816953) )
1649 	ROM_LOAD( "ic02-2.bin",  0x0e000, 0x1000, CRC(62183aea) SHA1(3843fe055ab6d3bb5a3362f57a63ce99e36cec47) )
1650 	ROM_LOAD( "ic01-1.bin",  0x0f000, 0x1000, CRC(5dcb113f) SHA1(c41d671c336c68824771b7c4f0ffce39f1b6cd62) )
1651 	/* bank 0 is the place for CMOS ram */
1652 	ROM_LOAD( "rom7.bin",    0x10000, 0x1000, CRC(0c3ca687) SHA1(a83f17c20f5767f092300266dd494bd0abf267bb) )
1653 	ROM_LOAD( "ic05-5.bin",  0x11000, 0x1000, CRC(0d797a3e) SHA1(289d2ecfebd7d71430d6624f3c9fbc91f9ef05cc) )
1654 	ROM_LOAD( "ic06-6.bin",  0x12000, 0x1000, CRC(ee8bfcd6) SHA1(f68c44fdc18d57070aea604e261fb7b9407345a2) )
1655 	ROM_LOAD( "ic07-7d.bin", 0x13000, 0x1000, CRC(d9c065e7) SHA1(ceeb58d1dfe14106271f17cf1c689b812216c3c0) )
1656 	ROM_RELOAD(              0x14000, 0x1000 )
1657 
1658 	ROM_REGION( 0x10000, REGION_CPU2, 0 )
1659 	ROM_LOAD( "ic28-8.bin",  0xf800, 0x0800, CRC(fefd5b48) SHA1(ceb0d18483f0691978c604db94417e6941ad7ff2) )
1660 
1661 	ROM_REGION( 0x2000, REGION_USER1, 0 )
1662 	ROM_LOAD( "rom11.bin",   0x0000, 0x0800, CRC(7e113979) SHA1(ac908afb6aa756fc4db1ffddbd3688aa07080693) )
1663 	ROM_LOAD( "rom12.bin",   0x0800, 0x0800, CRC(a562c506) SHA1(a0bae41732f05caa80b9c13fba6ae4f01647e680) )
1664 	ROM_LOAD( "rom6a.bin",   0x1000, 0x0800, CRC(8e4e981f) SHA1(685c1fca9373f4129c7c6b86f18900a1bd324019) )
1665 	ROM_LOAD( "rom8-sos.bin",0x1800, 0x0800, CRC(6a9b383f) SHA1(10e71a3bb9492b6c34ff06760dd55c442611ca75) )
1666 ROM_END
1667 
1668 
1669 ROM_START( colony7 )
1670 	ROM_REGION( 0x14000, REGION_CPU1, 0 )
1671 	ROM_LOAD( "cs03.bin",     0x0d000, 0x1000, CRC(7ee75ae5) SHA1(1d268d83c2b0c7897d9e783f5da4e1d892709ba4) )
1672 	ROM_LOAD( "cs02.bin",     0x0e000, 0x1000, CRC(c60b08cb) SHA1(8cf91a2c2c04199b2870bb11e10fa6ffef5b877f) )
1673 	ROM_LOAD( "cs01.bin",     0x0f000, 0x1000, CRC(1bc97436) SHA1(326692de3491925bbeea9b0e880d9133f0e6440c) )
1674 	/* bank 0 is the place for CMOS ram */
1675 	ROM_LOAD( "cs06.bin",     0x10000, 0x0800, CRC(318b95af) SHA1(cb276ef440436f6000a2d20252f3197a67965167) )
1676 	ROM_LOAD( "cs04.bin",     0x10800, 0x0800, CRC(d740faee) SHA1(aad164e72ebb0de18487c5397ea33d300cf93423) )
1677 	ROM_LOAD( "cs07.bin",     0x11000, 0x0800, CRC(0b23638b) SHA1(b577c0cefa3ea2df436ed0fa1efa8ecd04ff78b0) )
1678 	ROM_LOAD( "cs05.bin",     0x11800, 0x0800, CRC(59e406a8) SHA1(b64081ca83b6f57ac8fb71b1f8618083f19b99de) )
1679 	ROM_LOAD( "cs08.bin",     0x12000, 0x0800, CRC(3bfde87a) SHA1(f5047927833be97324c861aa93a8e95b457058c4) )
1680 	ROM_RELOAD(           0x12800, 0x0800 )
1681 
1682 	ROM_REGION( 0x10000, REGION_CPU2, 0 )
1683 	ROM_LOAD( "cs11.bin",     0xf800, 0x0800, CRC(6032293c) SHA1(dd2c6afc1149a879d49e93d1a2fa8e1f6d0b043b) )
1684 ROM_END
1685 
1686 
1687 ROM_START( colony7a )
1688 	ROM_REGION( 0x14000, REGION_CPU1, 0 )
1689 	ROM_LOAD( "cs03a.bin",    0x0d000, 0x1000, CRC(e0b0d23b) SHA1(4c50e00a71b3b2bf8d032a3cb496e5473204a8d6) )
1690 	ROM_LOAD( "cs02a.bin",    0x0e000, 0x1000, CRC(370c6f41) SHA1(4e13a4cf9c1a3b1c354443c41549b59581d8b357) )
1691 	ROM_LOAD( "cs01a.bin",    0x0f000, 0x1000, CRC(ba299946) SHA1(42e5d6ad0505f5a951d92165c9e2fa4e86659469) )
1692 	/* bank 0 is the place for CMOS ram */
1693 	ROM_LOAD( "cs06.bin",     0x10000, 0x0800, CRC(318b95af) SHA1(cb276ef440436f6000a2d20252f3197a67965167) )
1694 	ROM_LOAD( "cs04.bin",     0x10800, 0x0800, CRC(d740faee) SHA1(aad164e72ebb0de18487c5397ea33d300cf93423) )
1695 	ROM_LOAD( "cs07.bin",     0x11000, 0x0800, CRC(0b23638b) SHA1(b577c0cefa3ea2df436ed0fa1efa8ecd04ff78b0) )
1696 	ROM_LOAD( "cs05.bin",     0x11800, 0x0800, CRC(59e406a8) SHA1(b64081ca83b6f57ac8fb71b1f8618083f19b99de) )
1697 	ROM_LOAD( "cs08.bin",     0x12000, 0x0800, CRC(3bfde87a) SHA1(f5047927833be97324c861aa93a8e95b457058c4) )
1698 	ROM_RELOAD(            0x12800, 0x0800 )
1699 
1700 	ROM_REGION( 0x10000, REGION_CPU2, 0 )
1701 	ROM_LOAD( "cs11.bin",     0xf800, 0x0800, CRC(6032293c) SHA1(dd2c6afc1149a879d49e93d1a2fa8e1f6d0b043b) )
1702 ROM_END
1703 
1704 
1705 ROM_START( stargate )
1706 	ROM_REGION( 0x10000, REGION_CPU1, 0 )
1707 	ROM_LOAD( "01",           0x0000, 0x1000, CRC(88824d18) SHA1(f003a5a9319c4eb8991fa2aae3f10c72d6b8e81a) )
1708 	ROM_LOAD( "02",           0x1000, 0x1000, CRC(afc614c5) SHA1(087c6da93318e8dc922d3d22e0a2af7b9759701c) )
1709 	ROM_LOAD( "03",           0x2000, 0x1000, CRC(15077a9d) SHA1(7badb4318b208f49d7fa65e915d0aa22a1e37915) )
1710 	ROM_LOAD( "04",           0x3000, 0x1000, CRC(a8b4bf0f) SHA1(6b4d47c2899fe9f14f9dab5928499f12078c437d) )
1711 	ROM_LOAD( "05",           0x4000, 0x1000, CRC(2d306074) SHA1(54f871983699113e31bb756d4ca885c26c2d66b4) )
1712 	ROM_LOAD( "06",           0x5000, 0x1000, CRC(53598dde) SHA1(54b02d944caf95283c9b6f0160e75ea8c4ccc97b) )
1713 	ROM_LOAD( "07",           0x6000, 0x1000, CRC(23606060) SHA1(a487ffcd4920d1056b87469735f7e1002f6a2e49) )
1714 	ROM_LOAD( "08",           0x7000, 0x1000, CRC(4ec490c7) SHA1(8726ebaf048db9608dfe365bf434ed5ca9452db7) )
1715 	ROM_LOAD( "09",           0x8000, 0x1000, CRC(88187b64) SHA1(efacc4a6d4b2af9a236c9d520de6d605c79cc5a8) )
1716 	ROM_LOAD( "10",           0xd000, 0x1000, CRC(60b07ff7) SHA1(ba833f48ddfc1bd04ddb41b1d1c840d66ee7da30) )
1717 	ROM_LOAD( "11",           0xe000, 0x1000, CRC(7d2c5daf) SHA1(6ca39f493eb8b370154ad46ef01976d352c929e1) )
1718 	ROM_LOAD( "12",           0xf000, 0x1000, CRC(a0396670) SHA1(c46872550e0ca031453c6513f8f0448ecc9b5572) )
1719 
1720 	ROM_REGION( 0x10000, REGION_CPU2, 0 )
1721 	ROM_LOAD( "sg.snd",       0xf800, 0x0800, CRC(2fcf6c4d) SHA1(9c4334ac3ff15d94001b22fc367af40f9deb7d57) )
1722 ROM_END
1723 
1724 
1725 ROM_START( joust )
1726 	ROM_REGION( 0x10000, REGION_CPU1, 0 )
1727 	ROM_LOAD( "joust.wg1",    0x0000, 0x1000, CRC(fe41b2af) SHA1(0443e00ae2eb3e66cf805562ee04309487bb0ba4) )
1728 	ROM_LOAD( "joust.wg2",    0x1000, 0x1000, CRC(501c143c) SHA1(5fda266d43cbbf42eeae1a078b5209d9408ab99f) )
1729 	ROM_LOAD( "joust.wg3",    0x2000, 0x1000, CRC(43f7161d) SHA1(686da120aa4bd4a41f3d93e8c79ebb343977851a) )
1730 	ROM_LOAD( "joust.wg4",    0x3000, 0x1000, CRC(db5571b6) SHA1(cb1c3285344e2cfbe0a81ab9b51758c40da8a23f) )
1731 	ROM_LOAD( "joust.wg5",    0x4000, 0x1000, CRC(c686bb6b) SHA1(d9cac4c46820e1a451a145864bca7a35cfab7d37) )
1732 	ROM_LOAD( "joust.wg6",    0x5000, 0x1000, CRC(fac5f2cf) SHA1(febaa8cf5c3a0af901cd12d0b7909f6fec3beadd) )
1733 	ROM_LOAD( "joust.wg7",    0x6000, 0x1000, CRC(81418240) SHA1(5ad14aa65e71c3856dcdb04c99edda92e406a3e3) )
1734 	ROM_LOAD( "joust.wg8",    0x7000, 0x1000, CRC(ba5359ba) SHA1(f4ee13d5a95ed3e1050a3927a3a0ccf86ed7752d) )
1735 	ROM_LOAD( "joust.wg9",    0x8000, 0x1000, CRC(39643147) SHA1(d95d3b746133eac9dcc9ee05eabecb797023f1a5) )
1736 	ROM_LOAD( "joust.wga",    0xd000, 0x1000, CRC(3f1c4f89) SHA1(90864a8ab944df45287bf0f68ad3a85194077a82) )
1737 	ROM_LOAD( "joust.wgb",    0xe000, 0x1000, CRC(ea48b359) SHA1(6d38003d56bebeb1f5b4d2287d587342847aa195) )
1738 	ROM_LOAD( "joust.wgc",    0xf000, 0x1000, CRC(c710717b) SHA1(7d01764e8251c60b3cab96f7dc6dcc1c624f9d12) )
1739 
1740 	ROM_REGION( 0x10000, REGION_CPU2, 0 )
1741 	ROM_LOAD( "joust.snd",    0xf000, 0x1000, CRC(f1835bdd) SHA1(af7c066d2949d36b87ea8c425ca7d12f82b5c653) )
1742 ROM_END
1743 
1744 
1745 ROM_START( joustwr )
1746 	ROM_REGION( 0x10000, REGION_CPU1, 0 )
1747 	ROM_LOAD( "joust.wg1",    0x0000, 0x1000, CRC(fe41b2af) SHA1(0443e00ae2eb3e66cf805562ee04309487bb0ba4) )
1748 	ROM_LOAD( "joust.wg2",    0x1000, 0x1000, CRC(501c143c) SHA1(5fda266d43cbbf42eeae1a078b5209d9408ab99f) )
1749 	ROM_LOAD( "joust.wg3",    0x2000, 0x1000, CRC(43f7161d) SHA1(686da120aa4bd4a41f3d93e8c79ebb343977851a) )
1750 	ROM_LOAD( "joust.wg4",    0x3000, 0x1000, CRC(db5571b6) SHA1(cb1c3285344e2cfbe0a81ab9b51758c40da8a23f) )
1751 	ROM_LOAD( "joust.wg5",    0x4000, 0x1000, CRC(c686bb6b) SHA1(d9cac4c46820e1a451a145864bca7a35cfab7d37) )
1752 	ROM_LOAD( "joust.wg6",    0x5000, 0x1000, CRC(fac5f2cf) SHA1(febaa8cf5c3a0af901cd12d0b7909f6fec3beadd) )
1753 	ROM_LOAD( "joust.wr7",    0x6000, 0x1000, CRC(e6f439c4) SHA1(ff8f1d54f3ac91101ab9f5f115baeca4f2670186) )
1754 	ROM_LOAD( "joust.wg8",    0x7000, 0x1000, CRC(ba5359ba) SHA1(f4ee13d5a95ed3e1050a3927a3a0ccf86ed7752d) )
1755 	ROM_LOAD( "joust.wg9",    0x8000, 0x1000, CRC(39643147) SHA1(d95d3b746133eac9dcc9ee05eabecb797023f1a5) )
1756 	ROM_LOAD( "joust.wra",    0xd000, 0x1000, CRC(2039014a) SHA1(b9a76ecf01404585f833f76c54aa5a88a0215715) )
1757 	ROM_LOAD( "joust.wgb",    0xe000, 0x1000, CRC(ea48b359) SHA1(6d38003d56bebeb1f5b4d2287d587342847aa195) )
1758 	ROM_LOAD( "joust.wgc",    0xf000, 0x1000, CRC(c710717b) SHA1(7d01764e8251c60b3cab96f7dc6dcc1c624f9d12) )
1759 
1760 	ROM_REGION( 0x10000, REGION_CPU2, 0 )
1761 	ROM_LOAD( "joust.snd",    0xf000, 0x1000, CRC(f1835bdd) SHA1(af7c066d2949d36b87ea8c425ca7d12f82b5c653) )
1762 ROM_END
1763 
1764 
1765 ROM_START( joustr )
1766 	ROM_REGION( 0x10000, REGION_CPU1, 0 )
1767 	ROM_LOAD( "joust.wg1",    0x0000, 0x1000, CRC(fe41b2af) SHA1(0443e00ae2eb3e66cf805562ee04309487bb0ba4) )
1768 	ROM_LOAD( "joust.wg2",    0x1000, 0x1000, CRC(501c143c) SHA1(5fda266d43cbbf42eeae1a078b5209d9408ab99f) )
1769 	ROM_LOAD( "joust.wg3",    0x2000, 0x1000, CRC(43f7161d) SHA1(686da120aa4bd4a41f3d93e8c79ebb343977851a) )
1770 	ROM_LOAD( "joust.sr4",    0x3000, 0x1000, CRC(ab347170) SHA1(ad50c83fcfa958f2673cae04bd811095f9ee08c0) )
1771 	ROM_LOAD( "joust.wg5",    0x4000, 0x1000, CRC(c686bb6b) SHA1(d9cac4c46820e1a451a145864bca7a35cfab7d37) )
1772 	ROM_LOAD( "joust.sr6",    0x5000, 0x1000, CRC(3d9a6fac) SHA1(0c81394ae96a2fcfa4c953d38e43f3ef415fe4fc) )
1773 	ROM_LOAD( "joust.sr7",    0x6000, 0x1000, CRC(0a70b3d1) SHA1(eb78b694aa29f777f3c7e7104e568f865930c0ec) )
1774 	ROM_LOAD( "joust.sr8",    0x7000, 0x1000, CRC(a7f01504) SHA1(0ca3211d060befc102bda2e97d163de7fb12a6f6) )
1775 	ROM_LOAD( "joust.sr9",    0x8000, 0x1000, CRC(978687ad) SHA1(25e651af3e3be08d6293aab427a0843e9333a629) )
1776 	ROM_LOAD( "joust.sra",    0xd000, 0x1000, CRC(c0c6e52a) SHA1(f14ff16195027f3e199e79e43741f0849c17fd10) )
1777 	ROM_LOAD( "joust.srb",    0xe000, 0x1000, CRC(ab11bcf9) SHA1(efb09e92a621d6c4d6cde2f166e8c988c64d81ae) )
1778 	ROM_LOAD( "joust.src",    0xf000, 0x1000, CRC(ea14574b) SHA1(7572d118b2343646054e558f0bd48e4959d84ce7) )
1779 
1780 	ROM_REGION( 0x10000, REGION_CPU2, 0 )
1781 	ROM_LOAD( "joust.snd",    0xf000, 0x1000, CRC(f1835bdd) SHA1(af7c066d2949d36b87ea8c425ca7d12f82b5c653) )
1782 ROM_END
1783 
1784 
1785 ROM_START( robotron )
1786 	ROM_REGION( 0x10000, REGION_CPU1, 0 )
1787 	ROM_LOAD( "robotron.sb1", 0x0000, 0x1000, CRC(66c7d3ef) SHA1(f6d60e26c209c1df2cc01ac07ad5559daa1b7118) )
1788 	ROM_LOAD( "robotron.sb2", 0x1000, 0x1000, CRC(5bc6c614) SHA1(4d6e82bc29f49100f7751ccfc6a9ff35695b84b3) )
1789 	ROM_LOAD( "robotron.sb3", 0x2000, 0x1000, CRC(e99a82be) SHA1(06a8c8dd0b4726eb7f0bb0e89c8533931d75fc1c) )
1790 	ROM_LOAD( "robotron.sb4", 0x3000, 0x1000, CRC(afb1c561) SHA1(aaf89c19fd8f4e8750717169eb1af476aef38a5e) )
1791 	ROM_LOAD( "robotron.sb5", 0x4000, 0x1000, CRC(62691e77) SHA1(79b4680ce19bd28882ae823f0e7b293af17cbb91) )
1792 	ROM_LOAD( "robotron.sb6", 0x5000, 0x1000, CRC(bd2c853d) SHA1(f76ec5432a7939b33a27be1c6855e2dbe6d9fdc8) )
1793 	ROM_LOAD( "robotron.sb7", 0x6000, 0x1000, CRC(49ac400c) SHA1(06eae5138254723819a5e93cfd9e9f3285fcddf5) )
1794 	ROM_LOAD( "robotron.sb8", 0x7000, 0x1000, CRC(3a96e88c) SHA1(7ae38a609ed9a6f62ca003cab719740ed7651b7c) )
1795 	ROM_LOAD( "robotron.sb9", 0x8000, 0x1000, CRC(b124367b) SHA1(fd9d75b866f0ebbb723f84889337e6814496a103) )
1796 	ROM_LOAD( "robotron.sba", 0xd000, 0x1000, CRC(13797024) SHA1(d426a50e75dabe936de643c83a548da5e399331c) )
1797 	ROM_LOAD( "robotron.sbb", 0xe000, 0x1000, CRC(7e3c1b87) SHA1(f8c6cbe3688f256f41a121255fc08f575f6a4b4f) )
1798 	ROM_LOAD( "robotron.sbc", 0xf000, 0x1000, CRC(645d543e) SHA1(fad7cea868ebf17347c4bc5193d647bbd8f9517b) )
1799 
1800 	ROM_REGION( 0x10000, REGION_CPU2, 0 )
1801 	ROM_LOAD( "robotron.snd", 0xf000, 0x1000, CRC(c56c1d28) SHA1(15afefef11bfc3ab78f61ab046701db78d160ec3) )
1802 ROM_END
1803 
1804 
1805 ROM_START( robotryo )
1806 	ROM_REGION( 0x10000, REGION_CPU1, 0 )
1807 	ROM_LOAD( "robotron.sb1", 0x0000, 0x1000, CRC(66c7d3ef) SHA1(f6d60e26c209c1df2cc01ac07ad5559daa1b7118) )
1808 	ROM_LOAD( "robotron.sb2", 0x1000, 0x1000, CRC(5bc6c614) SHA1(4d6e82bc29f49100f7751ccfc6a9ff35695b84b3) )
1809 	ROM_LOAD( "robotron.yo3", 0x2000, 0x1000, CRC(67a369bc) SHA1(5a912d485e686de5e3175d3fc0e5daad36f4b836) )
1810 	ROM_LOAD( "robotron.yo4", 0x3000, 0x1000, CRC(b0de677a) SHA1(02013e00513dd74e878a01791cbcca92712e2c80) )
1811 	ROM_LOAD( "robotron.yo5", 0x4000, 0x1000, CRC(24726007) SHA1(8b4ed881f64e3ce73ac1a9ae2c184721c1ab37cc) )
1812 	ROM_LOAD( "robotron.yo6", 0x5000, 0x1000, CRC(028181a6) SHA1(41c4d9ece2ae8a103b7151fc4ff576796303318d) )
1813 	ROM_LOAD( "robotron.yo7", 0x6000, 0x1000, CRC(4dfcceae) SHA1(46fe1b1162d6054eb502852d065fc2e8c694b09d) )
1814 	ROM_LOAD( "robotron.sb8", 0x7000, 0x1000, CRC(3a96e88c) SHA1(7ae38a609ed9a6f62ca003cab719740ed7651b7c) )
1815 	ROM_LOAD( "robotron.sb9", 0x8000, 0x1000, CRC(b124367b) SHA1(fd9d75b866f0ebbb723f84889337e6814496a103) )
1816 	ROM_LOAD( "robotron.yoa", 0xd000, 0x1000, CRC(4a9d5f52) SHA1(d5ae801e60ed829e7ef5c54a18aefca54eae827f) )
1817 	ROM_LOAD( "robotron.yob", 0xe000, 0x1000, CRC(2afc5e7f) SHA1(f3405be9ad2287f3921e7dbd9c5313c91fa7f8d6) )
1818 	ROM_LOAD( "robotron.yoc", 0xf000, 0x1000, CRC(45da9202) SHA1(81b3b2a72a3c871e8d7b9348056622c90a20d876) )
1819 
1820 	ROM_REGION( 0x10000, REGION_CPU2, 0 )
1821 	ROM_LOAD( "robotron.snd", 0xf000, 0x1000, CRC(c56c1d28) SHA1(15afefef11bfc3ab78f61ab046701db78d160ec3) )
1822 ROM_END
1823 
1824 
1825 ROM_START( spdball )
1826 	ROM_REGION( 0x10000, REGION_CPU1, 0 )
1827 	ROM_LOAD( "speedbal.01", 0x0000, 0x1000, CRC(7f4801bb) SHA1(8f22396170571189b1d088d73331d6a713c76f41) )
1828 	ROM_LOAD( "speedbal.02", 0x1000, 0x1000, CRC(5cd5e489) SHA1(83c1bce945ecbaa4a59e0023198e574d9069680c) )
1829 	ROM_LOAD( "speedbal.03", 0x2000, 0x1000, CRC(280e11a4) SHA1(4ef321e1744955a9a54c1e4b1f88c01c01e7b7c8) )
1830 	ROM_LOAD( "speedbal.04", 0x3000, 0x1000, CRC(3469cbbf) SHA1(70b46cf686438441484ffeca0fa1398c15c8811e) )
1831 	ROM_LOAD( "speedbal.05", 0x4000, 0x1000, CRC(87373c89) SHA1(a3cd72f4b517d5d727059a7d911b79ced27e9f93) )
1832 	ROM_LOAD( "speedbal.06", 0x5000, 0x1000, CRC(48779a0d) SHA1(9cdfc12d1021b5d66acd38ab61f385219be39f4f) )
1833 	ROM_LOAD( "speedbal.07", 0x6000, 0x1000, CRC(2e5d8db6) SHA1(7a13d60267ce12a6a4b20322c2ed1f39762bc663) )
1834 	ROM_LOAD( "speedbal.08", 0x7000, 0x1000, CRC(c173cedf) SHA1(603c4c7cdc712d54a86b59470651d00b369293d8) )
1835 	ROM_LOAD( "speedbal.09", 0x8000, 0x1000, CRC(415f424b) SHA1(f7e59385a67319ba152488762af1b42fc62ab264) )
1836 	ROM_LOAD( "speedbal.10", 0xd000, 0x1000, CRC(4a3add93) SHA1(6939dd6cb6751a0406f364223029eff99040f9e2) )
1837 	ROM_LOAD( "speedbal.11", 0xe000, 0x1000, CRC(1fbcfaa5) SHA1(fccdebbab172b141bbaec6f520b378d21c72f67a) )
1838 	ROM_LOAD( "speedbal.12", 0xf000, 0x1000, CRC(f3458f41) SHA1(366fb880b4dc68849d6ea7a9dab55efa9c566123) )
1839 
1840 	ROM_REGION( 0x10000, REGION_CPU2, 0 )
1841 	ROM_LOAD( "speedbal.snd", 0xf000, 0x1000, CRC(78de20e2) SHA1(ece6e04b1d57167faf7aaee0829e7c31eb560437) )
1842 
1843 	ROM_REGION( 0x1000, REGION_USER1, ROMREGION_DISPOSE )
1844 	ROM_LOAD( "mystery.rom", 0x00000, 0x1000, CRC(dcb6a070) SHA1(6a6fcddf5b46eef187dcf5d9b60e03e9375e7276) )
1845 ROM_END
1846 
1847 ROM_START( alienar )
1848 	ROM_REGION( 0x19000, REGION_CPU1, 0 )
1849 	ROM_LOAD( "aarom01",   0x0000, 0x1000, CRC(bb0c21be) SHA1(dbf122870adaa49cd99e2c1e9fa4b78fb74ef2c1) )
1850 	ROM_LOAD( "aarom02",   0x1000, 0x1000, CRC(165acd37) SHA1(12466c94bcf5a98f154a639ecc2e95d5193cbab2) )
1851 	ROM_LOAD( "aarom03",   0x2000, 0x1000, CRC(e5d51d92) SHA1(598c928499e977a30906319c97ffa1ef2b9395d1) )
1852 	ROM_LOAD( "aarom04",   0x3000, 0x1000, CRC(24f6feb8) SHA1(c1b7d764785b4edfe80a90ffdc52a67c8dbbfea5) )
1853 	ROM_LOAD( "aarom05",   0x4000, 0x1000, CRC(5b1ac59b) SHA1(9b312eb419e994a006fda2ae61c58c31f048bace) )
1854 	ROM_LOAD( "aarom06",   0x5000, 0x1000, CRC(da7195a2) SHA1(ef2c2750c504176fd6a11e8463278d97cac9a5c5) )
1855 	ROM_LOAD( "aarom07",   0x6000, 0x1000, CRC(f9812be4) SHA1(5f116345f09cd79790612672aa48ede63fc91f56) )
1856 	ROM_LOAD( "aarom08",   0x7000, 0x1000, CRC(cd7f3a87) SHA1(59577059308931139ecc036d06953660a148d91c) )
1857 	ROM_LOAD( "aarom09",   0x8000, 0x1000, CRC(e6ce77b4) SHA1(bd4354100067654d0ad2e590591582dbdfb845b6) )
1858 	ROM_LOAD( "aarom10",   0xd000, 0x1000, CRC(6feb0314) SHA1(5cf30f097bc695cbd388cb408e78394926362a7b) )
1859 	ROM_LOAD( "aarom11",   0xe000, 0x1000, CRC(ae3a270e) SHA1(867fff32062bc876390e8ca6bd7cedae47cd92c9) )
1860 	ROM_LOAD( "aarom12",   0xf000, 0x1000, CRC(6be9f09e) SHA1(98821c9b94301c5fd6e7f5d9e4bc9c1bdbab53ec) )
1861 ROM_END
1862 
1863 ROM_START( alienaru )
1864 	ROM_REGION( 0x19000, REGION_CPU1, 0 )
1865 	ROM_LOAD( "aarom01",   0x0000, 0x1000, CRC(bb0c21be) SHA1(dbf122870adaa49cd99e2c1e9fa4b78fb74ef2c1) )
1866 	ROM_LOAD( "aarom02",   0x1000, 0x1000, CRC(165acd37) SHA1(12466c94bcf5a98f154a639ecc2e95d5193cbab2) )
1867 	ROM_LOAD( "aarom03",   0x2000, 0x1000, CRC(e5d51d92) SHA1(598c928499e977a30906319c97ffa1ef2b9395d1) )
1868 	ROM_LOAD( "aarom04",   0x3000, 0x1000, CRC(24f6feb8) SHA1(c1b7d764785b4edfe80a90ffdc52a67c8dbbfea5) )
1869 	ROM_LOAD( "aarom05",   0x4000, 0x1000, CRC(5b1ac59b) SHA1(9b312eb419e994a006fda2ae61c58c31f048bace) )
1870 	ROM_LOAD( "aarom06",   0x5000, 0x1000, CRC(da7195a2) SHA1(ef2c2750c504176fd6a11e8463278d97cac9a5c5) )
1871 	ROM_LOAD( "aarom07",   0x6000, 0x1000, CRC(f9812be4) SHA1(5f116345f09cd79790612672aa48ede63fc91f56) )
1872 	ROM_LOAD( "aarom08",   0x7000, 0x1000, CRC(cd7f3a87) SHA1(59577059308931139ecc036d06953660a148d91c) )
1873 	ROM_LOAD( "aarom09",   0x8000, 0x1000, CRC(e6ce77b4) SHA1(bd4354100067654d0ad2e590591582dbdfb845b6) )
1874 	ROM_LOAD( "aarom10",   0xd000, 0x1000, CRC(6feb0314) SHA1(5cf30f097bc695cbd388cb408e78394926362a7b) )
1875 	ROM_LOAD( "aarom11",   0xe000, 0x1000, CRC(ae3a270e) SHA1(867fff32062bc876390e8ca6bd7cedae47cd92c9) )
1876 	ROM_LOAD( "aarom12",   0xf000, 0x1000, CRC(6be9f09e) SHA1(98821c9b94301c5fd6e7f5d9e4bc9c1bdbab53ec) )
1877 
1878 
1879 	ROM_REGION( 0x10000, REGION_CPU2, 0 )
1880 	ROM_LOAD( "sg.snd",    0xf800, 0x0800, CRC(2fcf6c4d) SHA1(9c4334ac3ff15d94001b22fc367af40f9deb7d57) )
1881 
1882 	/*
1883 	ROM_REGION( 0x0400, REGION_PROMS, 0 )
1884 	ROM_LOAD( "decoder.4", 0x0000, 0x0200, CRC(e6631c23) SHA1(9988723269367fb44ef83f627186a1c88cf7877e) )
1885 	ROM_LOAD( "decoder.6", 0x0200, 0x0200, CRC(83faf25e) SHA1(30002643d08ed983a6701a7c4b5ee74a2f4a1adb) )
1886 	*/
1887 ROM_END
1888 
1889 ROM_START( bubbles )
1890 	ROM_REGION( 0x10000, REGION_CPU1, 0 )
1891 	ROM_LOAD( "bubbles.1b",   0x0000, 0x1000, CRC(8234f55c) SHA1(4d60942320c03ae50b0b17267062a321cf49e240) )
1892 	ROM_LOAD( "bubbles.2b",   0x1000, 0x1000, CRC(4a188d6a) SHA1(2788c4a21659799e59ab82bc8d1864a3abe3b6d7) )
1893 	ROM_LOAD( "bubbles.3b",   0x2000, 0x1000, CRC(7728f07f) SHA1(2a2c6dd8c2196dcd5e71b38554a56ee03d2aa454) )
1894 	ROM_LOAD( "bubbles.4b",   0x3000, 0x1000, CRC(040be7f9) SHA1(de4d212cd2967b2dcd7b2c09dea2c1b06ce4c5bd) )
1895 	ROM_LOAD( "bubbles.5b",   0x4000, 0x1000, CRC(0b5f29e0) SHA1(ae52f8c69c8b821abb458288c8ee0bc6c28fe535) )
1896 	ROM_LOAD( "bubbles.6b",   0x5000, 0x1000, CRC(4dd0450d) SHA1(d55aa8fb8f2974ce5ba7155b01bc3e3622f202af) )
1897 	ROM_LOAD( "bubbles.7b",   0x6000, 0x1000, CRC(e0a26ec0) SHA1(2da6213df6c15735a8bbd6750cfb1a1b6232a6f5) )
1898 	ROM_LOAD( "bubbles.8b",   0x7000, 0x1000, CRC(4fd23d8d) SHA1(9d71caa30bc3f4151789279d21651e5a4fe4a484) )
1899 	ROM_LOAD( "bubbles.9b",   0x8000, 0x1000, CRC(b48559fb) SHA1(551a49a12353044dbbf28dba2bd860c2d00c50bd) )
1900 	ROM_LOAD( "bubbles.10b",  0xd000, 0x1000, CRC(26e7869b) SHA1(db428e79fc325ae3c8cab460267c27cdbc35a3bd) )
1901 	ROM_LOAD( "bubbles.11b",  0xe000, 0x1000, CRC(5a5b572f) SHA1(f0c3a330abf9c8cfb6007ee372409450d2a15a93) )
1902 	ROM_LOAD( "bubbles.12b",  0xf000, 0x1000, CRC(ce22d2e2) SHA1(be4b9800c846660ce2b2ddd75ad872dcf174979a) )
1903 
1904 	ROM_REGION( 0x10000, REGION_CPU2, 0 )
1905 	ROM_LOAD( "bubbles.snd",  0xf000, 0x1000, CRC(689ce2aa) SHA1(b70d2553f731f9a20ddaf9af2f93b7e9c44d4d99) )
1906 ROM_END
1907 
1908 
1909 ROM_START( bubblesr )
1910 	ROM_REGION( 0x10000, REGION_CPU1, 0 )
1911 	ROM_LOAD( "bubblesr.1b",  0x0000, 0x1000, CRC(dda4e782) SHA1(ad6825ebc05931942ce1042f18e18e3873083abc) )
1912 	ROM_LOAD( "bubblesr.2b",  0x1000, 0x1000, CRC(3c8fa7f5) SHA1(fd3db6c2abab7000d586ef1a4e425329da292144) )
1913 	ROM_LOAD( "bubblesr.3b",  0x2000, 0x1000, CRC(f869bb9c) SHA1(ce276fc33136a527eefbbf35c2bcf1f0b9858740) )
1914 	ROM_LOAD( "bubblesr.4b",  0x3000, 0x1000, CRC(0c65eaab) SHA1(c622906cbda07421a7024955f3b9e8d173f4b6cb) )
1915 	ROM_LOAD( "bubblesr.5b",  0x4000, 0x1000, CRC(7ece4e13) SHA1(c6ec7145c2d3bf51877c7fb995d9732b09e04cf0) )
1916 	ROM_LOAD( "bubbles.6b",   0x5000, 0x1000, CRC(4dd0450d) SHA1(d55aa8fb8f2974ce5ba7155b01bc3e3622f202af) )
1917 	ROM_LOAD( "bubbles.7b",   0x6000, 0x1000, CRC(e0a26ec0) SHA1(2da6213df6c15735a8bbd6750cfb1a1b6232a6f5) )
1918 	ROM_LOAD( "bubblesr.8b",  0x7000, 0x1000, CRC(598b9bd6) SHA1(993cc3fac58310d0e617e58e3a0753002b987df1) )
1919 	ROM_LOAD( "bubbles.9b",   0x8000, 0x1000, CRC(b48559fb) SHA1(551a49a12353044dbbf28dba2bd860c2d00c50bd) )
1920 	ROM_LOAD( "bubblesr.10b", 0xd000, 0x1000, CRC(8b396db0) SHA1(88cab59ce7f07dfa15d1485d12ebab96d777ca65) )
1921 	ROM_LOAD( "bubblesr.11b", 0xe000, 0x1000, CRC(096af43e) SHA1(994e60c1e684ae46ea791b274995d21ff5052e56) )
1922 	ROM_LOAD( "bubblesr.12b", 0xf000, 0x1000, CRC(5c1244ef) SHA1(25b0f359c28291894381d73f4ba3a2b991a547f0) )
1923 
1924 	ROM_REGION( 0x10000, REGION_CPU2, 0 )
1925 	ROM_LOAD( "bubbles.snd",  0xf000, 0x1000, CRC(689ce2aa) SHA1(b70d2553f731f9a20ddaf9af2f93b7e9c44d4d99) )
1926 ROM_END
1927 
1928 
1929 ROM_START( bubblesp )
1930 	ROM_REGION( 0x10000, REGION_CPU1, 0 )
1931 	ROM_LOAD( "bub_prot.1b",  0x0000, 0x1000, CRC(6466a746) SHA1(ed67d879d82ef05bcd2b655f761f84bc0cf08897) )
1932 	ROM_LOAD( "bub_prot.2b",  0x1000, 0x1000, CRC(cca04357) SHA1(98f879675c02e7ad5532da30f663714913a059b9) )
1933 	ROM_LOAD( "bub_prot.3b",  0x2000, 0x1000, CRC(7aaff9e5) SHA1(8b377ec5c595a4e062bdc8fb8ca99b52a6bd9298) )
1934 	ROM_LOAD( "bub_prot.4b",  0x3000, 0x1000, CRC(4e264f01) SHA1(a6fd2d0613f78c45b3873e06efa2dd99530ed0c8) )
1935 	ROM_LOAD( "bub_prot.5b",  0x4000, 0x1000, CRC(121b0be6) SHA1(75ed718b9e83c32390ee0fe2c34e0300ecd98a85) )
1936 	ROM_LOAD( "bub_prot.6b",  0x5000, 0x1000, CRC(80e90b25) SHA1(92c83b4333f4f0f65638b1827ace01b02c490339) )
1937 	ROM_LOAD( "bubbles.7b",   0x6000, 0x1000, CRC(e0a26ec0) SHA1(2da6213df6c15735a8bbd6750cfb1a1b6232a6f5) )
1938 	ROM_LOAD( "bub_prot.8b",  0x7000, 0x1000, CRC(96fb19c8) SHA1(3b1720e5efe2adc1f633216419bdf00c7e7b817d) )
1939 	ROM_LOAD( "bub_prot.9b",  0x8000, 0x1000, CRC(be7e1028) SHA1(430b33c8d83ee6756a3ef9298792b71066c88326) )
1940 	ROM_LOAD( "bub_prot.10b", 0xd000, 0x1000, CRC(89a565df) SHA1(1f02c17222f7303218962fada6c6f867414551cf) )
1941 	ROM_LOAD( "bub_prot.11b", 0xe000, 0x1000, CRC(5a0c36a7) SHA1(2b9dd9006e57ff8214ad4e6b10a4b72e736d472c) )
1942 	ROM_LOAD( "bub_prot.12b", 0xf000, 0x1000, CRC(2bfd3438) SHA1(2427a5614e98a9499e4d19f9d6e25f2b73896bf5) )
1943 
1944 	ROM_REGION( 0x10000, REGION_CPU2, 0 )
1945 	ROM_LOAD( "bubbles.snd",  0xf000, 0x1000, CRC(689ce2aa) SHA1(b70d2553f731f9a20ddaf9af2f93b7e9c44d4d99) )
1946 ROM_END
1947 
1948 
1949 ROM_START( splat )
1950 	ROM_REGION( 0x10000, REGION_CPU1, 0 )
1951 	ROM_LOAD( "splat.01",     0x0000, 0x1000, CRC(1cf26e48) SHA1(6ba4de6cc7d1359ed450da7bae1000552373f873) )
1952 	ROM_LOAD( "splat.02",     0x1000, 0x1000, CRC(ac0d4276) SHA1(710aba98909d5d63c4b9b08579021f9c026b3111) )
1953 	ROM_LOAD( "splat.03",     0x2000, 0x1000, CRC(74873e59) SHA1(727c9da682fd10353f3969ef02e9f1826d8cb77a) )
1954 	ROM_LOAD( "splat.04",     0x3000, 0x1000, CRC(70a7064e) SHA1(7e6440585462b68b62d6d571d83635bf17149f1a) )
1955 	ROM_LOAD( "splat.05",     0x4000, 0x1000, CRC(c6895221) SHA1(6f88ba8ac72d9301760d6e2512549f70b5373c65) )
1956 	ROM_LOAD( "splat.06",     0x5000, 0x1000, CRC(ea4ab7fd) SHA1(288a361691a7f147ff3346627a10531d613ad017) )
1957 	ROM_LOAD( "splat.07",     0x6000, 0x1000, CRC(82fd8713) SHA1(c4d42b111a0357700ac2bf700117d75ffb3c5be5) )
1958 	ROM_LOAD( "splat.08",     0x7000, 0x1000, CRC(7dded1b4) SHA1(73df546dd60870f63a8c3deffea2b2d13149a48b) )
1959 	ROM_LOAD( "splat.09",     0x8000, 0x1000, CRC(71cbfe5a) SHA1(bf22bedeceffdccc340637098070b32e9c13cf68) )
1960 	ROM_LOAD( "splat.10",     0xd000, 0x1000, CRC(d1a1f632) SHA1(de4f5ba2b92c47757dfd2ca810bf8f87338223f7) )
1961 	ROM_LOAD( "splat.11",     0xe000, 0x1000, CRC(ca8cde95) SHA1(8e12f6d9eaf397646691ec5d02963b32973cb32e) )
1962 	ROM_LOAD( "splat.12",     0xf000, 0x1000, CRC(5bee3e60) SHA1(b4ee99fb6c353093faf1e088bab82fec66e785bc) )
1963 
1964 	ROM_REGION( 0x10000, REGION_CPU2, 0 )
1965 	ROM_LOAD( "splat.snd",    0xf000, 0x1000, CRC(a878d5f3) SHA1(f3347a354cb54ca228fe0971f0ae3bc778e2aecf) )
1966 ROM_END
1967 
1968 
1969 ROM_START( sinistar )
1970 	ROM_REGION( 0x10000, REGION_CPU1, 0 )
1971 	ROM_LOAD( "sinistar.01",  0x0000, 0x1000, CRC(f6f3a22c) SHA1(026d8cab07734fa294a5645edbe65a904bcbc302) )
1972 	ROM_LOAD( "sinistar.02",  0x1000, 0x1000, CRC(cab3185c) SHA1(423d1e3b0c07333ec582529bc4d0b7baf591820a) )
1973 	ROM_LOAD( "sinistar.03",  0x2000, 0x1000, CRC(1ce1b3cc) SHA1(5bc03d7249529d827dc60c087e074ab3e4ea7361) )
1974 	ROM_LOAD( "sinistar.04",  0x3000, 0x1000, CRC(6da632ba) SHA1(72c0c3d5a5ca87ca4d95fcedaf834206e4633950) )
1975 	ROM_LOAD( "sinistar.05",  0x4000, 0x1000, CRC(b662e8fc) SHA1(828a89d2ea13d8a362dae708f86bff54cb231887) )
1976 	ROM_LOAD( "sinistar.06",  0x5000, 0x1000, CRC(2306183d) SHA1(703e29e6446856615760a4897c0f5d79cc7bdfb2) )
1977 	ROM_LOAD( "sinistar.07",  0x6000, 0x1000, CRC(e5dd918e) SHA1(bf4e2ada6a59d246218544d822ba5355da925924) )
1978 	ROM_LOAD( "sinistar.08",  0x7000, 0x1000, CRC(4785a787) SHA1(8c7eca656b2c23b0da41a8c7ce51a2735cab85a4) )
1979 	ROM_LOAD( "sinistar.09",  0x8000, 0x1000, CRC(50cb63ad) SHA1(96e28e4fef98fff2649741a266fa590e0313e3b0) )
1980 	ROM_LOAD( "sinistar.10",  0xe000, 0x1000, CRC(3d670417) SHA1(81802622bee8dbea5c0f08019d87d941dcdbe292) )
1981 	ROM_LOAD( "sinistar.11",  0xf000, 0x1000, CRC(3162bc50) SHA1(2f38e572ab9c731e38dfe9bad3cc8222a775c5ea) )
1982 
1983 	ROM_REGION( 0x10000, REGION_CPU2, 0 )
1984 	ROM_LOAD( "speech.ic7",   0xb000, 0x1000, CRC(e1019568) SHA1(442f4f3ccd2e1db2136d2ffb121ea442921f87ca) )
1985 	ROM_LOAD( "speech.ic5",   0xc000, 0x1000, CRC(cf3b5ffd) SHA1(d5d51c550581c9d46ab331dd4fd32541a2ef598e) )
1986 	ROM_LOAD( "speech.ic6",   0xd000, 0x1000, CRC(ff8d2645) SHA1(16fa2a602acbbc182dd96bab113ab18356f3daf0) )
1987 	ROM_LOAD( "speech.ic4",   0xe000, 0x1000, CRC(4b56a626) SHA1(44430cd5c110ec751b0bfb8ae99b26d443350db1) )
1988 	ROM_LOAD( "sinistar.snd", 0xf000, 0x1000, CRC(b82f4ddb) SHA1(c70c7dd6e88897920d7709a260f27810f66aade1) )
1989 ROM_END
1990 
1991 
1992 ROM_START( sinista1 )
1993 	ROM_REGION( 0x10000, REGION_CPU1, 0 )
1994 	ROM_LOAD( "sinrev1.01",   0x0000, 0x1000, CRC(3810d7b8) SHA1(dcd690cbc958a2f97f022765315d77fb7c7d8e8b) )
1995 	ROM_LOAD( "sinistar.02",  0x1000, 0x1000, CRC(cab3185c) SHA1(423d1e3b0c07333ec582529bc4d0b7baf591820a) )
1996 	ROM_LOAD( "sinrev1.03",   0x2000, 0x1000, CRC(7c984ca9) SHA1(b32b7d15194051db5d29acf95b049e2eccf6d393) )
1997 	ROM_LOAD( "sinrev1.04",   0x3000, 0x1000, CRC(cc6c4f24) SHA1(b4375544e02a19458c6fcc85edb31025c0b8eb71) )
1998 	ROM_LOAD( "sinrev1.05",   0x4000, 0x1000, CRC(12285bfe) SHA1(6d433103332ddda2f2af23febc0b15aa93db1f31) )
1999 	ROM_LOAD( "sinrev1.06",   0x5000, 0x1000, CRC(7a675f35) SHA1(3a7e9fdb2aef52dc29d33799694737038802b6e0) )
2000 	ROM_LOAD( "sinrev1.07",   0x6000, 0x1000, CRC(b0463243) SHA1(95d597856a1942bd176f5f62db0d691f8f2f2932) )
2001 	ROM_LOAD( "sinrev1.08",   0x7000, 0x1000, CRC(909040d4) SHA1(5361cc378bdace0799227e901341747dce9bb029) )
2002 	ROM_LOAD( "sinrev1.09",   0x8000, 0x1000, CRC(cc949810) SHA1(2d2d1cccd7e43b63e424c34ab5215a412e2b9809) )
2003 	ROM_LOAD( "sinrev1.10",   0xe000, 0x1000, CRC(ea87a53f) SHA1(4e4bad5315a8f5740c926ee5681879919a5be37f) )
2004 	ROM_LOAD( "sinrev1.11",   0xf000, 0x1000, CRC(88d36e80) SHA1(bb9adaf5b73f9874e52dc2f5fd35e22f8b4fc258) )
2005 
2006 	ROM_REGION( 0x10000, REGION_CPU2, 0 )
2007 	ROM_LOAD( "speech.ic7",   0xb000, 0x1000, CRC(e1019568) SHA1(442f4f3ccd2e1db2136d2ffb121ea442921f87ca) )
2008 	ROM_LOAD( "speech.ic5",   0xc000, 0x1000, CRC(cf3b5ffd) SHA1(d5d51c550581c9d46ab331dd4fd32541a2ef598e) )
2009 	ROM_LOAD( "speech.ic6",   0xd000, 0x1000, CRC(ff8d2645) SHA1(16fa2a602acbbc182dd96bab113ab18356f3daf0) )
2010 	ROM_LOAD( "speech.ic4",   0xe000, 0x1000, CRC(4b56a626) SHA1(44430cd5c110ec751b0bfb8ae99b26d443350db1) )
2011 	ROM_LOAD( "sinistar.snd", 0xf000, 0x1000, CRC(b82f4ddb) SHA1(c70c7dd6e88897920d7709a260f27810f66aade1) )
2012 ROM_END
2013 
2014 
2015 ROM_START( sinista2 )
2016 	ROM_REGION( 0x10000, REGION_CPU1, 0 )
2017 	ROM_LOAD( "sinistar.01",  0x0000, 0x1000, CRC(f6f3a22c) SHA1(026d8cab07734fa294a5645edbe65a904bcbc302) )
2018 	ROM_LOAD( "sinistar.02",  0x1000, 0x1000, CRC(cab3185c) SHA1(423d1e3b0c07333ec582529bc4d0b7baf591820a) )
2019 	ROM_LOAD( "sinistar.03",  0x2000, 0x1000, CRC(1ce1b3cc) SHA1(5bc03d7249529d827dc60c087e074ab3e4ea7361) )
2020 	ROM_LOAD( "sinistar.04",  0x3000, 0x1000, CRC(6da632ba) SHA1(72c0c3d5a5ca87ca4d95fcedaf834206e4633950) )
2021 	ROM_LOAD( "sinistar.05",  0x4000, 0x1000, CRC(b662e8fc) SHA1(828a89d2ea13d8a362dae708f86bff54cb231887) )
2022 	ROM_LOAD( "sinistar.06",  0x5000, 0x1000, CRC(2306183d) SHA1(703e29e6446856615760a4897c0f5d79cc7bdfb2) )
2023 	ROM_LOAD( "sinistar.07",  0x6000, 0x1000, CRC(e5dd918e) SHA1(bf4e2ada6a59d246218544d822ba5355da925924) )
2024 	ROM_LOAD( "sinrev2.08",   0x7000, 0x1000, CRC(d7ecee45) SHA1(f9552035409bce0a36ed93a677b28f8cd361f8f1) )
2025 	ROM_LOAD( "sinistar.09",  0x8000, 0x1000, CRC(50cb63ad) SHA1(96e28e4fef98fff2649741a266fa590e0313e3b0) )
2026 	ROM_LOAD( "sinistar.10",  0xe000, 0x1000, CRC(3d670417) SHA1(81802622bee8dbea5c0f08019d87d941dcdbe292) )
2027 	ROM_LOAD( "sinrev2.11",   0xf000, 0x1000, CRC(792c8b00) SHA1(1f847ca8a67595927c36d69cead02813c2431c7b) )
2028 
2029 	ROM_REGION( 0x10000, REGION_CPU2, 0 )
2030 	ROM_LOAD( "speech.ic7",   0xb000, 0x1000, CRC(e1019568) SHA1(442f4f3ccd2e1db2136d2ffb121ea442921f87ca) )
2031 	ROM_LOAD( "speech.ic5",   0xc000, 0x1000, CRC(cf3b5ffd) SHA1(d5d51c550581c9d46ab331dd4fd32541a2ef598e) )
2032 	ROM_LOAD( "speech.ic6",   0xd000, 0x1000, CRC(ff8d2645) SHA1(16fa2a602acbbc182dd96bab113ab18356f3daf0) )
2033 	ROM_LOAD( "speech.ic4",   0xe000, 0x1000, CRC(4b56a626) SHA1(44430cd5c110ec751b0bfb8ae99b26d443350db1) )
2034 	ROM_LOAD( "sinistar.snd", 0xf000, 0x1000, CRC(b82f4ddb) SHA1(c70c7dd6e88897920d7709a260f27810f66aade1) )
2035 ROM_END
2036 
2037 
2038 ROM_START( playball )
2039 	ROM_REGION( 0x10000, REGION_CPU1, 0 )
2040 	ROM_LOAD( "playball.01",  0x0000, 0x1000, CRC(7ba8fd71) SHA1(9b77996238c67aead8c2cfc7f964f8cf9c6182eb) )
2041 	ROM_LOAD( "playball.02",  0x1000, 0x1000, CRC(2387c3d4) SHA1(19d9da6af317595d0f3336e886154e0b8467cb3e) )
2042 	ROM_LOAD( "playball.03",  0x2000, 0x1000, CRC(d34cc5fd) SHA1(d1f6d321c1a6a04a06813c77a3e079836a05956c) )
2043 	ROM_LOAD( "playball.04",  0x3000, 0x1000, CRC(f68c3a8e) SHA1(f9cc7250254b9adceff883d3f6ee01c475d859ec) )
2044 	ROM_LOAD( "playball.05",  0x4000, 0x1000, CRC(a3f20810) SHA1(678d2a5a06263cc5f74f4cb92287cf4d7a8b934f) )
2045 	ROM_LOAD( "playball.06",  0x5000, 0x1000, CRC(f213e48e) SHA1(05b54f5121a887bc24fbe30f322277ae94474c14) )
2046 	ROM_LOAD( "playball.07",  0x6000, 0x1000, CRC(9b5574e9) SHA1(1dddd33cd3f13694d7ba6a73e5090594c6677d5b) )
2047 	ROM_LOAD( "playball.08",  0x7000, 0x1000, CRC(b2d2074a) SHA1(2defb2ffaca782606f792020f9c96d41abd77518) )
2048 	ROM_LOAD( "playball.09",  0x8000, 0x1000, CRC(c4566d0f) SHA1(7848ea87d2d1693ade9129846024fbedc4145cbb) )
2049 	ROM_LOAD( "playball.10",  0xd000, 0x1000, CRC(18787b52) SHA1(621754c1eab68de12763616b7bf01948cdce0221) )
2050 	ROM_LOAD( "playball.11",  0xe000, 0x1000, CRC(1dd5c8f2) SHA1(17d0380ea05d9ddd17576691d0e5179ae7a71200) )
2051 	ROM_LOAD( "playball.12",  0xf000, 0x1000, CRC(a700597b) SHA1(5ba07409ae9315b9ee65530f61155c394bfc69ad) )
2052 
2053 	ROM_REGION( 0x10000, REGION_CPU2, 0 )
2054 	ROM_LOAD( "speech.ic4",   0xb000, 0x1000, CRC(7e4fc798) SHA1(4636ab25238503370063f51f86f37d0e49c0d3b6) )
2055 	ROM_LOAD( "speech.ic5",   0xc000, 0x1000, CRC(ddfe860c) SHA1(f847a0a6438af5dc646b7abe994530e6d1cbb803) )
2056 	ROM_LOAD( "speech.ic6",   0xd000, 0x1000, CRC(8bfebf87) SHA1(d6829f78e1a2aee85673a42f7f6b78679847b616) )
2057 	ROM_LOAD( "speech.ic7",   0xe000, 0x1000, CRC(db351db6) SHA1(94d807df61b5015f5fa78a500e2a58277db95c1f) )
2058 	ROM_LOAD( "playball.snd", 0xf000, 0x1000, CRC(f3076f9f) SHA1(436fb1a6456535cd27f85c941ff79c0465b71555) )
2059 ROM_END
2060 
2061 
2062 ROM_START( lottofun )
2063 	ROM_REGION( 0x10000, REGION_CPU1, 0 )
2064 	ROM_LOAD( "vl4e.dat",     0x0000, 0x1000, CRC(5e9af236) SHA1(6f26c9be6da6f1195a4569f003a010d3f2e0c24d) )
2065 	ROM_LOAD( "vl4c.dat",     0x1000, 0x1000, CRC(4b134ae2) SHA1(86756e1d8de113571857818a98d347789c003339) )
2066 	ROM_LOAD( "vl4a.dat",     0x2000, 0x1000, CRC(b2f1f95a) SHA1(89166cdf4aff5e5a8cc4ea6ba589ce095de82f57) )
2067 	ROM_LOAD( "vl5e.dat",     0x3000, 0x1000, CRC(c8681c55) SHA1(ac63e53a958f63bd0a05f36303c1aa777aee799d) )
2068 	ROM_LOAD( "vl5c.dat",     0x4000, 0x1000, CRC(eb9351e0) SHA1(c66477ca0b3ed95708eb478fb992833beda1a4f8) )
2069 	ROM_LOAD( "vl5a.dat",     0x5000, 0x1000, CRC(534f2fa1) SHA1(c034aa037ef6bc7cd2ed85da7531fd8efb7083e4) )
2070 	ROM_LOAD( "vl6e.dat",     0x6000, 0x1000, CRC(befac592) SHA1(548cb1f0bc178eeada144c443545f7545c90b6a6) )
2071 	ROM_LOAD( "vl6c.dat",     0x7000, 0x1000, CRC(a73d7f13) SHA1(833ff14c33635b61e1bd45b2878a4f6c9e18bf82) )
2072 	ROM_LOAD( "vl6a.dat",     0x8000, 0x1000, CRC(5730a43d) SHA1(8acadf105dc373bf2b3087ccc1667b872452c913) )
2073 	ROM_LOAD( "vl7a.dat",     0xd000, 0x1000, CRC(fb2aec2c) SHA1(73dc6a6dfe9ba51e3612b6d912bd7af1d5782296) )
2074 	ROM_LOAD( "vl7c.dat",     0xe000, 0x1000, CRC(9a496519) SHA1(ae98dadcb63a33c796a3e3083d4b5bc957873cbc) )
2075 	ROM_LOAD( "vl7e.dat",     0xf000, 0x1000, CRC(032cab4b) SHA1(87bdd0fd58b12e39efaadcf6e82744886a9292e9) )
2076 
2077 	ROM_REGION( 0x10000, REGION_CPU2, 0 )
2078 	ROM_LOAD( "vl2532.snd",   0xf000, 0x1000, CRC(214b8a04) SHA1(45f06b44a605cca6b293b20cfea4763b469254b8) )
2079 ROM_END
2080 
2081 
2082 ROM_START( blaster )
2083 	ROM_REGION( 0x3c000, REGION_CPU1, 0 )
2084 	ROM_LOAD( "blaster.11",   0x04000, 0x2000, CRC(6371e62f) SHA1(dc4173d2ee88757a6ac0838acaee325eadc2c4fb) )
2085 	ROM_LOAD( "blaster.12",   0x06000, 0x2000, CRC(9804faac) SHA1(e61218fe190ad268af48d611d140d8f4cd38e4c7) )
2086 	ROM_LOAD( "blaster.17",   0x08000, 0x1000, CRC(bf96182f) SHA1(e25a02508eecf79ea1ae5d45278a60becc6c7dcc) )
2087 	ROM_LOAD( "blaster.16",   0x0d000, 0x1000, CRC(54a40b21) SHA1(663c7b539e6f1f065a4ecae7bb0477c71951223f) )
2088 	ROM_LOAD( "blaster.13",   0x0e000, 0x2000, CRC(f4dae4c8) SHA1(211dcbe085a30419d649afe10ca7c4017d909bd7) )
2089 
2090 	ROM_LOAD( "blaster.15",   0x00000, 0x4000, CRC(1ad146a4) SHA1(5ab3d9618023b59bc329a9eeef986901867a639b) )
2091 	ROM_LOAD( "blaster.8",    0x10000, 0x4000, CRC(f110bbb0) SHA1(314dea232a3706509399348c7415f933c64cea1b) )
2092 	ROM_LOAD( "blaster.9",    0x14000, 0x4000, CRC(5c5b0f8a) SHA1(224f89c85b2b1ca511d006180b8d994fccbdfb6b) )
2093 	ROM_LOAD( "blaster.10",   0x18000, 0x4000, CRC(d47eb67f) SHA1(5dcde8be1a7b1927b90ffab3219dc47c5b2f20e4) )
2094 	ROM_LOAD( "blaster.6",    0x1c000, 0x4000, CRC(47fc007e) SHA1(3a80b9b7ae460e9732f7c1cdd465a5b06ded970f) )
2095 	ROM_LOAD( "blaster.5",    0x20000, 0x4000, CRC(15c1b94d) SHA1(5d97628541eb8933870c3ffd3646b7aaf8af6af5) )
2096 	ROM_LOAD( "blaster.14",   0x24000, 0x4000, CRC(aea6b846) SHA1(04cb4b5eb000471a0cec377a5236ac8c83529528) )
2097 	ROM_LOAD( "blaster.7",    0x28000, 0x4000, CRC(7a101181) SHA1(5f1581911ea7fe3e63ce1b9c50b1d3bf081dbf81) )
2098 	ROM_LOAD( "blaster.1",    0x2c000, 0x4000, CRC(8d0ea9e7) SHA1(34f8e2e99748bed29285f7e4929bb920960ab03e) )
2099 	ROM_LOAD( "blaster.2",    0x30000, 0x4000, CRC(03c4012c) SHA1(53f0adc91e5f1ac58b08b3a6d2de8de5a40bebab) )
2100 	ROM_LOAD( "blaster.4",    0x34000, 0x4000, CRC(fc9d39fb) SHA1(126d43a64471bbf4b40aeda8913d50e82d254f9c) )
2101 	ROM_LOAD( "blaster.3",    0x38000, 0x4000, CRC(253690fb) SHA1(06cb2ef95bb06b3618392e298aa690e1f75bc977) )
2102 
2103 	ROM_REGION( 0x10000, REGION_CPU2, 0 )
2104 	ROM_LOAD( "blaster.18",   0xf000, 0x1000, CRC(c33a3145) SHA1(6ffe2da7b70c0b576fbc1790a33eecdbb9ee3d02) )
2105 
2106 	ROM_REGION( 0x0800, REGION_PROMS, 0 )		/* color PROM data */
2107 	ROM_LOAD( "blaster.col",  0x0000, 0x0800, CRC(bac50bc4) SHA1(80a48eb97c6f02703210d00498f9669c36e64326) )
2108 ROM_END
2109 
2110 
2111 ROM_START( blastkit )
2112 	ROM_REGION( 0x3c000, REGION_CPU1, 0 )
2113 	ROM_LOAD( "blastkit.11",  0x04000, 0x2000, CRC(b7df4914) SHA1(81f7a89dfde06c160f2c8974eec701f2298ec434) )
2114 	ROM_LOAD( "blastkit.12",  0x06000, 0x2000, CRC(8b1e26ab) SHA1(7d30800a9302f5a83792499d8df536693d01f75d) )
2115 	ROM_LOAD( "blastkit.17",  0x08000, 0x1000, CRC(577d1e9a) SHA1(0064124a65490e0473dfb0081ec28b7ee43a04b5) )
2116 	ROM_LOAD( "blastkit.16",  0x0d000, 0x1000, CRC(414b2abf) SHA1(2bde972d225d6e93e44751f542cee584d57f7983) )
2117 	ROM_LOAD( "blastkit.13",  0x0e000, 0x2000, CRC(9c64db76) SHA1(c14508cb2f964af93631779db3adaa960fcc7559) )
2118 
2119 	ROM_LOAD( "blaster.15",   0x00000, 0x4000, CRC(1ad146a4) SHA1(5ab3d9618023b59bc329a9eeef986901867a639b) )
2120 	ROM_LOAD( "blaster.8",    0x10000, 0x4000, CRC(f110bbb0) SHA1(314dea232a3706509399348c7415f933c64cea1b) )
2121 	ROM_LOAD( "blaster.9",    0x14000, 0x4000, CRC(5c5b0f8a) SHA1(224f89c85b2b1ca511d006180b8d994fccbdfb6b) )
2122 	ROM_LOAD( "blaster.10",   0x18000, 0x4000, CRC(d47eb67f) SHA1(5dcde8be1a7b1927b90ffab3219dc47c5b2f20e4) )
2123 	ROM_LOAD( "blaster.6",    0x1c000, 0x4000, CRC(47fc007e) SHA1(3a80b9b7ae460e9732f7c1cdd465a5b06ded970f) )
2124 	ROM_LOAD( "blaster.5",    0x20000, 0x4000, CRC(15c1b94d) SHA1(5d97628541eb8933870c3ffd3646b7aaf8af6af5) )
2125 	ROM_LOAD( "blaster.14",   0x24000, 0x4000, CRC(aea6b846) SHA1(04cb4b5eb000471a0cec377a5236ac8c83529528) )
2126 	ROM_LOAD( "blastkit.7",   0x28000, 0x4000, CRC(6fcc2153) SHA1(00e7b6846c15400315d94e2c7d1c99b1a737c285) )
2127 	ROM_LOAD( "blaster.1",    0x2c000, 0x4000, CRC(8d0ea9e7) SHA1(34f8e2e99748bed29285f7e4929bb920960ab03e) )
2128 	ROM_LOAD( "blaster.2",    0x30000, 0x4000, CRC(03c4012c) SHA1(53f0adc91e5f1ac58b08b3a6d2de8de5a40bebab) )
2129 	ROM_LOAD( "blastkit.4",   0x34000, 0x4000, CRC(f80e9ff5) SHA1(e232d96b6e07c7b4240fa4dd2cb9be4745a1be4b) )
2130 	ROM_LOAD( "blastkit.3",   0x38000, 0x4000, CRC(20e851f9) SHA1(efc288ef0333812a6282f22aade8e43e9a827533) )
2131 
2132 	ROM_REGION( 0x10000, REGION_CPU2, 0 )
2133 	ROM_LOAD( "blaster.18",   0xf000, 0x1000, CRC(c33a3145) SHA1(6ffe2da7b70c0b576fbc1790a33eecdbb9ee3d02) )
2134 
2135 	ROM_REGION( 0x0800, REGION_PROMS, 0 )		/* color PROM data */
2136 	ROM_LOAD( "blaster.col",  0x0000, 0x0800, CRC(bac50bc4) SHA1(80a48eb97c6f02703210d00498f9669c36e64326) )
2137 ROM_END
2138 
2139 
2140 ROM_START( tshoot )
2141 	ROM_REGION( 0x48000, REGION_CPU1, 0 )
2142 	ROM_LOAD( "rom18.cpu", 0x0d000, 0x1000, CRC(effc33f1) SHA1(cd1b16b4a4a46ce9d550d10b465b8cf1ab3c5273) )	/* IC55 */
2143 	ROM_LOAD( "rom2.cpu",  0x0e000, 0x1000, CRC(fd982687) SHA1(70be1ea57ea0a1e75b1bd988492a9c0244e8b91f) )	/* IC9	*/
2144 	ROM_LOAD( "rom3.cpu",  0x0f000, 0x1000, CRC(9617054d) SHA1(8795b97a6391aa3804f68dc2d2b33866dc17f34c) )	/* IC10 */
2145 
2146 	ROM_LOAD( "rom11.cpu", 0x10000, 0x2000, CRC(60d5fab8) SHA1(fe75e46dedb7ca153470d6a39cea0a721e5b7b39) )	/* IC18 */
2147 	ROM_LOAD( "rom9.cpu",  0x12000, 0x2000, CRC(a4dd4a0e) SHA1(bb2f38c5ef2f3398b6ba605ffa0c30c89387bf14) )	/* IC16 */
2148 	ROM_LOAD( "rom7.cpu",  0x14000, 0x2000, CRC(f25505e6) SHA1(d075ff89b6379ad7a47d9723ed1c21468b9d1dae) )	/* IC14 */
2149 	ROM_LOAD( "rom5.cpu",  0x16000, 0x2000, CRC(94a7c0ed) SHA1(11f46e1ca7d79b4244ea0f60e0fba44186f1ebde) )	/* IC12 */
2150 
2151 	ROM_LOAD( "rom17.cpu", 0x20000, 0x2000, CRC(b02d1ccd) SHA1(b08b6d9affb6f3e50a11fd9397fe4255927de3b6) )	/* IC26 */
2152 	ROM_LOAD( "rom15.cpu", 0x22000, 0x2000, CRC(11709935) SHA1(ae25bbadbbcab9f3cba2bb4bb92d5217705b38e3) )	/* IC24 */
2153 
2154 	ROM_LOAD( "rom10.cpu", 0x30000, 0x2000, CRC(0f32bad8) SHA1(7a2f559697d252ceec3a2f55fe51bc755e4bb65a) )	/* IC17 */
2155 	ROM_LOAD( "rom8.cpu",  0x32000, 0x2000, CRC(e9b6cbf7) SHA1(6cd6b1e1c5e8e253e779afff8ad1ff90d6116fc9) )	/* IC15 */
2156 	ROM_LOAD( "rom6.cpu",  0x34000, 0x2000, CRC(a49f617f) SHA1(759d25e33a09204664880329b86724805a1fe0e8) )	/* IC13 */
2157 	ROM_LOAD( "rom4.cpu",  0x36000, 0x2000, CRC(b026dc00) SHA1(8a068997aa19e152d64db47528893046d338389c) )	/* IC11 */
2158 
2159 	ROM_LOAD( "rom16.cpu", 0x40000, 0x2000, CRC(69ce38f8) SHA1(a2cd678e71bfa5e6a3594d8699660c7fa8b52001) )	/* IC25 */
2160 	ROM_LOAD( "rom14.cpu", 0x42000, 0x2000, CRC(769a4ae5) SHA1(1cdfae2d889848d69f68f990714d027cfbca1853) )	/* IC23 */
2161 	ROM_LOAD( "rom13.cpu", 0x44000, 0x2000, CRC(ec016c9b) SHA1(f2e40abd14b8b4944b792dd453ebe92eb64355ae) )	/* IC21 */
2162 	ROM_LOAD( "rom12.cpu", 0x46000, 0x2000, CRC(98ae7afa) SHA1(6a904408419f576352bd2f895727fd17c0541ff8) )	/* IC19 */
2163 
2164 	/* sound CPU */
2165 	ROM_REGION( 0x10000, REGION_CPU2, 0 )
2166 	ROM_LOAD( "rom1.cpu", 0xe000, 0x2000, CRC(011a94a7) SHA1(9f54a742a87ba56b9517e33e556f57dce6eb2eab) )		/* IC8	*/
2167 
2168 	ROM_REGION( 0xc000, REGION_GFX1, ROMREGION_DISPOSE )
2169 	ROM_LOAD( "rom20.cpu", 0x00000, 0x2000, CRC(c6e1d253) SHA1(c408a29f75ba2958e229996f903400b3d95e3bd3) )	/* IC57 */
2170 	ROM_LOAD( "rom21.cpu", 0x04000, 0x2000, CRC(9874e90f) SHA1(85282823cc862341adf9642d2d5d05972da6dff0) )	/* IC58 */
2171 	ROM_LOAD( "rom19.cpu", 0x08000, 0x2000, CRC(b9ce4d2a) SHA1(af5332f340d3c3ae02e77923d6e8f0dd92547728) )	/* IC41 */
2172 ROM_END
2173 
2174 
2175 ROM_START( mysticm )
2176 	ROM_REGION( 0x48000, REGION_CPU1, 0 )
2177 	ROM_LOAD( "mm02_2.a09", 0x0e000, 0x1000, CRC(3a776ea8) SHA1(1fef5f5cef5e10606c97ac9c365f000a88d51314) )	/* IC9	*/
2178 	ROM_LOAD( "mm03_2.a10", 0x0f000, 0x1000, CRC(6e247c75) SHA1(4daf5206d29b887cd1a78528fac4b0cd8ec7f39b) )	/* IC10 */
2179 
2180 	ROM_LOAD( "mm11_1.a18", 0x10000, 0x2000, CRC(f537968e) SHA1(2660a480d0bba5fe25885453115ef1015f8bdea9) )	/* IC18 */
2181 	ROM_LOAD( "mm09_1.a16", 0x12000, 0x2000, CRC(3bd12f6c) SHA1(7925a92c486c994e8f34c8ed52bf81a34cf44f68) )	/* IC16 */
2182 	ROM_LOAD( "mm07_1.a14", 0x14000, 0x2000, CRC(ea2a2a68) SHA1(71855c874cd5032f47fafc67e2d1667f956cd9b5) )	/* IC14 */
2183 	ROM_LOAD( "mm05_1.a12", 0x16000, 0x2000, CRC(b514eef3) SHA1(0f9309768c416dd98e9c02121cc750993a2923ea) )	/* IC12 */
2184 
2185 	ROM_LOAD( "mm18_1.a26", 0x20000, 0x2000, CRC(9b391a81) SHA1(b3f34e5d468fe4a4de2d4e771e2fa08de6596f26) )	/* IC26 */
2186 	ROM_LOAD( "mm16_1.a24", 0x22000, 0x2000, CRC(399e175d) SHA1(e17301e4159e5a6d83c3ca62c93eb70f34b948df) )	/* IC24 */
2187 	ROM_LOAD( "mm14_1.a22", 0x24000, 0x2000, CRC(191153b1) SHA1(fcd8aa6ad6506ba51a01f777f6a3b94e9c051b1c) )	/* IC22 */
2188 
2189 	ROM_LOAD( "mm10_1.a17", 0x30000, 0x2000, CRC(d6a37509) SHA1(4b1f52954ca208ccc040c017873777fbf7fbd1f2) )	/* IC17 */
2190 	ROM_LOAD( "mm08_1.a15", 0x32000, 0x2000, CRC(6f1a64f2) SHA1(4183b658b257d7fe35e1d7271f76d3358df5a7a2) )	/* IC15 */
2191 	ROM_LOAD( "mm06_1.a13", 0x34000, 0x2000, CRC(2e6795d4) SHA1(8b074f6a7a4b5a9705de498684180815581faea2) )	/* IC13 */
2192 	ROM_LOAD( "mm04_1.a11", 0x36000, 0x2000, CRC(c222fb64) SHA1(b4c51d2b1664ef3267df1dee9e4888acf847c286) )	/* IC11 */
2193 
2194 	ROM_LOAD( "mm17_1.a25", 0x40000, 0x2000, CRC(d36f0a96) SHA1(9830955ca7e46b5b0dba98b4d2ea325bbbebe3c7) )	/* IC25 */
2195 	ROM_LOAD( "mm15_1.a23", 0x42000, 0x2000, CRC(cd5d99da) SHA1(41a37903503c14fb9c801c51afa2f97c83b79f8b) )	/* IC23 */
2196 	ROM_LOAD( "mm13_1.a21", 0x44000, 0x2000, CRC(ef4b79db) SHA1(346057cb8c4593df44fb36771553e60610fe1a0c) )	/* IC21 */
2197 	ROM_LOAD( "mm12_1.a19", 0x46000, 0x2000, CRC(a1f04bf0) SHA1(389bdb7c9e395af9275abfb20c3ab51bc12dc4db) )	/* IC19 */
2198 
2199 	/* sound CPU */
2200 	ROM_REGION( 0x10000, REGION_CPU2, 0 )
2201 	ROM_LOAD( "mm01_1.a08", 0x0e000, 0x2000, CRC(65339512) SHA1(144625d2905c953383bcc90cd2435d332394883f) )	/* IC8	*/
2202 
2203 	ROM_REGION( 0xc000, REGION_GFX1, ROMREGION_DISPOSE )
2204 	ROM_LOAD( "mm20_1.b57", 0x00000, 0x2000, CRC(5c0f4f46) SHA1(7dedbbeda2f34a2eac9fb14277874d9d66f468c7) )	/* IC57 */
2205 	ROM_LOAD( "mm21_1.b58", 0x04000, 0x2000, CRC(cb90b3c5) SHA1(f28cca2c3ff23d6c9e2952a1b08ab2875655ec70) )	/* IC58 */
2206 	ROM_LOAD( "mm19_1.b41", 0x08000, 0x2000, CRC(e274df86) SHA1(9876a487c5efa350ced31acbc39df22c8d414677) )	/* IC41 */
2207 ROM_END
2208 
2209 
2210 ROM_START( inferno )
2211 	ROM_REGION( 0x48000, REGION_CPU1, 0 )
2212 	ROM_LOAD( "ic9.inf",  0x0e000, 0x1000, CRC(1a013185) SHA1(9079c082ec043714f9d8ea92bc81d0b93d2ce715) )		/* IC9	*/
2213 	ROM_LOAD( "ic10.inf", 0x0f000, 0x1000, CRC(dbf64a36) SHA1(54326bc527797f0a3a55764073eb40030aec1aae) ) 	/* IC10 */
2214 
2215 	ROM_LOAD( "ic18.inf", 0x10000, 0x2000, CRC(95bcf7b1) SHA1(66687a3962109a25e26ae00bddd33ed973981b91) )		/* IC18 */
2216 	ROM_LOAD( "ic16.inf", 0x12000, 0x2000, CRC(8bc4f935) SHA1(12da6faa71e5984047fa14f32af5bb865f228cb2) )		/* IC16 */
2217 	ROM_LOAD( "ic14.inf", 0x14000, 0x2000, CRC(a70508a7) SHA1(930bb9af3b6ba9fdf3e7c32f6b5ffae9acd6cee3) )		/* IC14 */
2218 	ROM_LOAD( "ic12.inf", 0x16000, 0x2000, CRC(7ffb87f9) SHA1(469f5ae39ad8531c4c11e9d10ab57686e7f54aef) )		/* IC12 */
2219 
2220 	ROM_LOAD( "ic17.inf", 0x30000, 0x2000, CRC(b4684139) SHA1(c1d6ecd3dc8191250ef70e6972dad234c0d8f739) ) 	/* IC17 */
2221 	ROM_LOAD( "ic15.inf", 0x32000, 0x2000, CRC(128a6ad6) SHA1(357438e50663d6cb96dabfa5110c17836584e15f) ) 	/* IC15 */
2222 	ROM_LOAD( "ic13.inf", 0x34000, 0x2000, CRC(83a9e4d6) SHA1(4937e4d1c516da837213e40a1da862578c8dd272) ) 	/* IC13 */
2223 	ROM_LOAD( "ic11.inf", 0x36000, 0x2000, CRC(c2e9c909) SHA1(21f0b9bf6ef3a9466ea9afde1c7efde9ed04ce5b) ) 	/* IC11 */
2224 
2225 	ROM_LOAD( "ic25.inf", 0x40000, 0x2000, CRC(103a5951) SHA1(57c8caa1e9d5e245052822d08add9343fd622e04) ) 	/* IC25 */
2226 	ROM_LOAD( "ic23.inf", 0x42000, 0x2000, CRC(c04749a0) SHA1(b203e8d1df556e10b4ecad4733448f889c63e261) ) 	/* IC23 */
2227 	ROM_LOAD( "ic21.inf", 0x44000, 0x2000, CRC(c405f853) SHA1(6bd74d065a6043849e083c2822925b82c6fedb00) ) 	/* IC21 */
2228 	ROM_LOAD( "ic19.inf", 0x46000, 0x2000, CRC(ade7645a) SHA1(bfaab1840e3171df895a2333a30b9dac214b3351) ) 	/* IC19 */
2229 
2230 	/* sound CPU */
2231 	ROM_REGION( 0x10000, REGION_CPU2, 0 )
2232 	ROM_LOAD( "ic8.inf", 0x0e000, 0x2000, CRC(4e3123b8) SHA1(f453feed3ae3b6430db49eb4325f62eecfee9f5e) )		/* IC8	*/
2233 
2234 	ROM_REGION( 0xc000, REGION_GFX1, ROMREGION_DISPOSE )
2235 	ROM_LOAD( "ic57.inf", 0x00000, 0x2000, CRC(65a4ef79) SHA1(270c58901e83665bc388cd9cb92022c55e8eae50) ) 	/* IC57 */
2236 	ROM_LOAD( "ic58.inf", 0x04000, 0x2000, CRC(4bb1c2a0) SHA1(9e8d214b8d1dbe4c2369e4047e165c9e692098a5) ) 	/* IC58 */
2237 	ROM_LOAD( "ic41.inf", 0x08000, 0x2000, CRC(f3f7238f) SHA1(3810f1afd318ec37271c099c989b142b85d8da51) ) 	/* IC41 */
2238 ROM_END
2239 
2240 
2241 ROM_START( joust2 )
2242 	ROM_REGION( 0x48000, REGION_CPU1, 0 )
2243 	ROM_LOAD( "ic55_r1.cpu", 0x0D000, 0x1000, CRC(08b0d5bd) SHA1(b58da478aef36ae20fcfee48151d5d556e16b7b9) )	/* IC55 ROM02 */
2244 	ROM_LOAD( "ic09_r2.cpu", 0x0E000, 0x1000, CRC(951175ce) SHA1(ac70df125bb438f9fccc082276df4a76ff693e16) )	/* IC09 ROM03 */
2245 	ROM_LOAD( "ic10_r2.cpu", 0x0F000, 0x1000, CRC(ba6e0f6c) SHA1(431cbf38e919011d030f41008e1ad45e7e0ec38b) )	/* IC10 ROM04 */
2246 
2247 	ROM_LOAD( "ic18_r1.cpu", 0x10000, 0x2000, CRC(9dc986f9) SHA1(5ce479936536ef713cdfc8fc8190d338c46d171e) )	/* IC18 ROM11 */
2248 	ROM_LOAD( "ic16_r2.cpu", 0x12000, 0x2000, CRC(56e2b550) SHA1(01211d389ca384987d56c26596aa8c1adffdf8dd) )	/* IC16 ROM09 */
2249 	ROM_LOAD( "ic14_r2.cpu", 0x14000, 0x2000, CRC(f3bce576) SHA1(30ee1b212879b3b55b47c9064f123fb77c8f3089) )	/* IC14 ROM07 */
2250 	ROM_LOAD( "ic12_r2.cpu", 0x16000, 0x2000, CRC(5f8b4919) SHA1(1215a314c07ef4f244e862743035626cac1d9538) )	/* IC12 ROM05 */
2251 
2252 	ROM_LOAD( "ic26_r1.cpu", 0x20000, 0x2000, CRC(4ef5e805) SHA1(98b93388ab4a4fa6eeceee3386fa46f5a307b8cb) )	/* IC26 ROM19 */
2253 	ROM_LOAD( "ic24_r1.cpu", 0x22000, 0x2000, CRC(4861f063) SHA1(6db00cce230bf4bdfdfbfe59e0dc2d916b84d0dc) )	/* IC24 ROM17 */
2254 	ROM_LOAD( "ic22_r1.cpu", 0x24000, 0x2000, CRC(421aafa8) SHA1(06187ba8fef3e89eb399d7040015212bd5f86853) )	/* IC22 ROM15 */
2255 	ROM_LOAD( "ic20_r1.cpu", 0x26000, 0x2000, CRC(3432ff55) SHA1(aec0f83b92369de8a830ec298ac490a51bc29f26) )	/* IC20 ROM13 */
2256 
2257 	ROM_LOAD( "ic17_r1.cpu", 0x30000, 0x2000, CRC(3e01b597) SHA1(17d09482636d6cda2f3266152396f0461121e748) )	/* IC17 ROM10 */
2258 	ROM_LOAD( "ic15_r1.cpu", 0x32000, 0x2000, CRC(ff26fb29) SHA1(5ad498db71c384c1928ec965ba3cad48af428f19) )	/* IC15 ROM08 */
2259 	ROM_LOAD( "ic13_r2.cpu", 0x34000, 0x2000, CRC(5f107db5) SHA1(c413a2e58853ccda602515b9668a6a620294ba49) )	/* IC13 ROM06 */
2260 
2261 	ROM_LOAD( "ic25_r1.cpu", 0x40000, 0x2000, CRC(47580af5) SHA1(d2728f32f02b549c7e9691c668f0097e327a1d2d) )	/* IC25 ROM18 */
2262 	ROM_LOAD( "ic23_r1.cpu", 0x42000, 0x2000, CRC(869b5942) SHA1(a3f4bab4c0db71589e9be2bbf1f94052ef2f56da) )	/* IC23 ROM16 */
2263 	ROM_LOAD( "ic21_r1.cpu", 0x44000, 0x2000, CRC(0bbd867c) SHA1(f2db9fc57b6afb762715617345e8c3dcb89b6cc2) )	/* IC21 ROM14 */
2264 	ROM_LOAD( "ic19_r1.cpu", 0x46000, 0x2000, CRC(b9221ed1) SHA1(428ea8f3e2fa58d875f581f5de6e0d05ed855a45) )	/* IC19 ROM12 */
2265 
2266 	/* sound CPU */
2267 	ROM_REGION( 0x10000, REGION_CPU2, 0 )
2268 	ROM_LOAD( "ic08_r1.cpu", 0x0E000, 0x2000, CRC(84517c3c) SHA1(de0b6473953783c091ddcc7aaa89fc1ec3b9d378) )	/* IC08 ROM08 */
2269 
2270 	/* sound board */
2271 	ROM_REGION( 0x70000, REGION_CPU3, 0 )
2272 	ROM_LOAD( "u04_r1.snd", 0x10000, 0x8000, CRC(3af6b47d) SHA1(aff19d65a4d9c249dec6a9e04a4066fada0f8fa1) )	/* IC04 ROM23 */
2273 	ROM_LOAD( "u19_r1.snd", 0x30000, 0x8000, CRC(e7f9ed2e) SHA1(6b9ef5189650f0b6b2866da7f532cdf851f02ead) )	/* IC19 ROM24 */
2274 	ROM_LOAD( "u20_r1.snd", 0x50000, 0x8000, CRC(c85b29f7) SHA1(b37e1890bd0dfa0c7db19fc878450718b60c1ca0) )	/* IC20 ROM25 */
2275 
2276 	ROM_REGION( 0xc000, REGION_GFX1, ROMREGION_DISPOSE )
2277 	ROM_LOAD( "ic57_r1.vid", 0x00000, 0x4000, CRC(572c6b01) SHA1(651df3223c1dc42543f57a7204ae492eb15a4999) )	/* IC57 ROM20 */
2278 	ROM_LOAD( "ic58_r1.vid", 0x04000, 0x4000, CRC(aa94bf05) SHA1(3412dd181e2c12dc2dd1caabfe7e737005b0ccd7) )	/* IC58 ROM21 */
2279 	ROM_LOAD( "ic41_r1.vid", 0x08000, 0x4000, CRC(c41e3daa) SHA1(fafe76bebd6eaf2cd124c1030e3a58eb5a6cddc6) )	/* IC41 ROM22 */
2280 ROM_END
2281 
2282 
2283 
2284 /*************************************
2285  *
2286  *	Driver initialization
2287  *
2288  *************************************/
2289 
2290 static DRIVER_INIT( defender )
2291 {
2292 	static const UINT32 bank[8] = { 0x0c000, 0x10000, 0x11000, 0x12000, 0x0c000, 0x0c000, 0x0c000, 0x13000 };
2293 	defender_bank_list = bank;
2294 
2295 	/* CMOS configuration */
2296 	CONFIGURE_CMOS(0xc400, 0x100);
2297 
2298 	/* PIA configuration */
2299 	CONFIGURE_PIAS(defender_pia_0_intf, williams_pia_1_intf, williams_snd_pia_intf);
2300 }
2301 
2302 
DRIVER_INIT(defndjeu)2303 static DRIVER_INIT( defndjeu )
2304 {
2305 /*
2306 	Note: Please do not remove these comments in BETA versions. They are
2307 			helpful to get the games working. When they will work, useless
2308 			comments may be removed as desired.
2309 
2310 	The encryption in this game is one of the silliest I have ever seen.
2311 	I just wondered if the ROMs were encrypted, and figured out how they
2312 	were in just about 5 mins...
2313 	Very simple: bits 0 and 7 are swapped in the ROMs (not sound).
2314 
2315 	Game does not work due to bad ROMs 16 and 20. However, the others are
2316 	VERY similar (if not nearly SAME) to MAYDAY and DEFENSE ones (and NOT
2317 	DEFENDER), although MAYDAY ROMs are more similar than DEFENSE ones...
2318 	By putting MAYDAY ROMs and encrypting them, I got a first machine test
2319 	and then, reboot... The test was the random graphic drawings, which
2320 	were bad. Each time the full screen was drawn, the game rebooted.
2321 	Unfortunately, I don't remember which roms I took to get that, and I
2322 	could not get the same result anymore (I did not retry ALL the
2323 	possibilities I did at 01:30am). :-(
2324 
2325 	ROM equivalences (not including the sound ROM):
2326 
2327 	MAYDAY      MAYDAY (Alternate)    DEFENSE       JEUTEL's Defender
2328 	-----------------------------------------------------------------
2329 	ROMC.BIN    IC03-3.BIN            DFNDR-C.ROM           15
2330 	ROMB.BIN    IC02-2.BIN            DFNDR-B.ROM           16
2331 	ROMA.BIN    IC01-1.BIN            DFNDR-A.ROM           17
2332 	ROMG.BIN    IC07-7D.BIN           DFNDR-G.ROM           18
2333 	ROMF.BIN    IC06-6.BIN            DFNDR-F.ROM           19
2334 	ROME.BIN    IC05-5.BIN            DFNDR-E.ROM           20
2335 	ROMD.BIN    IC04-4.BIN            DFNDR-D.ROM           21
2336 */
2337 	static const UINT32 bank[8] = { 0x0c000, 0x10000, 0x11000, 0x12000, 0x0c000, 0x0c000, 0x0c000, 0x14000 };
2338 	UINT8 *rom = memory_region(REGION_CPU1);
2339 	int i;
2340 
2341 	defender_bank_list = bank;
2342 
2343 	/* CMOS configuration */
2344 	CONFIGURE_CMOS(0xc400, 0x100);
2345 
2346 	/* PIA configuration */
2347 	CONFIGURE_PIAS(williams_pia_0_intf, williams_pia_1_intf, williams_snd_pia_intf);
2348 
2349 	for (i = 0xd000; i < 0x15000; i++)
2350 		rom[i] = BITSWAP8(rom[i],0,6,5,4,3,2,1,7);
2351 
2352 }
2353 
2354 #if 0
2355 static DRIVER_INIT( defcmnd )
2356 {
2357 	static const UINT32 bank[8] = { 0x0c000, 0x10000, 0x11000, 0x12000, 0x13000, 0x0c000, 0x0c000, 0x14000 };
2358 	defender_bank_list = bank;
2359 
2360 	/* CMOS configuration */
2361 	CONFIGURE_CMOS(0xc400, 0x100);
2362 
2363 	/* PIA configuration */
2364 	CONFIGURE_PIAS(williams_pia_0_intf, williams_pia_1_intf, williams_snd_pia_intf);
2365 }
2366 #endif
2367 
DRIVER_INIT(mayday)2368 static DRIVER_INIT( mayday )
2369 {
2370 	static const UINT32 bank[8] = { 0x0c000, 0x10000, 0x11000, 0x12000, 0x0c000, 0x0c000, 0x0c000, 0x13000 };
2371 	defender_bank_list = bank;
2372 
2373 	/* CMOS configuration */
2374 	CONFIGURE_CMOS(0xc400, 0x100);
2375 
2376 	/* PIA configuration */
2377 	CONFIGURE_PIAS(williams_pia_0_intf, williams_pia_1_intf, williams_snd_pia_intf);
2378 
2379 	/* install a handler to catch protection checks */
2380 	mayday_protection = install_mem_read_handler(0, 0xa190, 0xa191, mayday_protection_r);
2381 }
2382 
2383 
DRIVER_INIT(colony7)2384 static DRIVER_INIT( colony7 )
2385 {
2386 	static const UINT32 bank[8] = { 0x0c000, 0x10000, 0x11000, 0x12000, 0x0c000, 0x0c000, 0x0c000, 0x0c000 };
2387 	defender_bank_list = bank;
2388 
2389 	/* CMOS configuration */
2390 	CONFIGURE_CMOS(0xc400, 0x100);
2391 
2392 	/* PIA configuration */
2393 	CONFIGURE_PIAS(williams_pia_0_intf, williams_pia_1_intf, williams_snd_pia_intf);
2394 }
2395 
2396 
DRIVER_INIT(stargate)2397 static DRIVER_INIT( stargate )
2398 {
2399 	/* CMOS configuration */
2400 	CONFIGURE_CMOS(0xcc00, 0x400);
2401 
2402 	/* PIA configuration */
2403 	CONFIGURE_PIAS(stargate_pia_0_intf, williams_pia_1_intf, williams_snd_pia_intf);
2404 }
2405 
2406 
DRIVER_INIT(joust)2407 static DRIVER_INIT( joust )
2408 {
2409 	/* CMOS configuration */
2410 	CONFIGURE_CMOS(0xcc00, 0x400);
2411 
2412 	/* video configuration */
2413 	CONFIGURE_BLITTER(4, 0, 0);
2414 
2415 	/* PIA configuration */
2416 	CONFIGURE_PIAS(williams_muxed_pia_0_intf, williams_pia_1_intf, williams_snd_pia_intf);
2417 }
2418 
2419 
DRIVER_INIT(robotron)2420 static DRIVER_INIT( robotron )
2421 {
2422 	/* CMOS configuration */
2423 	CONFIGURE_CMOS(0xcc00, 0x400);
2424 
2425 	/* video configuration */
2426 	CONFIGURE_BLITTER(4, 0, 0);
2427 
2428 	/* PIA configuration */
2429 	CONFIGURE_PIAS(williams_pia_0_intf, williams_pia_1_intf, williams_snd_pia_intf);
2430 }
2431 
2432 
DRIVER_INIT(spdball)2433 static DRIVER_INIT( spdball )
2434 {
2435 	/* CMOS configuration */
2436 	CONFIGURE_CMOS(0xcc00, 0x400);
2437 
2438 	/* video configuration */
2439 	CONFIGURE_BLITTER(4, 0, 0);
2440 
2441 	/* PIA configuration */
2442 	CONFIGURE_PIAS(williams_pia_0_intf, williams_pia_1_intf, williams_snd_pia_intf);
2443 	pia_config(3, PIA_STANDARD_ORDERING, &spdball_pia_3_intf);
2444 
2445 	/* install extra input handlers */
2446 	install_mem_read_handler (0, 0xc800, 0xc800, input_port_5_r);
2447 	install_mem_read_handler (0, 0xc801, 0xc801, input_port_6_r);
2448 	install_mem_read_handler (0, 0xc802, 0xc802, input_port_7_r);
2449 	install_mem_read_handler (0, 0xc803, 0xc803, input_port_8_r);
2450 	install_mem_read_handler (0, 0xc808, 0xc80b, pia_3_r);
2451 	install_mem_write_handler(0, 0xc808, 0xc80b, pia_3_w);
2452 }
2453 
DRIVER_INIT(alienar)2454 static DRIVER_INIT( alienar )
2455 {
2456 	/* CMOS configuration */
2457 	CONFIGURE_CMOS(0xcc00, 0x400);
2458 
2459 	/* video configuration */
2460 	CONFIGURE_BLITTER(4, 0, 0);
2461 
2462 	/* PIA configuration */
2463 	CONFIGURE_PIAS(williams_muxed_pia_0_intf, williams_pia_1_intf, williams_snd_pia_intf);
2464 
2465 	install_mem_write_handler (0, 0xcbff, 0xcbff, MWA_NOP);
2466 }
2467 
2468 
DRIVER_INIT(bubbles)2469 static DRIVER_INIT( bubbles )
2470 {
2471 	/* CMOS configuration */
2472 	CONFIGURE_CMOS(0xcc00, 0x400);
2473 
2474 	/* video configuration */
2475 	CONFIGURE_BLITTER(4, 0, 0);
2476 
2477 	/* PIA configuration */
2478 	CONFIGURE_PIAS(williams_pia_0_intf, williams_pia_1_intf, williams_snd_pia_intf);
2479 }
2480 
2481 
DRIVER_INIT(splat)2482 static DRIVER_INIT( splat )
2483 {
2484 	/* CMOS configuration */
2485 	CONFIGURE_CMOS(0xcc00, 0x400);
2486 
2487 	/* video configuration */
2488 	CONFIGURE_BLITTER(0, 0, 0);
2489 
2490 	/* PIA configuration */
2491 	CONFIGURE_PIAS(williams_dual_muxed_pia_0_intf, williams_pia_1_intf, williams_snd_pia_intf);
2492 }
2493 
2494 
DRIVER_INIT(sinistar)2495 static DRIVER_INIT( sinistar )
2496 {
2497 	/* CMOS configuration */
2498 	CONFIGURE_CMOS(0xcc00, 0x400);
2499 
2500 	/* video configuration */
2501 	CONFIGURE_BLITTER(4, 0, 1);
2502 
2503 	/* PIA configuration */
2504 	CONFIGURE_PIAS(williams_49way_pia_0_intf, williams_pia_1_intf, sinistar_snd_pia_intf);
2505 
2506 	/* install RAM instead of ROM in the Dxxx slot */
2507 	install_mem_read_handler (0, 0xd000, 0xdfff, MRA_RAM);
2508 	install_mem_write_handler(0, 0xd000, 0xdfff, MWA_RAM);
2509 }
2510 
2511 
DRIVER_INIT(playball)2512 static DRIVER_INIT( playball )
2513 {
2514 	/* CMOS configuration */
2515 	CONFIGURE_CMOS(0xcc00, 0x400);
2516 
2517 	/* video configuration */
2518 	CONFIGURE_BLITTER(4, 0, 1);
2519 
2520 	/* PIA configuration */
2521 	CONFIGURE_PIAS(williams_pia_0_intf, playball_pia_1_intf, sinistar_snd_pia_intf);
2522 
2523 	/* install RAM instead of ROM in the Dxxx slot */
2524 	install_mem_read_handler (0, 0xd000, 0xdfff, MRA_RAM);
2525 	install_mem_write_handler(0, 0xd000, 0xdfff, MWA_RAM);
2526 }
2527 
2528 
DRIVER_INIT(lottofun)2529 static DRIVER_INIT( lottofun )
2530 {
2531 	/* CMOS configuration */
2532 	CONFIGURE_CMOS(0xcc00, 0x400);
2533 
2534 	/* video configuration */
2535 	CONFIGURE_BLITTER(4, 0, 0);
2536 
2537 	/* PIA configuration */
2538 	CONFIGURE_PIAS(lottofun_pia_0_intf, williams_pia_1_intf, williams_snd_pia_intf);
2539 }
2540 
2541 
DRIVER_INIT(blaster)2542 static DRIVER_INIT( blaster )
2543 {
2544 	/* CMOS configuration */
2545 	CONFIGURE_CMOS(0xcc00, 0x400);
2546 
2547 	/* video configuration */
2548 	CONFIGURE_BLITTER(0, 1, 0);
2549 
2550 	/* PIA configuration */
2551 	CONFIGURE_PIAS(williams_49way_pia_0_intf, williams_pia_1_intf, williams_snd_pia_intf);
2552 }
2553 
2554 
DRIVER_INIT(blastkit)2555 static DRIVER_INIT( blastkit )
2556 {
2557 	/* CMOS configuration */
2558 	CONFIGURE_CMOS(0xcc00, 0x400);
2559 
2560 	/* video configuration */
2561 	CONFIGURE_BLITTER(0, 1, 0);
2562 
2563 	/* PIA configuration */
2564 	CONFIGURE_PIAS(williams_49way_muxed_pia_0_intf, williams_pia_1_intf, williams_snd_pia_intf);
2565 }
2566 
2567 
DRIVER_INIT(mysticm)2568 static DRIVER_INIT( mysticm )
2569 {
2570 	static const UINT8 tilemap_colors[] = { 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
2571 
2572 	/* CMOS configuration */
2573 	CONFIGURE_CMOS(0xcc00, 0x400);
2574 
2575 	/* video configuration */
2576 	CONFIGURE_BLITTER(0, 0, 0);
2577 	CONFIGURE_TILEMAP(0x7f, tilemap_colors, 1, 0, 1);
2578 
2579 	/* PIA configuration */
2580 	CONFIGURE_PIAS(mysticm_pia_0_intf, williams2_pia_1_intf, williams2_snd_pia_intf);
2581 
2582 	/* install RAM instead of ROM in the Dxxx slot */
2583 	install_mem_read_handler (0, 0xd000, 0xdfff, MRA_RAM);
2584 	install_mem_write_handler(0, 0xd000, 0xdfff, MWA_RAM);
2585 }
2586 
2587 
DRIVER_INIT(tshoot)2588 static DRIVER_INIT( tshoot )
2589 {
2590 	static const UINT8 tilemap_colors[] = { 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7 };
2591 
2592 	/* CMOS configuration */
2593 	CONFIGURE_CMOS(0xcc00, 0x400);
2594 
2595 	/* video configuration */
2596 	CONFIGURE_BLITTER(0, 0, 0);
2597 	CONFIGURE_TILEMAP(0x7f, tilemap_colors, 1, 0, 0);
2598 
2599 	/* PIA configuration */
2600 	CONFIGURE_PIAS(tshoot_pia_0_intf, williams2_pia_1_intf, tshoot_snd_pia_intf);
2601 }
2602 
2603 
DRIVER_INIT(inferno)2604 static DRIVER_INIT( inferno )
2605 {
2606 	static const UINT8 tilemap_colors[] = { 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7 };
2607 
2608 	/* CMOS configuration */
2609 	CONFIGURE_CMOS(0xcc00, 0x400);
2610 
2611 	/* video configuration */
2612 	CONFIGURE_BLITTER(0, 0, 0);
2613 	CONFIGURE_TILEMAP(0x7f, tilemap_colors, 1, 0, 0);
2614 
2615 	/* PIA configuration */
2616 	CONFIGURE_PIAS(williams2_muxed_pia_0_intf, williams2_pia_1_intf, williams2_snd_pia_intf);
2617 
2618 	/* install RAM instead of ROM in the Dxxx slot */
2619 	install_mem_read_handler (0, 0xd000, 0xdfff, MRA_RAM);
2620 	install_mem_write_handler(0, 0xd000, 0xdfff, MWA_RAM);
2621 }
2622 
2623 
DRIVER_INIT(joust2)2624 static DRIVER_INIT( joust2 )
2625 {
2626 	static const UINT8 tilemap_colors[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
2627 
2628 	/* CMOS configuration */
2629 	CONFIGURE_CMOS(0xcc00, 0x400);
2630 
2631 	/* video configuration */
2632 	CONFIGURE_BLITTER(0, 0, 0);
2633 	CONFIGURE_TILEMAP(0xff, tilemap_colors, 0, -2, 0);
2634 
2635 	/* PIA configuration */
2636 	CONFIGURE_PIAS(williams2_muxed_pia_0_intf, joust2_pia_1_intf, williams2_snd_pia_intf);
2637 
2638 	/* expand the sound ROMs */
2639 	memcpy(&memory_region(REGION_CPU3)[0x18000], &memory_region(REGION_CPU3)[0x10000], 0x08000);
2640 	memcpy(&memory_region(REGION_CPU3)[0x20000], &memory_region(REGION_CPU3)[0x10000], 0x10000);
2641 	memcpy(&memory_region(REGION_CPU3)[0x38000], &memory_region(REGION_CPU3)[0x30000], 0x08000);
2642 	memcpy(&memory_region(REGION_CPU3)[0x40000], &memory_region(REGION_CPU3)[0x30000], 0x10000);
2643 	memcpy(&memory_region(REGION_CPU3)[0x58000], &memory_region(REGION_CPU3)[0x50000], 0x08000);
2644 	memcpy(&memory_region(REGION_CPU3)[0x60000], &memory_region(REGION_CPU3)[0x50000], 0x10000);
2645 }
2646 
2647 
2648 
2649 /*************************************
2650  *
2651  *	Game drivers
2652  *
2653  *************************************/
2654 
2655 GAMEC( 1980, defender, 0,        defender, defender, defender, ROT0,   "Williams", "Defender (Red label)",   &generic_ctrl, &defender_bootstrap )
2656 GAMEC( 1980, defendg,  defender, defender, defender, defender, ROT0,   "Williams", "Defender (Green label)", &generic_ctrl, &defendg_bootstrap )
2657 GAMEC( 1980, defendw,  defender, defender, defender, defender, ROT0,   "Williams", "Defender (White label)", &generic_ctrl, &defendg_bootstrap )
2658 GAMEX( 1980, defndjeu, defender, defender, defender, defndjeu, ROT0,   "Jeutel", "Defender [Q] (bootleg)",   GAME_NOT_WORKING )
2659 GAMEC( 1980, defcmnd,  defender, defender, defender, defender, ROT0,   "bootleg", "Defense Command (set 1)", &generic_ctrl, &defcmnd_bootstrap )
2660 GAMEC( 1981, defence,  defender, defender, defender, defender, ROT0,   "Outer Limits", "Defence Command",    &generic_ctrl, &defence_bootstrap   )
2661 
2662 GAME(  1980, mayday,   0,        defender, defender, mayday,   ROT0,   "<unknown>", "Mayday (set 1)" )
2663 GAME(  1980, maydaya,  mayday,   defender, defender, mayday,   ROT0,   "<unknown>", "Mayday (set 2)" )
2664 GAME(  1980, maydayb,  mayday,   defender, defender, mayday,   ROT0,   "<unknown>", "Mayday (set 3)" )
2665 
2666 GAME(  1981, colony7,  0,        defender, colony7,  colony7,  ROT270, "Taito", "Colony 7 (set 1)" )
2667 GAME(  1981, colony7a, colony7,  defender, colony7,  colony7,  ROT270, "Taito", "Colony 7 (set 2)" )
2668 
2669 GAME(  1981, stargate, 0,        williams, stargate, stargate, ROT0,   "Williams", "Stargate" )
2670 
2671 GAMEC( 1982, robotron, 0,        williams, robotron, robotron, ROT0,   "Williams", "Robotron (Solid Blue label)",    &robotron_ctrl, &robotron_bootstrap )
2672 GAMEC( 1982, robotryo, robotron, williams, robotron, robotron, ROT0,   "Williams", "Robotron (Yellow-Orange label)", &robotron_ctrl, &robotryo_bootstrap )
2673 
2674 GAMEC( 1982, joust,    0,        williams, joust,    joust,    ROT0,   "Williams", "Joust (White-Green label)", &joust_ctrl, &joust_bootstrap )
2675 GAMEC( 1982, joustr,   joust,    williams, joust,    joust,    ROT0,   "Williams", "Joust (Solid Red label)",   &joust_ctrl, &joust_bootstrap )
2676 GAMEC( 1982, joustwr,  joust,    williams, joust,    joust,    ROT0,   "Williams", "Joust (White-Red label)",   &joust_ctrl, &joust_bootstrap )
2677 
2678 GAME(  1982, bubbles,  0,        williams, bubbles,  bubbles,  ROT0,   "Williams", "Bubbles" )
2679 GAME(  1982, bubblesr, bubbles,  williams, bubbles,  bubbles,  ROT0,   "Williams", "Bubbles (Solid Red label)" )
2680 GAME(  1982, bubblesp, bubbles,  williams, bubbles,  bubbles,  ROT0,   "Williams", "Bubbles (prototype version)" )
2681 
2682 GAME(  1982, splat,    0,        williams, splat,    splat,    ROT0,   "Williams", "Splat!" )
2683 
2684 GAMEC( 1982, sinistar, 0,        sinistar, sinistar, sinistar, ROT270, "Williams", "Sinistar (revision 3)",         &generic_ctrl, &sinistar_bootstrap)
2685 GAMEC( 1982, sinista1, sinistar, sinistar, sinistar, sinistar, ROT270, "Williams", "Sinistar (prototype version)",  &generic_ctrl, &sinista1_bootstrap )
2686 GAMEC( 1982, sinista2, sinistar, sinistar, sinistar, sinistar, ROT270, "Williams", "Sinistar (revision 2)",         &generic_ctrl, &sinista2_bootstrap )
2687 
2688 GAME(  1983, playball, 0,        playball, playball, playball, ROT270, "Williams", "PlayBall! (prototype)" )
2689 
2690 GAME(  1983, blaster,  0,        blaster,  blaster,  blaster,  ROT0,   "Williams", "Blaster" )
2691 GAME(  1983, blastkit, blaster,  blaster,  blastkit, blastkit, ROT0,   "Williams", "Blaster (kit)" )
2692 
2693 GAME(  1985, spdball,  0,        williams, spdball,  spdball,  ROT0,   "Williams", "Speed Ball (prototype)" )
2694 GAME(  1985, alienar,  0,        alienar,  alienar,  alienar,  ROT0,   "Duncan Brown", "Alien Arena" )
2695 GAME(  1985, alienaru,  0,       alienaru, alienar,  alienar,  ROT0,   "Duncan Brown", "Alien Arena (Stargate upgrade)" )
2696 
2697 GAME(  1983, mysticm,  0,        williams2,mysticm,  mysticm,  ROT0,   "Williams", "Mystic Marathon" )
2698 GAME(  1984, tshoot,   0,        williams2,tshoot,   tshoot,   ROT0,   "Williams", "Turkey Shoot" )
2699 GAMECX(1984, inferno,  0,        williams2,inferno,  inferno,  ROT0,   "Williams", "Inferno (Williams)", GAME_IMPERFECT_SOUND, &inferno_ctrl, NULL  )
2700 GAMEC( 1986, joust2,   0,        joust2,   joust2,   joust2,   ROT270, "Williams", "Joust 2 - Survival of the Fittest (set 1)", &joust2_ctrl, &joust2_bootstrap )
2701 
2702 GAME(  1987, lottofun, 0,        williams, lottofun, lottofun, ROT0,   "H.A.R. Management", "Lotto Fun" )
2703