1 /***************************************************************************
2 
3 					-= Seta, Sammy, Visco (SSV) System =-
4 
5 					driver by	Luca Elia (l.elia@tin.it)
6 
7 
8 CPU          :		NEC V60
9 
10 Sound Chip   :		Ensoniq ES5506 (OTTOR2)
11 
12 Custom Chips :		ST-0004		(Video DAC)
13 					ST-0005		(Parallel I/O)
14 					ST-0006		(Video controller)
15 					ST-0007		(System controller)
16 
17 Others       :		Battery + MB3790 + LH5168D-10L (NVRAM)
18 					DX-102				(I/O)
19 					M62X42B				(RTC)
20 					ST010
21 					TA8210				(Audio AMP)
22 					uPD71051/7001C		(UART)
23 
24 -----------------------------------------------------------------------------------
25 Main Board	ROM Board	Year + Game									By
26 -----------------------------------------------------------------------------------
27 STA-0001	STS-0001	93	Super Real Mahjong PIV					Seta
28 STA-0001	STS-0001	93	Dramatic Adventure Quiz Keith & Lucy	Visco
29 STA-0001	SAM-5127	93	Survival Arts							Sammy
30 STA-0001    SAM-5127    93  DynaGears                               Sammy
31 STA-0001B	VISCO-001B	94	Drift Out '94							Visco
32 STA-0001B	GOLF ROM	94	Eagle Shot Golf 					    Sammy
33 STA-0001B	?			94	Twin Eagle II - The Rescue Mission   	Seta
34 STA-0001B	P1-102A		95	Mahjong Hyper Reaction					Sammy
35 ?			?			95	Ultra X Weapons / Ultra Keibitai 	Banpresto + Tsuburaya Prod.
36 STA-0001B	VISCO-JJ1	96	Lovely Pop Mahjong Jan Jan Shimasyo		Visco
37 STA-0001B	VISCO-001B	96	Storm Blade								Visco
38 STA-0001B	P1-105A		96?	Meosis Magic							Sammy
39 STA-0001B	?			97	Joryuu Syougi Kyoushitsu (1)			Visco
40 STA-0001B	VISCO-JJ1	97	Koi Koi Shimasyo 2						Visco
41 STA-0001B	P1-112A		97	Mahjong Hyper Reaction 2				Sammy
42 STA-0001B	?			97	Monster Slider							Visco / Datt
43 STA-0001	?			97	Super Real Mahjong P7					Seta
44 STA-0001B	?			98	Gourmet Battle Quiz Ryorioh CooKing		Visco
45 STA-0001B	P1-112C		98	Pachinko Sexy Reaction					Sammy
46 STA-0001B	P1-112C		99  Change Air Blade						Visco
47 STA-0001B	SSV_SUB     00  Vasara									Visco
48 STA-0001B	SSV_SUB		01  Vasara 2								Visco
49 -----------------------------------------------------------------------------------
50 
51 (1) Uses an unemulated NEC V810 CPU instead of the V60.
52 
53 
54 Games not yet dumped:
55 						?	Kidou Senshi Gundam Final Shooting		Visco / Banpresto
56 						?	Pachinko Sexy Reaction 2				Sammy
57 
58 
59 STA-0001 & STA-0001B should be fully interchangable, its reported that STA-0001 runs at
60 12mhz whereas STA-0001B runs at 16.
61 
62 To Do:
63 
64 - all games	:	CRT controller (resolution+visible area+flip screen?)
65 				Proper "shadows" support: the low 4 bits of the pens from a "shadowing"
66 				tile (regardless of color code) substitute the top 4 bits of the
67 				color index (0-7fff) in the frame buffer.
68 
69 - hypreac2	:	communication with other units
70 				tilemap sprites use the yoffset specified in the sprites-list?
71 				(see the 8 pixel gap between the backgrounds and the black rows)
72 
73 - mslider   :   V60 issues?  the correct tiles don't always vanish, depending on
74                 the layout of the 3 tiles you put together sometimes only 2 vanish
75                 and a blank are off the bottom of the game board flashes instead
76                 of the correct 3rd tile
77 
78 - srmp4		:	Backgrounds are offset by $60 pixels, so they're kludged to work
79 
80 - srmp7		:	Needs interrupts by the sound chip (unsupported yet). Kludged to work.
81 
82 - ultrax    :   bad gfx offsets and wrong visible area
83 - twineag2  :   bad gfx offsets on some scenes
84 
85 - dynagear  :   Requires 2 kludges for the video emulation and has some bad shadow sprites
86                 on the left side of the screen
87 
88 	code @ $e75cdc
89 
90 	 W:
91 	 		0x482000 - 0x482007 - values taken from obj table
92 	 		0x482040 - 0x482043 - write latch ?
93 
94 	 R:
95 	 		0x482022 - 0x482023 - result = direction ,
96 	 													probably : 00 = down, 40 = left, 80 = up, c0 = right
97 	 		0x482042 - 0x482043 - protection status bits ?
98 
99 ***************************************************************************/
100 
101 #include "driver.h"
102 #include "vidhrdw/generic.h"
103 #include "machine/random.h"
104 #include "machine/eeprom.h"
105 #include "seta.h"
106 
107 #include <math.h>
108 
109 /***************************************************************************
110 
111 
112 								Interrupts
113 
114 
115 ***************************************************************************/
116 
117 static UINT8 requested_int;
118 static data16_t *ssv_irq_vectors;
119 static data16_t irq_enable;
120 static data16_t *ssv_mainram;
121 
122 /* Update the IRQ state based on all possible causes */
update_irq_state(void)123 static void update_irq_state(void)
124 {
125 	cpu_set_irq_line(0, 0, (requested_int & irq_enable)? ASSERT_LINE : CLEAR_LINE);
126 }
127 
ssv_irq_callback(int level)128 int ssv_irq_callback(int level)
129 {
130 	int i;
131 	for ( i = 0; i <= 7; i++ )
132 	{
133 		if (requested_int & (1 << i))
134 		{
135 			data16_t vector = ssv_irq_vectors[i * (16/2)] & 7;
136 			return vector;
137 		}
138 	}
139 	return 0;
140 }
141 
WRITE16_HANDLER(ssv_irq_ack_w)142 WRITE16_HANDLER( ssv_irq_ack_w )
143 {
144 	int level = ((offset * 2) & 0x70) >> 4;
145 	requested_int &= ~(1 << level);
146 
147 	update_irq_state();
148 }
149 
150 /*
151 	IRQ Enable Register:
152 
153 	drifto94:	c at the start
154 	hypreact:	ff at the start
155 	hypreac2:	ff at the start
156 	janjans1:	0,6c,60
157 	keithlcy:	c at the start
158 	meosism:	ff at the start
159 	mslider:	c at the start
160 	ryorioh:	0,c at the start
161 	srmp4:		8 at the start
162 	srmp7:		8 at the start, 28, 40 (seems related to 21000e writes)
163 	survarts:	0,8 at the start
164 	sxyreact:	ff at the start
165 	ultrax:		40,00 at the start then 42,4a
166 	twineag2:	40,00 at the start then 42,4a
167 */
WRITE16_HANDLER(ssv_irq_enable_w)168 WRITE16_HANDLER( ssv_irq_enable_w )
169 {
170 	COMBINE_DATA(&irq_enable);
171 }
172 
173 static int interrupt_ultrax;
174 
INTERRUPT_GEN(ssv_interrupt)175 INTERRUPT_GEN( ssv_interrupt )
176 {
177 	if (cpu_getiloops())
178 	{
179 		if(interrupt_ultrax)
180 		{
181 			requested_int |= 1 << 1;	/* needed by ultrax to coin up, breaks cairblad*/
182 			update_irq_state();
183 		}
184 	}
185 	else
186 	{
187 		requested_int |= 1 << 3;	/* vblank*/
188 		update_irq_state();
189 	}
190 }
191 
INTERRUPT_GEN(gdfs_interrupt)192 INTERRUPT_GEN( gdfs_interrupt )
193 {
194 	if (cpu_getiloops())
195 	{
196 		requested_int |= 1 << 6;	/* reads lightgun (4 times for 4 axis) */
197 		update_irq_state();
198 	}
199 	else
200 	{
201 		requested_int |= 1 << 3;	/* vblank */
202 		update_irq_state();
203 	}
204 }
205 
206 
207 /***************************************************************************
208 
209 
210 							Coins Lockout / Counter
211 
212 
213 ***************************************************************************/
214 
215 /*
216 	drifto94:	c3
217 	janjans1:	c3
218 	keithlcy:	c3
219 	mslider:	c3, 83 in test mode
220 	ryorioh:	c3
221 
222 	hypreac2:	80
223 	hypreact:	80
224 	meosism:	83
225 	srmp4:		83, c0 in test mode (where only tilemap sprites are used)
226 	srmp7:		80
227 	survarts:	83
228 	sxyreact:	80
229 */
WRITE16_HANDLER(ssv_lockout_w)230 static WRITE16_HANDLER( ssv_lockout_w )
231 {
232 /*	usrintf_showmessage("%02X",data & 0xff);*/
233 	if (ACCESSING_LSB)
234 	{
235 		coin_lockout_w(1,~data & 0x01);
236 		coin_lockout_w(0,~data & 0x02);
237 		coin_counter_w(1, data & 0x04);
238 		coin_counter_w(0, data & 0x08);
239 /*		                  data & 0x40?*/
240 		ssv_enable_video( data & 0x80);
241 	}
242 }
243 
244 /* Same as above but with inverted lockout lines */
WRITE16_HANDLER(ssv_lockout_inv_w)245 static WRITE16_HANDLER( ssv_lockout_inv_w )
246 {
247 /*	usrintf_showmessage("%02X",data & 0xff);*/
248 	if (ACCESSING_LSB)
249 	{
250 		coin_lockout_w(1, data & 0x01);
251 		coin_lockout_w(0, data & 0x02);
252 		coin_counter_w(1, data & 0x04);
253 		coin_counter_w(0, data & 0x08);
254 /*		                  data & 0x40?*/
255 		ssv_enable_video( data & 0x80);
256 	}
257 }
258 
MACHINE_INIT(ssv)259 MACHINE_INIT( ssv )
260 {
261 	requested_int = 0;
262 	cpu_set_irq_callback(0, ssv_irq_callback);
263 	cpu_setbank(1, memory_region(REGION_USER1));
264 }
265 
266 
267 /***************************************************************************
268 
269 
270 							Non-Volatile RAM
271 
272 
273 ***************************************************************************/
274 
275 static data16_t *ssv_nvram;
276 static size_t    ssv_nvram_size;
277 
NVRAM_HANDLER(ssv)278 NVRAM_HANDLER( ssv )
279 {
280 	if (read_or_write)
281 		mame_fwrite(file, ssv_nvram, ssv_nvram_size);
282 	else
283 		if (file)
284 			mame_fread(file, ssv_nvram, ssv_nvram_size);
285 }
286 
NVRAM_HANDLER(gdfs)287 NVRAM_HANDLER( gdfs )
288 {
289 	if (read_or_write)
290 		EEPROM_save(file);
291 	else
292 	{
293 		EEPROM_init(&eeprom_interface_93C46);
294 
295 		if (file) EEPROM_load(file);
296 		else
297 		{
298 			/* Set the EEPROM to Factory Defaults */
299 		}
300 	}
301 }
302 
303 /***************************************************************************
304 
305 
306 								DSP
307 
308 
309 ***************************************************************************/
310 
311 
312 static UINT16 *dsp_ram;
313 
WRITE16_HANDLER(dsp_w)314 static WRITE16_HANDLER( dsp_w )
315 {
316 	COMBINE_DATA(dsp_ram+offset);
317 	if(offset == 0x21 && dsp_ram[0x21]) {
318 		switch(dsp_ram[0x20]) {
319 		case 0x0001:
320 			dsp_ram[0x11] = (UINT8)(128*atan2(dsp_ram[0] - dsp_ram[1], dsp_ram[2] - dsp_ram[3])/M_PI) ^ 0x80;
321 			dsp_ram[0x21] = 0;
322 			break;
323 		default:
324 			dsp_ram[0x21] = 0;
325 			log_cb(RETRO_LOG_DEBUG, LOGPRE "SSV DSP: unknown function %x (%x)\n", dsp_ram[0x20], activecpu_get_pc());
326 			break;
327 		}
328 	}
329 }
330 
331 
332 
333 /***************************************************************************
334 
335 
336 								Memory Maps
337 
338 
339 ***************************************************************************/
340 
341 /*static READ16_HANDLER( fake_r )	{	return ssv_scroll[offset];	}*/
342 
343 #define SSV_READMEM( _ROM  )										\
344 	{ 0x000000, 0x00ffff, MRA16_RAM				},	/*	RAM		*/	\
345 	{ 0x100000, 0x13ffff, MRA16_RAM				},	/*	Sprites	*/	\
346 	{ 0x140000, 0x15ffff, MRA16_RAM				},	/*	Palette	*/	\
347 	{ 0x160000, 0x17ffff, MRA16_RAM				},	/*			*/	\
348 	{ 0x1c0000, 0x1c0001, ssv_vblank_r			},	/*	Vblank?	*/	\
349 /**/{ 0x1c0002, 0x1c007f, MRA16_RAM				},	/*	Scroll	*/	\
350 	{ 0x210002, 0x210003, input_port_0_word_r	},	/*	DSW		*/	\
351 	{ 0x210004, 0x210005, input_port_1_word_r	},	/*	DSW		*/	\
352 	{ 0x210008, 0x210009, input_port_2_word_r	},	/*	P1		*/	\
353 	{ 0x21000a, 0x21000b, input_port_3_word_r	},	/*	P2		*/	\
354 	{ 0x21000c, 0x21000d, input_port_4_word_r	},	/*	Coins	*/	\
355 	{ 0x21000e, 0x21000f, MRA16_NOP				},	/*			*/	\
356 	{ 0x300000, 0x30007f, ES5506_data_0_word_r	},	/*	Sound	*/	\
357     { 0x482000, 0x482fff, MRA16_RAM             },  /*	DSP	    */	\
358 	{ _ROM,     0xffffff, MRA16_BANK1			},	/*	ROM		*/	\
359 	/*{ 0x990000, 0x99007f, fake_r	},*/
360 
361 #define SSV_WRITEMEM														\
362 	{ 0x000000, 0x00ffff, MWA16_RAM, &ssv_mainram	    },	/*	RAM			*/	\
363 	{ 0x100000, 0x13ffff, MWA16_RAM, &spriteram16		},	/*	Sprites		*/	\
364 	{ 0x140000, 0x15ffff, paletteram16_xrgb_swap_word_w, &paletteram16	},		\
365 	{ 0x160000, 0x17ffff, MWA16_RAM						},	/*				*/	\
366 	{ 0x1c0000, 0x1c007f, ssv_scroll_w, &ssv_scroll		},	/*	Scroll		*/	\
367 	{ 0x21000e, 0x21000f, ssv_lockout_w					},	/*	Lockout		*/	\
368 	{ 0x210010, 0x210011, MWA16_NOP						},	/*				*/	\
369 	{ 0x230000, 0x230071, MWA16_RAM, &ssv_irq_vectors	},	/*	IRQ Vectors	*/	\
370 	{ 0x240000, 0x240071, ssv_irq_ack_w					},	/*	IRQ Ack.	*/	\
371 	{ 0x260000, 0x260001, ssv_irq_enable_w				},	/*	IRQ Enable	*/	\
372 	{ 0x300000, 0x30007f, ES5506_data_0_word_w			},	/*	Sound		*/  \
373     { 0x482000, 0x482fff, dsp_w, &dsp_ram               },  /*	DSP	        */	\
374 	/*{ 0x990000, 0x99007f, ssv_scroll_w	},*/
375 
376 
377 static data16_t *ssv_input_sel;
378 
379 /***************************************************************************
380 								Drift Out '94
381 ***************************************************************************/
382 
READ16_HANDLER(drifto94_rand_r)383 static READ16_HANDLER( drifto94_rand_r )
384 {
385 	return mame_rand() & 0xffff;
386 }
387 
MEMORY_READ16_START(drifto94_readmem)388 static MEMORY_READ16_START( drifto94_readmem )
389 	{ 0x480000, 0x480001, MRA16_NOP				},	/* ?*/
390 	{ 0x510000, 0x510001, drifto94_rand_r		},	/* ??*/
391 	{ 0x520000, 0x520001, drifto94_rand_r		},	/* ??*/
392 	{ 0x580000, 0x5807ff, MRA16_RAM				},	/* NVRAM*/
393 	SSV_READMEM( 0xc00000 )
394 MEMORY_END
395 static MEMORY_WRITE16_START( drifto94_writemem )
396 /*	{ 0x210002, 0x210003, MWA16_NOP				},	*/ /* ? 1 at the start*/
397 	{ 0x400000, 0x47ffff, MWA16_RAM				},	/* ?*/
398 	{ 0x480000, 0x480001, MWA16_NOP				},	/* ?*/
399 	{ 0x483000, 0x485fff, MWA16_NOP				},	/* ?*/
400 	{ 0x500000, 0x500001, MWA16_NOP				},	/* ??*/
401 	{ 0x580000, 0x5807ff, MWA16_RAM, &ssv_nvram, &ssv_nvram_size	},	/* NVRAM*/
402 	SSV_WRITEMEM
403 MEMORY_END
404 
405 /***************************************************************************
406   Eagle Shot Golf
407 ***************************************************************************/
408 
409 static data8_t trackball_select, gfxrom_select;
410 
411 
READ16_HANDLER(eaglshot_gfxrom_r)412 static READ16_HANDLER( eaglshot_gfxrom_r )
413 {
414 	UINT8 *rom	=	memory_region(REGION_GFX1);
415 	size_t size	=	memory_region_length(REGION_GFX1);
416 
417 	offset = offset * 2 + gfxrom_select * 0x200000;
418 
419 	if (offset > size)
420 		return 0xffff;
421 
422 	return rom[offset] + (rom[offset+1]<<8);
423 }
424 
WRITE16_HANDLER(eaglshot_gfxrom_w)425 static WRITE16_HANDLER( eaglshot_gfxrom_w )
426 {
427 	if (ACCESSING_LSB)
428 		gfxrom_select = data;
429 }
430 
READ16_HANDLER(eaglshot_trackball_r)431 static READ16_HANDLER( eaglshot_trackball_r )
432 {
433 	switch(trackball_select)
434 	{
435 		case 0x60:	return (readinputport(5) >> 8) & 0xff;
436 		case 0x40:	return (readinputport(5) >> 0) & 0xff;
437 
438 		case 0x70:	return (readinputport(6) >> 8) & 0xff;
439 		case 0x50:	return (readinputport(6) >> 0) & 0xff;
440 	}
441 	return 0;
442 }
443 
WRITE16_HANDLER(eaglshot_trackball_w)444 static WRITE16_HANDLER( eaglshot_trackball_w )
445 {
446 	if (ACCESSING_LSB)
447 		trackball_select = data;
448 }
449 
450 
451 
READ16_HANDLER(eaglshot_gfxram_r)452 static READ16_HANDLER( eaglshot_gfxram_r )
453 {
454 	return eaglshot_gfxram[offset + (ssv_scroll[0x76/2] & 0xf) * 0x40000/2];
455 }
456 
WRITE16_HANDLER(eaglshot_gfxram_w)457 static WRITE16_HANDLER( eaglshot_gfxram_w )
458 {
459 	offset += (ssv_scroll[0x76/2] & 0xf) * 0x40000/2;
460 	COMBINE_DATA(&eaglshot_gfxram[offset]);
461 
462 	eaglshot_dirty = 1;
463 	eaglshot_dirty_tile[offset / (16*8/2)] = 1;
464 }
465 
466 
MEMORY_READ16_START(eaglshot_readmem)467 static MEMORY_READ16_START( eaglshot_readmem )
468     { 0x180000, 0x1bffff, eaglshot_gfxram_r		},
469 	{ 0x210000, 0x210001, MRA16_NOP		},	/* Watchdog */
470 	{ 0xa00000, 0xbfffff, eaglshot_gfxrom_r		},
471 	{ 0xc00000, 0xc007ff, MRA16_RAM				},	/* NVRAM */
472 	{ 0xd00000, 0xd00001, eaglshot_trackball_r	},
473 	SSV_READMEM( 0xf00000 )
474 MEMORY_END
475 static MEMORY_WRITE16_START( eaglshot_writemem )
476     { 0x180000, 0x1bffff, eaglshot_gfxram_w		},
477 /*  { 0x210002, 0x210003, MWA16_NOP             },    ? 0,4 at the start */
478     { 0x21000e, 0x21000f, ssv_lockout_inv_w		},	/* Inverted lockout lines */
479 	{ 0x800000, 0x800001, eaglshot_gfxrom_w		},
480 	{ 0x900000, 0x900001, eaglshot_trackball_w	},
481 	{ 0xc00000, 0xc007ff, MWA16_RAM, &ssv_nvram, &ssv_nvram_size },	/* NVRAM */
482 	SSV_WRITEMEM
483 MEMORY_END
484 
485 
486 /***************************************************************************
487                      Mobile Suit Gundam Final Shooting
488 ***************************************************************************/
489 
490 static int gdfs_gfxram_bank, gdfs_lightgun_select;
491 static data16_t *gdfs_blitram;
492 
READ16_HANDLER(gdfs_eeprom_r)493 READ16_HANDLER( gdfs_eeprom_r )
494 {
495 	return (((gdfs_lightgun_select & 1) ? 0 : 0xff) ^ readinputport(5 + gdfs_lightgun_select)) | (EEPROM_read_bit() << 8);
496 }
497 
WRITE16_HANDLER(gdfs_eeprom_w)498 WRITE16_HANDLER( gdfs_eeprom_w )
499 {
500 	static data16_t data_old;
501 
502 	if (data & ~0x7b00)
503 		log_cb(RETRO_LOG_DEBUG, LOGPRE "CPU #0 PC: %06X - Unknown EEPROM bit written %04X\n",activecpu_get_pc(),data);
504 
505 	if ( ACCESSING_MSB )
506 	{
507 /*      data & 0x8000 ? (near palette writes) */
508 /*      data & 0x0001 ? */
509 
510 		/* latch the bit */
511 		EEPROM_write_bit(data & 0x4000);
512 
513 		/* reset line asserted: reset. */
514 		EEPROM_set_cs_line((data & 0x1000) ? CLEAR_LINE : ASSERT_LINE );
515 
516 		/* clock line asserted: write latch or select next bit to read */
517 		EEPROM_set_clock_line((data & 0x2000) ? ASSERT_LINE : CLEAR_LINE );
518 
519 		if (!(data_old & 0x0800) && (data & 0x0800))	/* rising clock */
520 			gdfs_lightgun_select = (data & 0x0300) >> 8;
521 	}
522 
523 	COMBINE_DATA(&data_old);
524 }
525 
526 
READ16_HANDLER(gdfs_gfxram_r)527 static READ16_HANDLER( gdfs_gfxram_r )
528 {
529 	return eaglshot_gfxram[offset + gdfs_gfxram_bank * 0x100000/2];
530 }
531 
WRITE16_HANDLER(gdfs_gfxram_w)532 static WRITE16_HANDLER( gdfs_gfxram_w )
533 {
534 	offset += gdfs_gfxram_bank * 0x100000/2;
535 	COMBINE_DATA(&eaglshot_gfxram[offset]);
536 
537 	eaglshot_dirty = 1;
538 	eaglshot_dirty_tile[offset / (16*8/2)] = 1;
539 }
540 
READ16_HANDLER(gdfs_blitram_r)541 static READ16_HANDLER( gdfs_blitram_r )
542 {
543 	switch (offset)
544 	{
545 		case 0x00/2:
546 			/* blitter status? (bit C, bit A) */
547 			return 0;
548 	}
549 
550 	log_cb(RETRO_LOG_DEBUG, LOGPRE "CPU #0 PC: %06X - Blit reg read: %02X\n",activecpu_get_pc(),offset*2);
551 	return 0;
552 }
553 
WRITE16_HANDLER(gdfs_blitram_w)554 static WRITE16_HANDLER( gdfs_blitram_w )
555 {
556 	COMBINE_DATA(&gdfs_blitram[offset]);
557 
558 	switch (offset)
559 	{
560 		case 0x8a/2:
561 		{
562 			if (data & ~0x43)
563 				log_cb(RETRO_LOG_DEBUG, LOGPRE "CPU #0 PC: %06X - Unknown gdfs_gfxram_bank bit written %04X\n",activecpu_get_pc(),data);
564 
565 			if (ACCESSING_LSB)
566 				gdfs_gfxram_bank = data & 3;
567 		}
568 		break;
569 
570 		case 0xc0/2:
571 		case 0xc2/2:
572 		case 0xc4/2:
573 		case 0xc6/2:
574 		case 0xc8/2:
575 		break;
576 
577 		case 0xca/2:
578 		{
579 			UINT32 src	=	(gdfs_blitram[0xc0/2] + (gdfs_blitram[0xc2/2] << 16)) << 1;
580 			UINT32 dst	=	(gdfs_blitram[0xc4/2] + (gdfs_blitram[0xc6/2] << 16)) << 4;
581 			UINT32 len	=	(gdfs_blitram[0xc8/2]) << 4;
582 
583 			UINT8 *rom	=	memory_region(REGION_GFX2);
584 			size_t size	=	memory_region_length(REGION_GFX2);
585 
586 			if ( (src+len <= size) && (dst+len <= 4 * 0x100000) )
587 			{
588 				eaglshot_dirty = 1;
589 
590 				memcpy( &eaglshot_gfxram[dst/2], &rom[src], len );
591 
592 				if (len % (16*8))	len = len / (16*8) + 1;
593 				else				len = len / (16*8);
594 
595 				memset( &eaglshot_dirty_tile[dst / (16*8)], 1, len );
596 			}
597 			else
598 			{
599 				log_cb(RETRO_LOG_DEBUG, LOGPRE "CPU #0 PC: %06X - Blit out of range: src %x, dst %x, len %x\n",activecpu_get_pc(),src,dst,len);
600 			}
601 		}
602 		break;
603 
604 		default:
605 			log_cb(RETRO_LOG_DEBUG, LOGPRE "CPU #0 PC: %06X - Blit reg written: %02X <- %04X\n",activecpu_get_pc(),offset*2,data);
606 	}
607 }
608 
MEMORY_READ16_START(gdfs_readmem)609 static MEMORY_READ16_START( gdfs_readmem )
610     { 0x540000, 0x540001, gdfs_eeprom_r },
611 	{ 0x600000, 0x600fff, MRA16_RAM },
612 	{ 0x400000, 0x43ffff, MRA16_RAM },
613 	{ 0x440000, 0x44003f, MRA16_RAM },
614 	{ 0x800000, 0x87ffff, MRA16_RAM },
615 	{ 0x8c0000, 0x8c00ff, gdfs_blitram_r },
616 	{ 0x900000, 0x9fffff, gdfs_gfxram_r },
617 	SSV_READMEM( 0xc00000 )
618 MEMORY_END
619 static MEMORY_WRITE16_START( gdfs_writemem )
620     { 0x400000, 0x41ffff, gdfs_tmapram_w, &gdfs_tmapram },
621 	{ 0x420000, 0x43ffff, MWA16_RAM },
622 	{ 0x440000, 0x44003f, MWA16_RAM, &gdfs_tmapscroll },
623 	{ 0x500000, 0x500001, gdfs_eeprom_w },
624 	{ 0x600000, 0x600fff, MWA16_RAM },
625 	{ 0x800000, 0x87ffff, MWA16_RAM, &spriteram16_2 },
626 	{ 0x8c0000, 0x8c00ff, gdfs_blitram_w, &gdfs_blitram },
627 	{ 0x900000, 0x9fffff, gdfs_gfxram_w },
628 	SSV_WRITEMEM
629 MEMORY_END
630 
631 
632 /***************************************************************************
633 								Hyper Reaction
634 ***************************************************************************/
635 
636 /*
637 	The game prints "backup ram ok" and there is code to test some ram
638 	at 0x580000-0x5bffff. The test is skipped and this ram isn't used
639 	though. I guess it's either a left-over or there are different
640 	version with some battery backed RAM (which would indeed be on the
641 	rom-board, AFAIK)
642 */
643 
644 static READ16_HANDLER( hypreact_input_r )
645 {
646 	data16_t input_sel = *ssv_input_sel;
647 	if (input_sel & 0x0001)	return readinputport(5);
648 	if (input_sel & 0x0002)	return readinputport(6);
649 	if (input_sel & 0x0004)	return readinputport(7);
650 	if (input_sel & 0x0008)	return readinputport(8);
651 	log_cb(RETRO_LOG_DEBUG, LOGPRE "CPU #0 PC %06X: unknown input read: %04X\n",activecpu_get_pc(),input_sel);
652 	return 0xffff;
653 }
654 
MEMORY_READ16_START(hypreact_readmem)655 static MEMORY_READ16_START( hypreact_readmem )
656 	{ 0x210000, 0x210001, watchdog_reset16_r		},	/* Watchdog*/
657 /*	{ 0x280000, 0x280001, MRA16_NOP					},	*/ /* ? read at the start, value not used*/
658 	{ 0xc00000, 0xc00001, hypreact_input_r			},	/* Inputs*/
659 	{ 0xc00006, 0xc00007, MRA16_RAM					},	/**/
660 	{ 0xc00008, 0xc00009, MRA16_NOP					},	/**/
661 	SSV_READMEM( 0xf00000 )
662 MEMORY_END
663 static MEMORY_WRITE16_START( hypreact_writemem )
664 /*	{ 0x210002, 0x210003, MWA16_NOP					},	*/ /* ? 5 at the start*/
665 	{ 0x21000e, 0x21000f, ssv_lockout_inv_w			},	/* Inverted lockout lines*/
666 	{ 0xc00006, 0xc00007, MWA16_RAM, &ssv_input_sel	},	/* Inputs*/
667 	{ 0xc00008, 0xc00009, MWA16_NOP					},	/**/
668 	SSV_WRITEMEM
669 MEMORY_END
670 
671 
672 /***************************************************************************
673 								Hyper Reaction 2
674 ***************************************************************************/
675 
676 static MEMORY_READ16_START( hypreac2_readmem )
677 	{ 0x210000, 0x210001, watchdog_reset16_r		},	/* Watchdog*/
678 /*	{ 0x280000, 0x280001, MRA16_NOP					},	*/ /* ? read at the start, value not used*/
679 	{ 0x500000, 0x500001, hypreact_input_r			},	/* Inputs*/
680 	{ 0x500002, 0x500003, hypreact_input_r			},	/* (again?)*/
681 /*	  0x540000, 0x540003  communication with another unit*/
682 	SSV_READMEM( 0xe00000 )
683 MEMORY_END
684 static MEMORY_WRITE16_START( hypreac2_writemem )
685 /*	{ 0x210002, 0x210003, MWA16_NOP					},	*/ /* ? 5 at the start*/
686 	{ 0x21000e, 0x21000f, ssv_lockout_inv_w			},	/* Inverted lockout lines*/
687 	{ 0x520000, 0x520001, MWA16_RAM, &ssv_input_sel	},	/* Inputs*/
688 /*	  0x540000, 0x540003  communication with other units*/
689 	SSV_WRITEMEM
690 MEMORY_END
691 
692 
693 /***************************************************************************
694 								Jan Jan Simasyo
695 ***************************************************************************/
696 
697 static READ16_HANDLER( srmp4_input_r );
698 
MEMORY_READ16_START(janjans1_readmem)699 static MEMORY_READ16_START( janjans1_readmem )
700 	{ 0x210006, 0x210007, MRA16_NOP					},
701 	{ 0x800002, 0x800003, srmp4_input_r				},	/* Inputs*/
702 	SSV_READMEM( 0xc00000 )
703 MEMORY_END
704 static MEMORY_WRITE16_START( janjans1_writemem )
705 	{ 0x210000, 0x210001, MWA16_NOP					},	/* koikois2 but not janjans1*/
706 /*	{ 0x210002, 0x210003, MWA16_NOP					},	*/ /* ? 1 at the start*/
707 	{ 0x800000, 0x800001, MWA16_RAM, &ssv_input_sel	},	/* Inputs*/
708 	SSV_WRITEMEM
709 MEMORY_END
710 
711 
712 /***************************************************************************
713 								Keith & Lucy
714 ***************************************************************************/
715 
716 static MEMORY_READ16_START( keithlcy_readmem )
717 	{ 0x21000e, 0x21000f, MRA16_NOP			},	/**/
718 	SSV_READMEM( 0xe00000 )
719 MEMORY_END
720 static MEMORY_WRITE16_START( keithlcy_writemem )
721 /*	{ 0x210002, 0x210003, MWA16_NOP			},	*/ /* ? 1 at the start*/
722 	{ 0x210010, 0x210011, MWA16_NOP			},	/**/
723 	{ 0x400000, 0x47ffff, MWA16_RAM			},	/* ?*/
724 	SSV_WRITEMEM
725 MEMORY_END
726 
727 
728 /***************************************************************************
729 								Meosis Magic
730 ***************************************************************************/
731 
732 static MEMORY_READ16_START( meosism_readmem )
733 	{ 0x210000, 0x210001, watchdog_reset16_r	},	/* Watchdog*/
734 /*	{ 0x280000, 0x280001, MRA16_NOP				},	*/ /* ? read once, value not used*/
735 	{ 0x580000, 0x58ffff, MRA16_RAM				},	/* NVRAM*/
736 	SSV_READMEM( 0xf00000 )
737 MEMORY_END
738 static MEMORY_WRITE16_START( meosism_writemem )
739 /*	{ 0x210002, 0x210003, MWA16_NOP				},	*/ /* ? 5 at the start*/
740 /*	{ 0x500004, 0x500005, MWA16_NOP				},	*/ /* ? 0,58,18*/
741 	{ 0x580000, 0x58ffff, MWA16_RAM, &ssv_nvram, &ssv_nvram_size	},	/* NVRAM*/
742 	SSV_WRITEMEM
743 MEMORY_END
744 
745 /***************************************************************************
746 								Monster Slider
747 ***************************************************************************/
748 
749 /* Monster Slider needs the RAM mirrored for the gameplay logic to work correctly */
750 
751 static READ16_HANDLER( ssv_mainram_r )
752 {
753 	return ssv_mainram[offset];
754 }
755 
WRITE16_HANDLER(ssv_mainram_w)756 static WRITE16_HANDLER( ssv_mainram_w )
757 {
758 	COMBINE_DATA(&ssv_mainram[offset]);
759 }
760 
MEMORY_READ16_START(mslider_readmem)761 static MEMORY_READ16_START( mslider_readmem )
762 	{ 0x010000, 0x01ffff, ssv_mainram_r	   },	/* RAM Mirror*/
763 	SSV_READMEM( 0xf00000 )
764 MEMORY_END
765 static MEMORY_WRITE16_START( mslider_writemem )
766 	{ 0x010000, 0x01ffff, ssv_mainram_w		},	/* RAM Mirror*/
767 /*	{ 0x210002, 0x210003, MWA16_NOP			},	*/ /* ? 1 at the start*/
768 	{ 0x400000, 0x47ffff, MWA16_RAM			},	/* ?*/
769 /*	{ 0x500000, 0x500001, MWA16_NOP			},	*/ /* ? ff at the start*/
770 	SSV_WRITEMEM
771 MEMORY_END
772 
773 
774 /***************************************************************************
775 					Gourmet Battle Quiz Ryohrioh CooKing
776 ***************************************************************************/
777 
778 static MEMORY_READ16_START( ryorioh_readmem )
779 	SSV_READMEM( 0xc00000 )
780 MEMORY_END
781 static MEMORY_WRITE16_START( ryorioh_writemem )
782 	{ 0x210000, 0x210001, watchdog_reset16_w	},	/* Watchdog*/
783 /*	{ 0x210002, 0x210003, MWA16_NOP				},	*/ /* ? 1 at the start*/
784 	SSV_WRITEMEM
785 MEMORY_END
786 
787 
788 /***************************************************************************
789 							Super Real Mahjong PIV
790 ***************************************************************************/
791 
792 static READ16_HANDLER( srmp4_input_r )
793 {
794 	data16_t input_sel = *ssv_input_sel;
795 	if (input_sel & 0x0002)	return readinputport(5);
796 	if (input_sel & 0x0004)	return readinputport(6);
797 	if (input_sel & 0x0008)	return readinputport(7);
798 	if (input_sel & 0x0010)	return readinputport(8);
799 	log_cb(RETRO_LOG_DEBUG, LOGPRE "CPU #0 PC %06X: unknown input read: %04X\n",activecpu_get_pc(),input_sel);
800 	return 0xffff;
801 }
802 
MEMORY_READ16_START(srmp4_readmem)803 static MEMORY_READ16_START( srmp4_readmem )
804 	{ 0x210000, 0x210001, watchdog_reset16_r		},	/* Watchdog*/
805 	{ 0xc0000a, 0xc0000b, srmp4_input_r				},	/* Inputs*/
806 	SSV_READMEM( 0xf00000 )
807 MEMORY_END
808 static MEMORY_WRITE16_START( srmp4_writemem )
809 /*	{ 0x210002, 0x210003, MWA16_NOP					},	*/ /* ? 1,5 at the start*/
810 	{ 0xc0000e, 0xc0000f, MWA16_RAM, &ssv_input_sel	},	/* Inputs*/
811 	{ 0xc00010, 0xc00011, MWA16_NOP					},	/**/
812 	SSV_WRITEMEM
813 MEMORY_END
814 
815 
816 /***************************************************************************
817 							Super Real Mahjong P7
818 ***************************************************************************/
819 
820 /*
821 	Interrupts aren't supported by the chip emulator yet
822 	(lev 5 in this case, I guess)
823 */
824 static READ16_HANDLER( srmp7_irqv_r )
825 {
826 	return 0x0080;
827 }
828 
WRITE16_HANDLER(srmp7_sound_bank_w)829 static WRITE16_HANDLER( srmp7_sound_bank_w )
830 {
831 	if (ACCESSING_LSB)
832 	{
833 		int bank = 0x400000 * (data & 1);
834 		ES5506_voice_bank_0_w(2, bank);
835 		ES5506_voice_bank_0_w(3, bank);
836 	}
837 /*	usrintf_showmessage("%04X",data);*/
838 }
839 
READ16_HANDLER(srmp7_input_r)840 static READ16_HANDLER( srmp7_input_r )
841 {
842 	data16_t input_sel = *ssv_input_sel;
843 	if (input_sel & 0x0002)	return readinputport(5);
844 	if (input_sel & 0x0004)	return readinputport(6);
845 	if (input_sel & 0x0008)	return readinputport(7);
846 	if (input_sel & 0x0010)	return readinputport(8);
847 	log_cb(RETRO_LOG_DEBUG, LOGPRE "CPU #0 PC %06X: unknown input read: %04X\n",activecpu_get_pc(),input_sel);
848 	return 0xffff;
849 }
850 
MEMORY_READ16_START(srmp7_readmem)851 static MEMORY_READ16_START( srmp7_readmem )
852 	{ 0x010000, 0x050faf, MRA16_RAM				},	/* More RAM*/
853 	{ 0x210000, 0x210001, watchdog_reset16_r	},	/* Watchdog*/
854 	{ 0x300076, 0x300077, srmp7_irqv_r			},	/* Sound*/
855 /*	  0x540000, 0x540003, related to lev 5 irq?*/
856 	{ 0x600000, 0x600001, srmp7_input_r			},	/* Inputs*/
857 	SSV_READMEM( 0xc00000 )
858 MEMORY_END
859 static MEMORY_WRITE16_START( srmp7_writemem )
860 	{ 0x010000, 0x050faf, MWA16_RAM					},	/* More RAM*/
861 /*	{ 0x210002, 0x210003, MWA16_NOP					},	*/ /* ? 0,4 at the start*/
862 	{ 0x21000e, 0x21000f, ssv_lockout_inv_w			},	/* Coin Counters / Lockouts*/
863 /*	  0x540000, 0x540003, related to lev 5 irq?*/
864 	{ 0x580000, 0x580001, srmp7_sound_bank_w		},	/* Sound Bank*/
865 	{ 0x680000, 0x680001, MWA16_RAM, &ssv_input_sel	},	/* Inputs*/
866 	SSV_WRITEMEM
867 MEMORY_END
868 
869 
870 /***************************************************************************
871 								Survival Arts
872 ***************************************************************************/
873 
874 static MEMORY_READ16_START( survarts_readmem )
875 	{ 0x210000, 0x210001, watchdog_reset16_r	},	/* Watchdog*/
876 /*	{ 0x290000, 0x290001, MRA16_NOP				},	*/ /* ?*/
877 /*	{ 0x2a0000, 0x2a0001, MRA16_NOP				},	*/ /* ?*/
878     { 0x400000, 0x43ffff, MRA16_RAM             },  /* dyna*/
879 	{ 0x500008, 0x500009, input_port_5_word_r	},	/* Extra Buttons*/
880 	SSV_READMEM( 0xf00000 )
881 MEMORY_END
882 static MEMORY_WRITE16_START( survarts_writemem )
883 /*	{ 0x210002, 0x210003, MWA16_NOP				},	*/ /* ? 0,4 at the start*/
884     { 0x400000, 0x43ffff, MWA16_RAM             },  /* dyna*/
885 	SSV_WRITEMEM
886 MEMORY_END
887 
888 
889 /***************************************************************************
890 							Pachinko Sexy Reaction
891 ***************************************************************************/
892 
893 static data16_t serial;
894 
READ16_HANDLER(sxyreact_ballswitch_r)895 static READ16_HANDLER( sxyreact_ballswitch_r )
896 {
897 	return readinputport(5);
898 }
899 
READ16_HANDLER(sxyreact_dial_r)900 static READ16_HANDLER( sxyreact_dial_r )
901 {
902 	return ((serial >> 1) & 0x80);
903 }
904 
WRITE16_HANDLER(sxyreact_dial_w)905 static WRITE16_HANDLER( sxyreact_dial_w )
906 {
907 	if (ACCESSING_LSB)
908 	{
909 		static int old;
910 
911 		if (data & 0x20)
912 			serial = readinputport(6) & 0xff;
913 
914 		if ( (old & 0x40) && !(data & 0x40) )	/* $40 -> $00*/
915 			serial <<= 1;						/* shift 1 bit*/
916 
917 		old = data;
918 	}
919 }
920 
WRITE16_HANDLER(sxyreact_motor_w)921 static WRITE16_HANDLER( sxyreact_motor_w )
922 {
923 /*	usrintf_showmessage("%04X",data);	*/ /* 8 = motor on; 0 = motor off*/
924 }
925 
MEMORY_READ16_START(sxyreact_readmem)926 static MEMORY_READ16_START( sxyreact_readmem )
927 	{ 0x210000, 0x210001, watchdog_reset16_r	},	/* Watchdog*/
928 	{ 0x500002, 0x500003, sxyreact_ballswitch_r	},	/* ?*/
929 	{ 0x500004, 0x500005, sxyreact_dial_r		},	/* Dial Value (serial)*/
930 	{ 0x580000, 0x58ffff, MRA16_RAM				},	/* NVRAM*/
931 	SSV_READMEM( 0xe00000 )
932 MEMORY_END
933 static MEMORY_WRITE16_START( sxyreact_writemem )
934 /*	{ 0x210002, 0x210003, MWA16_NOP				},	*/ /* ? 1 at the start*/
935 	{ 0x21000e, 0x21000f, ssv_lockout_inv_w		},	/* Inverted lockout lines*/
936 	{ 0x520000, 0x520001, sxyreact_dial_w		},	/* Dial Value (advance 1 bit)*/
937 	{ 0x520004, 0x520005, sxyreact_motor_w		},	/* Dial Motor?*/
938 	{ 0x580000, 0x58ffff, MWA16_RAM, &ssv_nvram, &ssv_nvram_size	},	/* NVRAM*/
939 	SSV_WRITEMEM
940 MEMORY_END
941 
942 
943 /***************************************************************************
944 								Twin Eagle II
945 ***************************************************************************/
946 
947 static MEMORY_READ16_START( twineag2_readmem )
948 	{ 0x010000, 0x03ffff, MRA16_RAM				},	/* More RAM*/
949 	{ 0x210000, 0x210001, watchdog_reset16_r	},	/* Watchdog (also value is cmp.b with mem 8)*/
950 	SSV_READMEM( 0xe00000 )
951 MEMORY_END
952 static MEMORY_WRITE16_START( twineag2_writemem )
953 	{ 0x010000, 0x03ffff, MWA16_RAM				},	/* More RAM*/
954 	SSV_WRITEMEM
955 MEMORY_END
956 
957 
958 /***************************************************************************
959 									Ultra X
960 ***************************************************************************/
961 
962 static MEMORY_READ16_START( ultrax_readmem )
963 	{ 0x010000, 0x03ffff, MRA16_RAM				},	/* More RAM*/
964 	{ 0x210000, 0x210001, watchdog_reset16_r	},	/* Watchdog (also value is cmp.b with memory address 8)*/
965 	SSV_READMEM( 0xe00000 )
966 MEMORY_END
967 static MEMORY_WRITE16_START( ultrax_writemem )
968 	{ 0x010000, 0x03ffff, MWA16_RAM			},	/* More RAM*/
969 /*	{ 0x210002, 0x210003, MWA16_NOP			},	*/ /* ? 2,6 at the start*/
970 	SSV_WRITEMEM
971 MEMORY_END
972 
973 /***************************************************************************
974 
975 
976 								Input Ports
977 
978 
979 ***************************************************************************/
980 
981 
982 /***************************************************************************
983 	                       Change Air Blade
984 ***************************************************************************/
985 
986 INPUT_PORTS_START( cairblad )
987 	PORT_START	/* IN0*/
988 	PORT_DIPNAME( 0x0007, 0x0007, DEF_STR( Coin_A ) )
989 	PORT_DIPSETTING(      0x0005, DEF_STR( 3C_1C ) )
990 	PORT_DIPSETTING(      0x0006, DEF_STR( 2C_1C ) )
991 	PORT_DIPSETTING(      0x0007, DEF_STR( 1C_1C ) )
992 	PORT_DIPSETTING(      0x0004, DEF_STR( 1C_2C ) )
993 	PORT_DIPSETTING(      0x0003, DEF_STR( 1C_3C ) )
994 	PORT_DIPSETTING(      0x0002, DEF_STR( 1C_4C ) )
995 	PORT_DIPSETTING(      0x0001, DEF_STR( 1C_5C ) )
996 	PORT_DIPSETTING(      0x0000, DEF_STR( 1C_6C ) )
997 	PORT_DIPNAME( 0x0038, 0x0038, DEF_STR( Coin_B ) )
998 	PORT_DIPSETTING(      0x0028, DEF_STR( 3C_1C ) )
999 	PORT_DIPSETTING(      0x0030, DEF_STR( 2C_1C ) )
1000 	PORT_DIPSETTING(      0x0038, DEF_STR( 1C_1C ) )
1001 	PORT_DIPSETTING(      0x0020, DEF_STR( 1C_2C ) )
1002 	PORT_DIPSETTING(      0x0018, DEF_STR( 1C_3C ) )
1003 	PORT_DIPSETTING(      0x0010, DEF_STR( 1C_4C ) )
1004 	PORT_DIPSETTING(      0x0008, DEF_STR( 1C_5C ) )
1005 	PORT_DIPSETTING(      0x0000, DEF_STR( 1C_6C ) )
1006 	PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Unused ) )
1007 	PORT_DIPSETTING(      0x0040, DEF_STR( Off ) )
1008 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1009 	PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unused ) )
1010 	PORT_DIPSETTING(      0x0080, DEF_STR( Off ) )
1011 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1012 
1013 	PORT_START	/* IN1*/
1014 	PORT_DIPNAME( 0x0001, 0x0001, DEF_STR( Flip_Screen ) )
1015 	PORT_DIPSETTING(      0x0001, DEF_STR( Off ) )
1016 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1017 	PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Demo_Sounds ) )
1018 	PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
1019 	PORT_DIPSETTING(      0x0002, DEF_STR( On ) )
1020 	PORT_DIPNAME( 0x000c, 0x000c, DEF_STR( Difficulty ) )
1021 	PORT_DIPSETTING(      0x0008, "Easy" )
1022 	PORT_DIPSETTING(      0x000c, "Normal" )
1023 	PORT_DIPSETTING(      0x0004, "Hard" )
1024 	PORT_DIPSETTING(      0x0000, "Hardest" )
1025 	PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Free_Play ) )
1026 	PORT_DIPSETTING(      0x0010, DEF_STR( Off ) )
1027 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1028 	PORT_DIPNAME( 0x0060, 0x0060, DEF_STR( Bonus_Life ) )
1029 	PORT_DIPSETTING(      0x0040, "Every 2 Mil" )
1030 	PORT_DIPSETTING(      0x0060, "2 Mil/6 Mil" )
1031 	PORT_DIPSETTING(      0x0020, "4 Million" )
1032 	PORT_DIPSETTING(      0x0000, "None" )
1033 	PORT_SERVICE( 0x0080, IP_ACTIVE_LOW )
1034 
1035 	PORT_START	/* IN2*/
1036 	PORT_BIT(  0x0001, IP_ACTIVE_LOW, IPT_START1 )
1037 	PORT_BIT(  0x0002, IP_ACTIVE_LOW, IPT_BUTTON3        | IPF_PLAYER1 )
1038 	PORT_BIT(  0x0004, IP_ACTIVE_LOW, IPT_BUTTON2        | IPF_PLAYER1 )
1039 	PORT_BIT(  0x0008, IP_ACTIVE_LOW, IPT_BUTTON1        | IPF_PLAYER1 )
1040 	PORT_BIT(  0x0010, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER1 )
1041 	PORT_BIT(  0x0020, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_PLAYER1 )
1042 	PORT_BIT(  0x0040, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_PLAYER1 )
1043 	PORT_BIT(  0x0080, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_PLAYER1 )
1044 
1045 	PORT_START	/* IN3*/
1046 	PORT_BIT(  0x0001, IP_ACTIVE_LOW, IPT_START2 )
1047 	PORT_BIT(  0x0002, IP_ACTIVE_LOW, IPT_BUTTON3        | IPF_PLAYER2 )
1048 	PORT_BIT(  0x0004, IP_ACTIVE_LOW, IPT_BUTTON2        | IPF_PLAYER2 )
1049 	PORT_BIT(  0x0008, IP_ACTIVE_LOW, IPT_BUTTON1        | IPF_PLAYER2 )
1050 	PORT_BIT(  0x0010, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER2 )
1051 	PORT_BIT(  0x0020, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_PLAYER2 )
1052 	PORT_BIT(  0x0040, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_PLAYER2 )
1053 	PORT_BIT(  0x0080, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_PLAYER2 )
1054 
1055 	PORT_START	/* IN4*/
1056 	PORT_BIT_IMPULSE( 0x0001, IP_ACTIVE_LOW, IPT_COIN1, 10 )
1057 	PORT_BIT_IMPULSE( 0x0002, IP_ACTIVE_LOW, IPT_COIN2, 10 )
1058 	PORT_BIT(  0x0004, IP_ACTIVE_LOW, IPT_SERVICE1 )
1059 	PORT_BIT(  0x0008, IP_ACTIVE_LOW, IPT_TILT     )
1060 	PORT_BIT(  0x00f0, IP_ACTIVE_LOW, IPT_UNKNOWN  )
1061 INPUT_PORTS_END
1062 
1063 
1064 /***************************************************************************
1065 								Drift Out '94
1066 ***************************************************************************/
1067 
1068 INPUT_PORTS_START( drifto94 )
1069 	PORT_START	/* IN0 - $210002*/
1070 	PORT_DIPNAME( 0x0001, 0x0001, DEF_STR( Flip_Screen ) )
1071 	PORT_DIPSETTING(      0x0001, DEF_STR( Off ) )
1072 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1073 	PORT_SERVICE( 0x0002, IP_ACTIVE_LOW )
1074 	PORT_DIPNAME( 0x0004, 0x0004, "Sound Test" )
1075 	PORT_DIPSETTING(      0x0004, DEF_STR( Off ) )
1076 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1077 	PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Demo_Sounds ) )
1078 	PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
1079 	PORT_DIPSETTING(      0x0008, DEF_STR( On ) )
1080 	PORT_DIPNAME( 0x0030, 0x0030, DEF_STR( Coin_A ) )
1081 	PORT_DIPSETTING(      0x0010, DEF_STR( 2C_1C ) )
1082 	PORT_DIPSETTING(      0x0030, DEF_STR( 1C_1C ) )
1083 	PORT_DIPSETTING(      0x0000, DEF_STR( 2C_3C ) )
1084 	PORT_DIPSETTING(      0x0020, DEF_STR( 1C_2C ) )
1085 	PORT_DIPNAME( 0x00c0, 0x00c0, DEF_STR( Coin_B ) )
1086 	PORT_DIPSETTING(      0x0040, DEF_STR( 2C_1C ) )
1087 	PORT_DIPSETTING(      0x00c0, DEF_STR( 1C_1C ) )
1088 	PORT_DIPSETTING(      0x0000, DEF_STR( 2C_3C ) )
1089 	PORT_DIPSETTING(      0x0080, DEF_STR( 1C_2C ) )
1090 
1091 	PORT_START	/* IN1 - $210004*/
1092 	PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Difficulty ) )
1093 	PORT_DIPSETTING(      0x0003, "Normal" )
1094 	PORT_DIPSETTING(      0x0002, "Easy" )
1095 	PORT_DIPSETTING(      0x0001, "Hard" )
1096 	PORT_DIPSETTING(      0x0000, "Hardest" )
1097 	PORT_DIPNAME( 0x000c, 0x000c, "Unknown 2-2&3*" )
1098 	PORT_DIPSETTING(      0x000c, "11 (0)" )
1099 	PORT_DIPSETTING(      0x0008, "10 (1)" )
1100 	PORT_DIPSETTING(      0x0004, "01 (0)" )
1101 	PORT_DIPSETTING(      0x0000, "00 (2)" )
1102 	PORT_DIPNAME( 0x0010, 0x0010, "Music Volume" )
1103 	PORT_DIPSETTING(      0x0000, "Quiet" )
1104 	PORT_DIPSETTING(      0x0010, "Loud" )
1105 	PORT_DIPNAME( 0x0020, 0x0020, "Sound Volume" )
1106 	PORT_DIPSETTING(      0x0000, "Quiet" )
1107 	PORT_DIPSETTING(      0x0020, "Loud" )
1108 	PORT_DIPNAME( 0x0040, 0x0040, "Save Best Time" )
1109 	PORT_DIPSETTING(      0x0000, DEF_STR( No ) )
1110 	PORT_DIPSETTING(      0x0040, DEF_STR( Yes ) )
1111 	PORT_DIPNAME( 0x0080, 0x0080, "Unknown 2-7" )
1112 	PORT_DIPSETTING(      0x0080, DEF_STR( Off ) )
1113 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1114 
1115 	PORT_START	/* IN2 - $210008*/
1116 	PORT_BIT(  0x0001, IP_ACTIVE_LOW, IPT_START1 )
1117 	PORT_BIT(  0x0002, IP_ACTIVE_LOW, IPT_UNUSED )
1118 	PORT_BIT(  0x0004, IP_ACTIVE_LOW, IPT_BUTTON1        | IPF_PLAYER1 )
1119 	PORT_BIT(  0x0008, IP_ACTIVE_LOW, IPT_BUTTON2        | IPF_PLAYER1 )
1120 	PORT_BIT(  0x0010, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER1 )
1121 	PORT_BIT(  0x0020, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_PLAYER1 )
1122 	PORT_BIT(  0x0040, IP_ACTIVE_LOW, IPT_UNUSED )
1123 	PORT_BIT(  0x0080, IP_ACTIVE_LOW, IPT_UNUSED )
1124 
1125 	PORT_START	/* IN3 - $21000a*/
1126 	PORT_BIT(  0x0001, IP_ACTIVE_LOW, IPT_START2 )
1127 	PORT_BIT(  0x0002, IP_ACTIVE_LOW, IPT_UNUSED )
1128 	PORT_BIT(  0x0004, IP_ACTIVE_LOW, IPT_BUTTON1        | IPF_PLAYER2 )
1129 	PORT_BIT(  0x0008, IP_ACTIVE_LOW, IPT_BUTTON2        | IPF_PLAYER2 )
1130 	PORT_BIT(  0x0010, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER2 )
1131 	PORT_BIT(  0x0020, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_PLAYER2 )
1132 	PORT_BIT(  0x0040, IP_ACTIVE_LOW, IPT_UNUSED )
1133 	PORT_BIT(  0x0080, IP_ACTIVE_LOW, IPT_UNUSED )
1134 
1135 	PORT_START	/* IN4 - $21000c*/
1136 	PORT_BIT_IMPULSE( 0x0001, IP_ACTIVE_LOW, IPT_COIN1, 10 )
1137 	PORT_BIT_IMPULSE( 0x0002, IP_ACTIVE_LOW, IPT_COIN2, 10 )
1138 	PORT_BIT(  0x0004, IP_ACTIVE_LOW,  IPT_SERVICE1 )
1139 	PORT_BIT(  0x0008, IP_ACTIVE_LOW,  IPT_TILT     )
1140 	PORT_BIT(  0x00f0, IP_ACTIVE_LOW,  IPT_UNKNOWN  )
1141 INPUT_PORTS_END
1142 
1143 
1144 /***************************************************************************
1145 								Eagle Shot Golf
1146 
1147 				Place holder for corrected dip switch settings
1148 ***************************************************************************/
1149 
1150 INPUT_PORTS_START( eaglshot )
1151 	PORT_START	/* IN0 - $210002*/
1152 	PORT_DIPNAME( 0x000f, 0x0009, DEF_STR( Coinage ) )
1153 	PORT_DIPSETTING(      0x0007, DEF_STR( 4C_1C ) )
1154 	PORT_DIPSETTING(      0x0008, DEF_STR( 3C_1C ) )
1155 	PORT_DIPSETTING(      0x0009, DEF_STR( 2C_1C ) )
1156 	PORT_DIPSETTING(      0x000f, DEF_STR( 1C_1C ) )
1157 	PORT_DIPSETTING(      0x0006, DEF_STR( 2C_3C ) )
1158 	PORT_DIPSETTING(      0x000e, DEF_STR( 1C_2C ) )
1159 	PORT_DIPSETTING(      0x000d, DEF_STR( 1C_3C ) )
1160 	PORT_DIPSETTING(      0x000c, DEF_STR( 1C_4C ) )
1161 	PORT_DIPSETTING(      0x000b, DEF_STR( 1C_5C ) )
1162 	PORT_DIPSETTING(      0x000a, DEF_STR( 1C_6C ) )
1163 /* "** ADDED MULTIPLE COIN FEATURE **"*/
1164 	PORT_DIPSETTING(      0x0005, "Multiple Coin Feature A" )
1165 /* 2c-1c, 4c-2c, 5c-3c & 6c-4c*/
1166 	PORT_DIPSETTING(      0x0004, "Multiple Coin Feature B" )
1167 /* 2c-1c, 4c-3c*/
1168 	PORT_DIPSETTING(      0x0003, "Multiple Coin Feature C" )
1169 /* 1c-1c, 2c-2c, 3c-3c, 4c-4c, 5c-6c*/
1170 	PORT_DIPSETTING(      0x0002, "Multiple Coin Feature D" )
1171 /* 1c-1c, 2c-2c, 3c-3c & 4c-5c*/
1172 	PORT_DIPSETTING(      0x0001, "Multiple Coin Feature E" )
1173 /* 1c-1c, 2c-3c*/
1174 	PORT_DIPSETTING(      0x0000, DEF_STR( Free_Play ) )
1175 	PORT_DIPNAME( 0x0010, 0x0010, "Discount to Continue" )
1176 	PORT_DIPSETTING(      0x0010, DEF_STR( Off ) )
1177 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) ) /* 2 Coins to start, 1 to continue*/
1178 	PORT_DIPNAME( 0x0020, 0x0020, "Controls" )
1179 	PORT_DIPSETTING(      0x0020, "Trackball" )
1180 	PORT_DIPSETTING(      0x0000, "Joystick" )
1181 	PORT_DIPNAME( 0x0040, 0x0040, "Trackball Type" )
1182 	PORT_DIPSETTING(      0x0040, "24 Counts (USA)" )
1183 	PORT_DIPSETTING(      0x0000, "12 Counts (Japan)" )
1184 	PORT_DIPNAME( 0x0080, 0x0080, "Unused/Unknown" )
1185 	PORT_DIPSETTING(      0x0080, DEF_STR( Off ) )
1186 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1187 
1188 	PORT_START	/* IN1 - $210004*/
1189 	PORT_DIPNAME( 0x0003, 0x0003, "Number of Holes" )
1190 	PORT_DIPSETTING(      0x0002, "2 Holes" )
1191 	PORT_DIPSETTING(      0x0003, "3 Holes" )
1192 	PORT_DIPSETTING(      0x0001, "4 Holes" )
1193 	PORT_DIPSETTING(      0x0000, "5 Holes" )
1194 	PORT_DIPNAME( 0x000c, 0x000c, DEF_STR( Difficulty ) ) /* No listed value for ON & ON*/
1195 	PORT_DIPSETTING(      0x0008, "Easy" )
1196 	PORT_DIPSETTING(      0x000c, "Normal" )
1197 	PORT_DIPSETTING(      0x0004, "Hard" )
1198 	PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Demo_Sounds ) )
1199 	PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
1200 	PORT_DIPSETTING(      0x0010, DEF_STR( On ) )
1201 	PORT_DIPNAME( 0x0020, 0x0020, "Allow Continue" )
1202 	PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
1203 	PORT_DIPSETTING(      0x0020, DEF_STR( On ) )
1204 	PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Flip_Screen ) )
1205 	PORT_DIPSETTING(      0x0040, DEF_STR( Off ) )
1206 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1207 	PORT_SERVICE( 0x0080, IP_ACTIVE_LOW )
1208 
1209 	PORT_START	/* IN2 - $210008*/
1210 	PORT_BIT(  0x0001, IP_ACTIVE_LOW, IPT_START1 )
1211 	PORT_BIT(  0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN )
1212 	PORT_BIT(  0x0004, IP_ACTIVE_LOW, IPT_BUTTON2        | IPF_PLAYER1 )
1213 	PORT_BIT(  0x0008, IP_ACTIVE_LOW, IPT_BUTTON1        | IPF_PLAYER1 )
1214 	PORT_BIT(  0x0010, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER1 )
1215 	PORT_BIT(  0x0020, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_PLAYER1 )
1216 	PORT_BIT(  0x0040, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_PLAYER1 )
1217 	PORT_BIT(  0x0080, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_PLAYER1 )
1218 
1219 	PORT_START	/* IN3 - $21000a*/
1220 	PORT_BIT(  0x0001, IP_ACTIVE_LOW, IPT_START2 )
1221 	PORT_BIT(  0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN )
1222 	PORT_BIT(  0x0004, IP_ACTIVE_LOW, IPT_BUTTON2        | IPF_PLAYER2 )
1223 	PORT_BIT(  0x0008, IP_ACTIVE_LOW, IPT_BUTTON1        | IPF_PLAYER2 )
1224 	PORT_BIT(  0x0010, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER2 )
1225 	PORT_BIT(  0x0020, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_PLAYER2 )
1226 	PORT_BIT(  0x0040, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_PLAYER2 )
1227 	PORT_BIT(  0x0080, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_PLAYER2 )
1228 
1229 	PORT_START	/* IN4 - $21000c*/
1230 	PORT_BIT_IMPULSE( 0x0001, IP_ACTIVE_LOW, IPT_COIN1, 10 )
1231 	PORT_BIT_IMPULSE( 0x0002, IP_ACTIVE_LOW, IPT_COIN2, 10 )
1232 	PORT_BIT(  0x0004, IP_ACTIVE_LOW,  IPT_SERVICE1 )
1233 	PORT_BIT(  0x0008, IP_ACTIVE_LOW,  IPT_UNKNOWN )
1234 	PORT_BITX( 0x0010, IP_ACTIVE_LOW, IPT_SERVICE, DEF_STR( Service_Mode ), KEYCODE_F2, IP_JOY_NONE )
1235 	PORT_BIT(  0x00f0, IP_ACTIVE_LOW,  IPT_UNKNOWN  )
1236 
1237 	PORT_START	/* IN5 - trackball x ($d00000) */
1238     PORT_ANALOG( 0x0fff, 0x0000, IPT_TRACKBALL_X | IPF_PLAYER1, 30, 30, 0, 0x0fff)
1239 
1240 	PORT_START	/* IN6 - trackball y ($d00000) */
1241 	PORT_ANALOG( 0x0fff, 0x0000, IPT_TRACKBALL_Y | IPF_PLAYER1, 30, 30, 0, 0x0fff)
1242 
1243 INPUT_PORTS_END
1244 
1245 
1246 /***************************************************************************
1247 								Hyper Reaction
1248 ***************************************************************************/
1249 
1250 INPUT_PORTS_START( hypreact )
1251 	PORT_START	/* IN0 - $210002*/
1252 	PORT_DIPNAME( 0x0007, 0x0007, DEF_STR( Coin_A ) )
1253 	PORT_DIPSETTING(      0x0005, DEF_STR( 3C_1C ) )
1254 	PORT_DIPSETTING(      0x0006, DEF_STR( 2C_1C ) )
1255 	PORT_DIPSETTING(      0x0007, DEF_STR( 1C_1C ) )
1256 	PORT_DIPSETTING(      0x0004, DEF_STR( 1C_2C ) )
1257 	PORT_DIPSETTING(      0x0003, DEF_STR( 1C_3C ) )
1258 	PORT_DIPSETTING(      0x0002, DEF_STR( 1C_4C ) )
1259 	PORT_DIPSETTING(      0x0001, DEF_STR( 1C_5C ) )
1260 	PORT_DIPSETTING(      0x0000, DEF_STR( 1C_6C ) )
1261 	PORT_DIPNAME( 0x0038, 0x0038, DEF_STR( Coin_B ) )
1262 	PORT_DIPSETTING(      0x0028, DEF_STR( 3C_1C ) )
1263 	PORT_DIPSETTING(      0x0030, DEF_STR( 2C_1C ) )
1264 	PORT_DIPSETTING(      0x0038, DEF_STR( 1C_1C ) )
1265 	PORT_DIPSETTING(      0x0020, DEF_STR( 1C_2C ) )
1266 	PORT_DIPSETTING(      0x0018, DEF_STR( 1C_3C ) )
1267 	PORT_DIPSETTING(      0x0010, DEF_STR( 1C_4C ) )
1268 	PORT_DIPSETTING(      0x0008, DEF_STR( 1C_5C ) )
1269 	PORT_DIPSETTING(      0x0000, DEF_STR( 1C_6C ) )
1270 	PORT_DIPNAME( 0x0040, 0x0040, "Half Coins To Continue" )
1271 	PORT_DIPSETTING(      0x0040, DEF_STR( No ) )
1272 	PORT_DIPSETTING(      0x0000, DEF_STR( Yes ) )
1273 	PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Free_Play ) )
1274 	PORT_DIPSETTING(      0x0080, DEF_STR( Off ) )
1275 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1276 
1277 	PORT_START	/* IN1 - $210004*/
1278 	PORT_DIPNAME( 0x0001, 0x0001, DEF_STR( Flip_Screen ) )
1279 	PORT_DIPSETTING(      0x0001, DEF_STR( Off ) )
1280 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1281 	PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Demo_Sounds ) )
1282 	PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
1283 	PORT_DIPSETTING(      0x0002, DEF_STR( On ) )
1284 	PORT_DIPNAME( 0x000c, 0x000c, DEF_STR( Difficulty ) )
1285 	PORT_DIPSETTING(      0x0008, "Easy"    )
1286 	PORT_DIPSETTING(      0x000c, "Normal"  )
1287 	PORT_DIPSETTING(      0x0004, "Hard"    )
1288 	PORT_DIPSETTING(      0x0000, "Hardest" )
1289 	PORT_DIPNAME( 0x0010, 0x0010, "Controls" )
1290 	PORT_DIPSETTING(      0x0010, "Keyboard" )
1291 	PORT_DIPSETTING(      0x0000, "Joystick" )
1292 	PORT_DIPNAME( 0x0020, 0x0020, "Unknown 2-5" )
1293 	PORT_DIPSETTING(      0x0020, DEF_STR( Off ) )
1294 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1295 	PORT_DIPNAME( 0x0040, 0x0040, "Unknown 2-6" )
1296 	PORT_DIPSETTING(      0x0040, DEF_STR( Off ) )
1297 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1298 	PORT_SERVICE( 0x0080, IP_ACTIVE_LOW )
1299 
1300 	PORT_START	/* IN2 - $210008 (used in joystick mode)*/
1301 	PORT_BIT(  0x0001, IP_ACTIVE_LOW, IPT_START1 )
1302 	PORT_BITX( 0x0002, IP_ACTIVE_LOW, 0, "Chi", KEYCODE_SPACE,    IP_JOY_NONE )
1303 	PORT_BITX( 0x0004, IP_ACTIVE_LOW, 0, "Pon", KEYCODE_LALT,     IP_JOY_NONE )
1304 	PORT_BITX( 0x0008, IP_ACTIVE_LOW, 0, "Kan", KEYCODE_LCONTROL, IP_JOY_NONE )
1305 	PORT_BIT(  0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN       )
1306 	PORT_BIT(  0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN       )
1307 	PORT_BIT(  0x0040, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )
1308 	PORT_BIT(  0x0080, IP_ACTIVE_LOW, IPT_JOYSTICK_UP   )
1309 
1310 	PORT_START	/* IN3 - $21000a (used in joystick mode)*/
1311 	PORT_BIT(  0x0001, IP_ACTIVE_LOW, IPT_START2 )
1312 	PORT_BITX( 0x0002, IP_ACTIVE_LOW, 0, "Reach", KEYCODE_LSHIFT,   IP_JOY_NONE )
1313 	PORT_BITX( 0x0004, IP_ACTIVE_LOW, 0, "Ron",   KEYCODE_Z,        IP_JOY_NONE )
1314 	PORT_BITX( 0x0008, IP_ACTIVE_LOW, 0, "Tsumo", KEYCODE_RCONTROL, IP_JOY_NONE )
1315 	PORT_BIT(  0x0010, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT )
1316 	PORT_BIT(  0x0020, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  )
1317 	PORT_BIT(  0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN        )
1318 	PORT_BIT(  0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN        )
1319 
1320 	PORT_START	/* IN4 - $21000c*/
1321 	PORT_BIT_IMPULSE( 0x0001, IP_ACTIVE_LOW, IPT_COIN1, 10 )
1322 	PORT_BIT_IMPULSE( 0x0002, IP_ACTIVE_LOW, IPT_COIN2, 10 )
1323 	PORT_BIT(  0x0004, IP_ACTIVE_LOW,  IPT_SERVICE1 )	/* service coin & bet*/
1324 	PORT_BIT(  0x0008, IP_ACTIVE_LOW,  IPT_TILT     )
1325 	PORT_BIT(  0x00f0, IP_ACTIVE_LOW,  IPT_UNKNOWN  )
1326 
1327 	PORT_START	/* IN5 - $c00000(0)*/
1328 	PORT_BITX(0x0001, IP_ACTIVE_LOW, 0, "A",   KEYCODE_A,        IP_JOY_NONE )
1329 	PORT_BITX(0x0002, IP_ACTIVE_LOW, 0, "E",   KEYCODE_E,        IP_JOY_NONE )
1330 	PORT_BITX(0x0004, IP_ACTIVE_LOW, 0, "I",   KEYCODE_I,        IP_JOY_NONE )
1331 	PORT_BITX(0x0008, IP_ACTIVE_LOW, 0, "M",   KEYCODE_M,        IP_JOY_NONE )
1332 	PORT_BITX(0x0010, IP_ACTIVE_LOW, 0, "Kan", KEYCODE_LCONTROL, IP_JOY_NONE )
1333 	PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_START1                              )
1334 	PORT_BIT( 0xffc0, IP_ACTIVE_LOW, IPT_UNKNOWN )
1335 
1336 	PORT_START	/* IN6 - $c00000(1)*/
1337 	PORT_BITX(0x0001, IP_ACTIVE_LOW, 0, "B",     KEYCODE_B,        IP_JOY_NONE )
1338 	PORT_BITX(0x0002, IP_ACTIVE_LOW, 0, "F",     KEYCODE_F,        IP_JOY_NONE )
1339 	PORT_BITX(0x0004, IP_ACTIVE_LOW, 0, "J",     KEYCODE_J,        IP_JOY_NONE )
1340 	PORT_BITX(0x0008, IP_ACTIVE_LOW, 0, "N",     KEYCODE_N,        IP_JOY_NONE )
1341 	PORT_BITX(0x0010, IP_ACTIVE_LOW, 0, "Reach", KEYCODE_LSHIFT,   IP_JOY_NONE )
1342 	PORT_BITX(0x0020, IP_ACTIVE_LOW, 0, "Bet",   KEYCODE_RCONTROL, IP_JOY_NONE )
1343 	PORT_BIT( 0xffc0, IP_ACTIVE_LOW, IPT_UNKNOWN )
1344 
1345 	PORT_START	/* IN7 - $c00000(2)*/
1346 	PORT_BITX(0x0001, IP_ACTIVE_LOW, 0, "C",   KEYCODE_C,     IP_JOY_NONE )
1347 	PORT_BITX(0x0002, IP_ACTIVE_LOW, 0, "G",   KEYCODE_G,     IP_JOY_NONE )
1348 	PORT_BITX(0x0004, IP_ACTIVE_LOW, 0, "K",   KEYCODE_K,     IP_JOY_NONE )
1349 	PORT_BITX(0x0008, IP_ACTIVE_LOW, 0, "Chi", KEYCODE_SPACE, IP_JOY_NONE )
1350 	PORT_BITX(0x0010, IP_ACTIVE_LOW, 0, "Ron", KEYCODE_Z,     IP_JOY_NONE )
1351 	PORT_BIT( 0xffe0, IP_ACTIVE_LOW, IPT_UNKNOWN )
1352 
1353 	PORT_START	/* IN8 - $c00000(3)*/
1354 	PORT_BITX(0x0001, IP_ACTIVE_LOW, 0, "D",   KEYCODE_D,    IP_JOY_NONE )
1355 	PORT_BITX(0x0002, IP_ACTIVE_LOW, 0, "H",   KEYCODE_H,    IP_JOY_NONE )
1356 	PORT_BITX(0x0004, IP_ACTIVE_LOW, 0, "L",   KEYCODE_L,    IP_JOY_NONE )
1357 	PORT_BITX(0x0008, IP_ACTIVE_LOW, 0, "Pon", KEYCODE_LALT, IP_JOY_NONE )
1358 	PORT_BIT( 0xfff0, IP_ACTIVE_LOW, IPT_UNKNOWN )
1359 INPUT_PORTS_END
1360 
1361 
1362 /***************************************************************************
1363 								Hyper Reaction 2
1364 ***************************************************************************/
1365 
1366 INPUT_PORTS_START( hypreac2 )
1367 	PORT_START	/* IN0 - $210002*/
1368 	PORT_DIPNAME( 0x0007, 0x0007, DEF_STR( Coin_A ) )
1369 	PORT_DIPSETTING(      0x0005, DEF_STR( 3C_1C ) )
1370 	PORT_DIPSETTING(      0x0006, DEF_STR( 2C_1C ) )
1371 	PORT_DIPSETTING(      0x0007, DEF_STR( 1C_1C ) )
1372 	PORT_DIPSETTING(      0x0004, DEF_STR( 1C_2C ) )
1373 	PORT_DIPSETTING(      0x0003, DEF_STR( 1C_3C ) )
1374 	PORT_DIPSETTING(      0x0002, DEF_STR( 1C_4C ) )
1375 	PORT_DIPSETTING(      0x0001, DEF_STR( 1C_5C ) )
1376 	PORT_DIPSETTING(      0x0000, DEF_STR( 1C_6C ) )
1377 	PORT_DIPNAME( 0x0038, 0x0038, DEF_STR( Coin_B ) )
1378 	PORT_DIPSETTING(      0x0028, DEF_STR( 3C_1C ) )
1379 	PORT_DIPSETTING(      0x0030, DEF_STR( 2C_1C ) )
1380 	PORT_DIPSETTING(      0x0038, DEF_STR( 1C_1C ) )
1381 	PORT_DIPSETTING(      0x0020, DEF_STR( 1C_2C ) )
1382 	PORT_DIPSETTING(      0x0018, DEF_STR( 1C_3C ) )
1383 	PORT_DIPSETTING(      0x0010, DEF_STR( 1C_4C ) )
1384 	PORT_DIPSETTING(      0x0008, DEF_STR( 1C_5C ) )
1385 	PORT_DIPSETTING(      0x0000, DEF_STR( 1C_6C ) )
1386 	PORT_DIPNAME( 0x0040, 0x0040, "Half Coins To Continue" )
1387 	PORT_DIPSETTING(      0x0040, DEF_STR( No ) )
1388 	PORT_DIPSETTING(      0x0000, DEF_STR( Yes ) )
1389 	PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Free_Play ) )
1390 	PORT_DIPSETTING(      0x0080, DEF_STR( Off ) )
1391 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1392 
1393 	PORT_START	/* IN1 - $210004*/
1394 	PORT_DIPNAME( 0x0001, 0x0001, DEF_STR( Flip_Screen ) )
1395 	PORT_DIPSETTING(      0x0001, DEF_STR( Off ) )
1396 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1397 	PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Demo_Sounds ) )
1398 	PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
1399 	PORT_DIPSETTING(      0x0002, DEF_STR( On ) )
1400 	PORT_DIPNAME( 0x000c, 0x000c, DEF_STR( Difficulty ) )
1401 	PORT_DIPSETTING(      0x0008, "Easy" )
1402 	PORT_DIPSETTING(      0x000c, "Normal" )
1403 	PORT_DIPSETTING(      0x0004, "Hard" )
1404 	PORT_DIPSETTING(      0x0000, "Hardest" )
1405 	PORT_DIPNAME( 0x0010, 0x0010, "Controls" )
1406 	PORT_DIPSETTING(      0x0010, "Keyboard" )
1407 	PORT_DIPSETTING(      0x0000, "Joystick" )
1408 	PORT_DIPNAME( 0x0020, 0x0020, "Communication 1" )
1409 	PORT_DIPSETTING(      0x0020, DEF_STR( Off ) )
1410 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1411 	PORT_DIPNAME( 0x0040, 0x0040, "Communication 2" )
1412 	PORT_DIPSETTING(      0x0040, DEF_STR( Off ) )
1413 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1414 	PORT_SERVICE( 0x0080, IP_ACTIVE_LOW )
1415 
1416 	PORT_START	/* IN2 - $210008*/
1417 	PORT_BIT(  0x0001, IP_ACTIVE_LOW, IPT_START1 )
1418 	PORT_BIT(  0x0002, IP_ACTIVE_LOW, IPT_BUTTON3        | IPF_PLAYER1 )
1419 	PORT_BIT(  0x0004, IP_ACTIVE_LOW, IPT_BUTTON2        | IPF_PLAYER1 )
1420 	PORT_BIT(  0x0008, IP_ACTIVE_LOW, IPT_BUTTON1        | IPF_PLAYER1 )
1421 	PORT_BIT(  0x0010, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER1 )
1422 	PORT_BIT(  0x0020, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_PLAYER1 )
1423 	PORT_BIT(  0x0040, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_PLAYER1 )
1424 	PORT_BIT(  0x0080, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_PLAYER1 )
1425 
1426 	PORT_START	/* IN3 - $21000a*/
1427 	PORT_BIT(  0x0001, IP_ACTIVE_LOW, IPT_START2 )
1428 	PORT_BIT(  0x0002, IP_ACTIVE_LOW, IPT_BUTTON3        | IPF_PLAYER2 )
1429 	PORT_BIT(  0x0004, IP_ACTIVE_LOW, IPT_BUTTON2        | IPF_PLAYER2 )
1430 	PORT_BIT(  0x0008, IP_ACTIVE_LOW, IPT_BUTTON1        | IPF_PLAYER2 )
1431 	PORT_BIT(  0x0010, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER2 )
1432 	PORT_BIT(  0x0020, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_PLAYER2 )
1433 	PORT_BIT(  0x0040, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_PLAYER2 )
1434 	PORT_BIT(  0x0080, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_PLAYER2 )
1435 
1436 	PORT_START	/* IN4 - $21000c*/
1437 	PORT_BIT_IMPULSE( 0x0001, IP_ACTIVE_LOW, IPT_COIN1, 10 )
1438 	PORT_BIT_IMPULSE( 0x0002, IP_ACTIVE_LOW, IPT_COIN2, 10 )
1439 	PORT_BIT(  0x0004, IP_ACTIVE_LOW,  IPT_SERVICE1 )
1440 	PORT_BIT(  0x0008, IP_ACTIVE_LOW,  IPT_TILT     )
1441 	PORT_BIT(  0x00f0, IP_ACTIVE_LOW,  IPT_UNKNOWN  )
1442 
1443 	PORT_START	/* IN5 - $500000(0)*/
1444 	PORT_BITX(0x0001, IP_ACTIVE_LOW, 0, "A",   KEYCODE_A,        IP_JOY_NONE )
1445 	PORT_BITX(0x0002, IP_ACTIVE_LOW, 0, "E",   KEYCODE_E,        IP_JOY_NONE )
1446 	PORT_BITX(0x0004, IP_ACTIVE_LOW, 0, "I",   KEYCODE_I,        IP_JOY_NONE )
1447 	PORT_BITX(0x0008, IP_ACTIVE_LOW, 0, "M",   KEYCODE_M,        IP_JOY_NONE )
1448 	PORT_BITX(0x0010, IP_ACTIVE_LOW, 0, "Kan", KEYCODE_LCONTROL, IP_JOY_NONE )
1449 	PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_START1                              )
1450 	PORT_BIT( 0xffc0, IP_ACTIVE_LOW, IPT_UNKNOWN )
1451 
1452 	PORT_START	/* IN6 - $500000(1)*/
1453 	PORT_BITX(0x0001, IP_ACTIVE_LOW, 0, "B",     KEYCODE_B,        IP_JOY_NONE )
1454 	PORT_BITX(0x0002, IP_ACTIVE_LOW, 0, "F",     KEYCODE_F,        IP_JOY_NONE )
1455 	PORT_BITX(0x0004, IP_ACTIVE_LOW, 0, "J",     KEYCODE_J,        IP_JOY_NONE )
1456 	PORT_BITX(0x0008, IP_ACTIVE_LOW, 0, "N",     KEYCODE_N,        IP_JOY_NONE )
1457 	PORT_BITX(0x0010, IP_ACTIVE_LOW, 0, "Reach", KEYCODE_LSHIFT,   IP_JOY_NONE )
1458 	PORT_BIT( 0xffe0, IP_ACTIVE_LOW, IPT_UNKNOWN )
1459 
1460 	PORT_START	/* IN7 - $500000(2)*/
1461 	PORT_BITX(0x0001, IP_ACTIVE_LOW, 0, "C",   KEYCODE_C,     IP_JOY_NONE )
1462 	PORT_BITX(0x0002, IP_ACTIVE_LOW, 0, "G",   KEYCODE_G,     IP_JOY_NONE )
1463 	PORT_BITX(0x0004, IP_ACTIVE_LOW, 0, "K",   KEYCODE_K,     IP_JOY_NONE )
1464 	PORT_BITX(0x0008, IP_ACTIVE_LOW, 0, "Chi", KEYCODE_SPACE, IP_JOY_NONE )
1465 	PORT_BITX(0x0010, IP_ACTIVE_LOW, 0, "Ron", KEYCODE_Z,     IP_JOY_NONE )
1466 	PORT_BIT( 0xffe0, IP_ACTIVE_LOW, IPT_UNKNOWN )
1467 
1468 	PORT_START	/* IN8 - $500000(3)*/
1469 	PORT_BITX(0x0001, IP_ACTIVE_LOW, 0, "D",   KEYCODE_D,    IP_JOY_NONE )
1470 	PORT_BITX(0x0002, IP_ACTIVE_LOW, 0, "H",   KEYCODE_H,    IP_JOY_NONE )
1471 	PORT_BITX(0x0004, IP_ACTIVE_LOW, 0, "L",   KEYCODE_L,    IP_JOY_NONE )
1472 	PORT_BITX(0x0008, IP_ACTIVE_LOW, 0, "Pon", KEYCODE_LALT, IP_JOY_NONE )
1473 	PORT_BIT( 0xfff0, IP_ACTIVE_LOW, IPT_UNKNOWN )
1474 INPUT_PORTS_END
1475 
1476 
1477 /***************************************************************************
1478 								Jan Jan Simasyo
1479 ***************************************************************************/
1480 
1481 INPUT_PORTS_START( janjans1 )
1482 	PORT_START	/* IN0 - $210002*/
1483 	PORT_DIPNAME( 0x0001, 0x0001, "Unknown 1-0" )
1484 	PORT_DIPSETTING(      0x0001, DEF_STR( Off ) )
1485 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1486 	PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Flip_Screen ) )
1487 	PORT_DIPSETTING(      0x0002, DEF_STR( Off ) )
1488 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1489 	PORT_SERVICE( 0x0004, IP_ACTIVE_LOW )
1490 	PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Demo_Sounds ) )
1491 	PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
1492 	PORT_DIPSETTING(      0x0008, DEF_STR( On ) )
1493 	PORT_DIPNAME( 0x0030, 0x0030, DEF_STR( Coinage ) )
1494 	PORT_DIPSETTING(      0x0010, DEF_STR( 2C_1C ) )
1495 	PORT_DIPSETTING(      0x0030, DEF_STR( 1C_1C ) )
1496 	PORT_DIPSETTING(      0x0000, DEF_STR( 2C_3C ) )
1497 	PORT_DIPSETTING(      0x0020, DEF_STR( 1C_2C ) )
1498 	PORT_DIPNAME( 0x0040, 0x0040, "Voice" )
1499 	PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
1500 	PORT_DIPSETTING(      0x0040, DEF_STR( On ) )
1501 	PORT_DIPNAME( 0x0080, 0x0080, "Unknown 1-7" )
1502 	PORT_DIPSETTING(      0x0080, DEF_STR( Off ) )
1503 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1504 
1505 	PORT_START	/* IN1 - $210004*/
1506 	PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Difficulty ) )
1507 	PORT_DIPSETTING(      0x0002, "Easy" )
1508 	PORT_DIPSETTING(      0x0003, "Normal" )
1509 	PORT_DIPSETTING(      0x0001, "Hard" )
1510 	PORT_DIPSETTING(      0x0000, "Hardest" )
1511 	PORT_DIPNAME( 0x0004, 0x0004, "Nudity" )
1512 	PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
1513 	PORT_DIPSETTING(      0x0004, DEF_STR( On ) )
1514 	PORT_DIPNAME( 0x0008, 0x0008, "Mini Game" )
1515 	PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
1516 	PORT_DIPSETTING(      0x0008, DEF_STR( On ) )
1517 	PORT_DIPNAME( 0x0030, 0x0030, "Initial Score" )
1518 	PORT_DIPSETTING(      0x0020, "1000" )
1519 	PORT_DIPSETTING(      0x0030, "1500" )
1520 	PORT_DIPSETTING(      0x0010, "2000" )
1521 	PORT_DIPSETTING(      0x0000, "3000" )
1522 	PORT_DIPNAME( 0x00c0, 0x00c0, "Communication" )
1523 /*	PORT_DIPSETTING(      0x0080, "unused" )*/
1524 	PORT_DIPSETTING(      0x00c0, "None" )
1525 	PORT_DIPSETTING(      0x0040, "Board 1 (Main)" )
1526 	PORT_DIPSETTING(      0x0000, "Board 2 (Sub)" )
1527 
1528 	PORT_START	/* IN2 - $210008*/
1529 	PORT_BIT(  0x00ff, IP_ACTIVE_LOW, IPT_UNKNOWN )
1530 
1531 	PORT_START	/* IN3 - $21000a*/
1532 	PORT_BIT(  0x00ff, IP_ACTIVE_LOW, IPT_UNKNOWN )
1533 
1534 	PORT_START	/* IN4 - $21000c*/
1535 	PORT_BIT_IMPULSE( 0x0001, IP_ACTIVE_LOW, IPT_COIN1, 10 )
1536 	PORT_BIT_IMPULSE( 0x0002, IP_ACTIVE_LOW, IPT_COIN2, 10 )
1537 	PORT_BIT(  0x0004, IP_ACTIVE_LOW,  IPT_SERVICE1 )
1538 	PORT_BIT(  0x0008, IP_ACTIVE_LOW,  IPT_TILT     )
1539 	PORT_BIT(  0x00f0, IP_ACTIVE_LOW,  IPT_UNKNOWN  )
1540 
1541 	PORT_START	/* IN5 - $800002(0)*/
1542 	PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_UNKNOWN )
1543 	PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN )
1544 	PORT_BITX(0x0004, IP_ACTIVE_LOW, 0, "Pon", KEYCODE_LALT, IP_JOY_NONE )
1545 	PORT_BITX(0x0008, IP_ACTIVE_LOW, 0, "L",   KEYCODE_L,    IP_JOY_NONE )
1546 	PORT_BITX(0x0010, IP_ACTIVE_LOW, 0, "H",   KEYCODE_H,    IP_JOY_NONE )
1547 	PORT_BITX(0x0020, IP_ACTIVE_LOW, 0, "D",   KEYCODE_D,    IP_JOY_NONE )
1548 	PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
1549 	PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
1550 
1551 	PORT_START	/* IN6 - $800002(1)*/
1552 	PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_UNKNOWN )
1553 	PORT_BITX(0x0002, IP_ACTIVE_LOW, 0, "Ron", KEYCODE_Z,     IP_JOY_NONE )
1554 	PORT_BITX(0x0004, IP_ACTIVE_LOW, 0, "Chi", KEYCODE_SPACE, IP_JOY_NONE )
1555 	PORT_BITX(0x0008, IP_ACTIVE_LOW, 0, "K",   KEYCODE_K,     IP_JOY_NONE )
1556 	PORT_BITX(0x0010, IP_ACTIVE_LOW, 0, "G",   KEYCODE_G,     IP_JOY_NONE )
1557 	PORT_BITX(0x0020, IP_ACTIVE_LOW, 0, "C",   KEYCODE_C,     IP_JOY_NONE )
1558 	PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
1559 	PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
1560 
1561 	PORT_START	/* IN7 - $800002(2)*/
1562 	PORT_BITX(0x0001, IP_ACTIVE_LOW, 0, "Bet",   KEYCODE_RCONTROL, IP_JOY_NONE )
1563 	PORT_BITX(0x0002, IP_ACTIVE_LOW, 0, "Reach", KEYCODE_LSHIFT,   IP_JOY_NONE )
1564 	PORT_BITX(0x0004, IP_ACTIVE_LOW, 0, "N",     KEYCODE_N,        IP_JOY_NONE )
1565 	PORT_BITX(0x0008, IP_ACTIVE_LOW, 0, "J",     KEYCODE_J,        IP_JOY_NONE )
1566 	PORT_BITX(0x0010, IP_ACTIVE_LOW, 0, "F",     KEYCODE_F,        IP_JOY_NONE )
1567 	PORT_BITX(0x0020, IP_ACTIVE_LOW, 0, "B",     KEYCODE_B,        IP_JOY_NONE )
1568 	PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
1569 	PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
1570 
1571 	PORT_START	/* IN8 - $800002(3)*/
1572 	PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_START1 )
1573 	PORT_BITX(0x0002, IP_ACTIVE_LOW, 0, "Kan", KEYCODE_LCONTROL, IP_JOY_NONE )
1574 	PORT_BITX(0x0004, IP_ACTIVE_LOW, 0, "M",   KEYCODE_M,        IP_JOY_NONE )
1575 	PORT_BITX(0x0008, IP_ACTIVE_LOW, 0, "I",   KEYCODE_I,        IP_JOY_NONE )
1576 	PORT_BITX(0x0010, IP_ACTIVE_LOW, 0, "E",   KEYCODE_E,        IP_JOY_NONE )
1577 	PORT_BITX(0x0020, IP_ACTIVE_LOW, 0, "A",   KEYCODE_A,        IP_JOY_NONE )
1578 	PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
1579 	PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
1580 INPUT_PORTS_END
1581 
1582 
1583 /***************************************************************************
1584 								Keith & Lucy
1585 ***************************************************************************/
1586 
1587 INPUT_PORTS_START( keithlcy )
1588 	PORT_START	/* IN0 - $210002*/
1589 	PORT_DIPNAME( 0x0001, 0x0001, "Unknown 1-0" )
1590 	PORT_DIPSETTING(      0x0001, DEF_STR( Off ) )
1591 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1592 	PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Flip_Screen ) )
1593 	PORT_DIPSETTING(      0x0002, DEF_STR( Off ) )
1594 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1595 	PORT_SERVICE( 0x0004, IP_ACTIVE_LOW )
1596 	PORT_DIPNAME( 0x0008, 0x0008, "Unknown 1-3*" )
1597 	PORT_DIPSETTING(      0x0008, DEF_STR( Off ) )
1598 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1599 	PORT_DIPNAME( 0x0030, 0x0030, DEF_STR( Coin_A ) )
1600 	PORT_DIPSETTING(      0x0010, DEF_STR( 2C_1C ) )
1601 	PORT_DIPSETTING(      0x0030, DEF_STR( 1C_1C ) )
1602 	PORT_DIPSETTING(      0x0000, DEF_STR( 2C_3C ) )
1603 	PORT_DIPSETTING(      0x0020, DEF_STR( 1C_2C ) )
1604 	PORT_DIPNAME( 0x00c0, 0x00c0, DEF_STR( Coin_B ) )
1605 	PORT_DIPSETTING(      0x0040, DEF_STR( 2C_1C ) )
1606 	PORT_DIPSETTING(      0x00c0, DEF_STR( 1C_1C ) )
1607 	PORT_DIPSETTING(      0x0000, DEF_STR( 2C_3C ) )
1608 	PORT_DIPSETTING(      0x0080, DEF_STR( 1C_2C ) )
1609 
1610 	PORT_START	/* IN1 - $210004*/
1611 	PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Difficulty ) )
1612 	PORT_DIPSETTING(      0x0002, "Easy"	)	/* 15 sec*/
1613 	PORT_DIPSETTING(      0x0003, "Normal"	)	/* 12*/
1614 	PORT_DIPSETTING(      0x0001, "Hard"	)	/* 10*/
1615 	PORT_DIPSETTING(      0x0000, "Hardest"	)	/* 8*/
1616 	PORT_DIPNAME( 0x000c, 0x000c, DEF_STR( Lives ) )
1617 	PORT_DIPSETTING(      0x0008, "2" )
1618 	PORT_DIPSETTING(      0x000c, "3" )
1619 	PORT_DIPSETTING(      0x0004, "4" )
1620 	PORT_DIPSETTING(      0x0000, "5" )
1621 	PORT_DIPNAME( 0x0030, 0x0030, DEF_STR( Bonus_Life ) )
1622 	PORT_DIPSETTING(      0x0030, "100k" )	/*100*/
1623 	PORT_DIPSETTING(      0x0020, "150k" )	/*150*/
1624 	PORT_DIPSETTING(      0x0010, "200k" )	/*100*/
1625 	PORT_DIPSETTING(      0x0000, "200k?" )	/*200*/
1626 	PORT_DIPNAME( 0x0040, 0x0040, "Unknown 2-6" )
1627 	PORT_DIPSETTING(      0x0040, DEF_STR( Off ) )
1628 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1629 	PORT_DIPNAME( 0x0080, 0x0080, "Unknown 2-7" )
1630 	PORT_DIPSETTING(      0x0080, DEF_STR( Off ) )
1631 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1632 
1633 	PORT_START	/* IN2 - $210008*/
1634 	PORT_BIT(  0x0001, IP_ACTIVE_LOW, IPT_START1  )
1635 	PORT_BIT(  0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN )
1636 	PORT_BIT(  0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN )
1637 	PORT_BIT(  0x0008, IP_ACTIVE_LOW, IPT_UNKNOWN )
1638 	PORT_BIT(  0x0010, IP_ACTIVE_LOW, IPT_BUTTON4 | IPF_PLAYER1 )
1639 	PORT_BIT(  0x0020, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER1 )
1640 	PORT_BIT(  0x0040, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
1641 	PORT_BIT(  0x0080, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
1642 
1643 	PORT_START	/* IN3 - $21000a*/
1644 	PORT_BIT(  0x0001, IP_ACTIVE_LOW, IPT_START2  )
1645 	PORT_BIT(  0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN )
1646 	PORT_BIT(  0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN )
1647 	PORT_BIT(  0x0008, IP_ACTIVE_LOW, IPT_UNKNOWN )
1648 	PORT_BIT(  0x0010, IP_ACTIVE_LOW, IPT_BUTTON4 | IPF_PLAYER2 )
1649 	PORT_BIT(  0x0020, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER2 )
1650 	PORT_BIT(  0x0040, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
1651 	PORT_BIT(  0x0080, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
1652 
1653 	PORT_START	/* IN4 - $21000c*/
1654 	PORT_BIT_IMPULSE( 0x0001, IP_ACTIVE_LOW, IPT_COIN1, 10 )
1655 	PORT_BIT_IMPULSE( 0x0002, IP_ACTIVE_LOW, IPT_COIN2, 10 )
1656 	PORT_BIT(  0x0004, IP_ACTIVE_LOW,  IPT_SERVICE1 )
1657 	PORT_BIT(  0x0008, IP_ACTIVE_LOW,  IPT_TILT     )
1658 	PORT_BIT(  0x00f0, IP_ACTIVE_LOW,  IPT_UNKNOWN  )
1659 INPUT_PORTS_END
1660 
1661 
1662 /***************************************************************************
1663 							Koi Koi Simasyo 2
1664 ***************************************************************************/
1665 
1666 INPUT_PORTS_START( koikois2 )
1667 	PORT_START	/* IN0 - $210002*/
1668 	PORT_DIPNAME( 0x0001, 0x0001, DEF_STR( Unknown ) )
1669 	PORT_DIPSETTING(      0x0001, DEF_STR( Off ) )
1670 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1671 	PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Flip_Screen ) )
1672 	PORT_DIPSETTING(      0x0002, DEF_STR( Off ) )
1673 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1674 	PORT_SERVICE( 0x0004, IP_ACTIVE_LOW )
1675 	PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Demo_Sounds ) )
1676 	PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
1677 	PORT_DIPSETTING(      0x0008, DEF_STR( On ) )
1678 	PORT_DIPNAME( 0x0030, 0x0030, DEF_STR( Coinage ) )
1679 	PORT_DIPSETTING(      0x0010, DEF_STR( 2C_1C ) )
1680 	PORT_DIPSETTING(      0x0030, DEF_STR( 1C_1C ) )
1681 	PORT_DIPSETTING(      0x0000, DEF_STR( 2C_3C ) )
1682 	PORT_DIPSETTING(      0x0020, DEF_STR( 1C_2C ) )
1683 	PORT_DIPNAME( 0x0040, 0x0040, "Voice" )
1684 	PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
1685 	PORT_DIPSETTING(      0x0040, DEF_STR( On ) )
1686 	PORT_DIPNAME( 0x0080, 0x0080, "Controls" )
1687 	PORT_DIPSETTING(      0x0080, "Joystick" )
1688 	PORT_DIPSETTING(      0x0000, "Keyboard" )
1689 
1690 	PORT_START	/* IN1 - $210004*/
1691 	PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Difficulty ) )
1692 	PORT_DIPSETTING(      0x0002, "Easy" )
1693 	PORT_DIPSETTING(      0x0003, "Normal" )
1694 	PORT_DIPSETTING(      0x0001, "Hard" )
1695 	PORT_DIPSETTING(      0x0000, "Hardest" )
1696 	PORT_DIPNAME( 0x0004, 0x0004, "Nudity" )
1697 	PORT_DIPSETTING(      0x0000, DEF_STR( No ) )
1698 	PORT_DIPSETTING(      0x0004, DEF_STR( Yes ) )
1699 	PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Unknown ) )
1700 	PORT_DIPSETTING(      0x0008, DEF_STR( Off ) )
1701 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1702 	PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Unknown ) )
1703 	PORT_DIPSETTING(      0x0010, DEF_STR( Off ) )
1704 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1705 	PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Unknown ) )
1706 	PORT_DIPSETTING(      0x0020, DEF_STR( Off ) )
1707 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1708 	PORT_DIPNAME( 0x00c0, 0x00c0, "Communication" )
1709 /*	PORT_DIPSETTING(      0x0080, "unused" )*/
1710 	PORT_DIPSETTING(      0x00c0, "None" )
1711 	PORT_DIPSETTING(      0x0040, "Board 1 (Main)" )
1712 	PORT_DIPSETTING(      0x0000, "Board 2 (Sub)" )
1713 
1714 	PORT_START	/* IN2 - $210008*/
1715 	PORT_BIT(  0x0001, IP_ACTIVE_LOW, IPT_START1 )
1716 	PORT_BIT(  0x0002, IP_ACTIVE_LOW, IPT_BUTTON3        | IPF_PLAYER1 )
1717 	PORT_BIT(  0x0004, IP_ACTIVE_LOW, IPT_BUTTON2        | IPF_PLAYER1 )
1718 	PORT_BIT(  0x0008, IP_ACTIVE_LOW, IPT_BUTTON1        | IPF_PLAYER1 )
1719 	PORT_BIT(  0x0010, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER1 )
1720 	PORT_BIT(  0x0020, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_PLAYER1 )
1721 	PORT_BIT(  0x0040, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_PLAYER1 )
1722 	PORT_BIT(  0x0080, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_PLAYER1 )
1723 
1724 	PORT_START	/* IN3 - $21000a*/
1725 	PORT_BIT(  0x0001, IP_ACTIVE_LOW, IPT_START2 )
1726 	PORT_BIT(  0x0002, IP_ACTIVE_LOW, IPT_BUTTON3        | IPF_PLAYER2 )
1727 	PORT_BIT(  0x0004, IP_ACTIVE_LOW, IPT_BUTTON2        | IPF_PLAYER2 )
1728 	PORT_BIT(  0x0008, IP_ACTIVE_LOW, IPT_BUTTON1        | IPF_PLAYER2 )
1729 	PORT_BIT(  0x0010, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER2 )
1730 	PORT_BIT(  0x0020, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_PLAYER2 )
1731 	PORT_BIT(  0x0040, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_PLAYER2 )
1732 	PORT_BIT(  0x0080, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_PLAYER2 )
1733 
1734 	PORT_START	/* IN4 - $21000c*/
1735 	PORT_BIT_IMPULSE( 0x0001, IP_ACTIVE_LOW, IPT_COIN1, 10 )
1736 	PORT_BIT_IMPULSE( 0x0002, IP_ACTIVE_LOW, IPT_COIN2, 10 )
1737 	PORT_BIT(  0x0004, IP_ACTIVE_LOW,  IPT_SERVICE1 )
1738 	PORT_BIT(  0x0008, IP_ACTIVE_LOW,  IPT_TILT     )
1739 	PORT_BIT(  0x00f0, IP_ACTIVE_LOW,  IPT_UNKNOWN  )
1740 
1741 	PORT_START	/* IN5 - $800002(0)*/
1742 	PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_UNKNOWN )
1743 	PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN )
1744 	PORT_BITX(0x0004, IP_ACTIVE_LOW, 0, "Pon", KEYCODE_LALT, IP_JOY_NONE )
1745 	PORT_BITX(0x0008, IP_ACTIVE_LOW, 0, "L",   KEYCODE_L,    IP_JOY_NONE )
1746 	PORT_BITX(0x0010, IP_ACTIVE_LOW, 0, "H",   KEYCODE_H,    IP_JOY_NONE )
1747 	PORT_BITX(0x0020, IP_ACTIVE_LOW, 0, "D",   KEYCODE_D,    IP_JOY_NONE )
1748 	PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
1749 	PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
1750 
1751 	PORT_START	/* IN6 - $800002(1)*/
1752 	PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_UNKNOWN )
1753 	PORT_BITX(0x0002, IP_ACTIVE_LOW, 0, "Ron", KEYCODE_Z,     IP_JOY_NONE )
1754 	PORT_BITX(0x0004, IP_ACTIVE_LOW, 0, "Chi", KEYCODE_SPACE, IP_JOY_NONE )
1755 	PORT_BITX(0x0008, IP_ACTIVE_LOW, 0, "K",   KEYCODE_K,     IP_JOY_NONE )
1756 	PORT_BITX(0x0010, IP_ACTIVE_LOW, 0, "G",   KEYCODE_G,     IP_JOY_NONE )
1757 	PORT_BITX(0x0020, IP_ACTIVE_LOW, 0, "C",   KEYCODE_C,     IP_JOY_NONE )
1758 	PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
1759 	PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
1760 
1761 	PORT_START	/* IN7 - $800002(2)*/
1762 	PORT_BITX(0x0001, IP_ACTIVE_LOW, 0, "Bet",   KEYCODE_RCONTROL, IP_JOY_NONE )
1763 	PORT_BITX(0x0002, IP_ACTIVE_LOW, 0, "Reach", KEYCODE_LSHIFT,   IP_JOY_NONE )
1764 	PORT_BITX(0x0004, IP_ACTIVE_LOW, 0, "N",     KEYCODE_N,        IP_JOY_NONE )
1765 	PORT_BITX(0x0008, IP_ACTIVE_LOW, 0, "J",     KEYCODE_J,        IP_JOY_NONE )
1766 	PORT_BITX(0x0010, IP_ACTIVE_LOW, 0, "F",     KEYCODE_F,        IP_JOY_NONE )
1767 	PORT_BITX(0x0020, IP_ACTIVE_LOW, 0, "B",     KEYCODE_B,        IP_JOY_NONE )
1768 	PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
1769 	PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
1770 
1771 	PORT_START	/* IN8 - $800002(3)*/
1772 	PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_START1 )
1773 	PORT_BITX(0x0002, IP_ACTIVE_LOW, 0, "Kan", KEYCODE_LCONTROL, IP_JOY_NONE )
1774 	PORT_BITX(0x0004, IP_ACTIVE_LOW, 0, "M",   KEYCODE_M,        IP_JOY_NONE )
1775 	PORT_BITX(0x0008, IP_ACTIVE_LOW, 0, "I",   KEYCODE_I,        IP_JOY_NONE )
1776 	PORT_BITX(0x0010, IP_ACTIVE_LOW, 0, "E",   KEYCODE_E,        IP_JOY_NONE )
1777 	PORT_BITX(0x0020, IP_ACTIVE_LOW, 0, "A",   KEYCODE_A,        IP_JOY_NONE )
1778 	PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
1779 	PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
1780 INPUT_PORTS_END
1781 
1782 
1783 /***************************************************************************
1784 								Meosis Magic
1785 ***************************************************************************/
1786 
1787 INPUT_PORTS_START( meosism )
1788 	PORT_START	/* IN0 - $210002*/
1789 	PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Coinage ) )
1790 	PORT_DIPSETTING(      0x0003, "1 Medal/1 Credit" )
1791 	PORT_DIPSETTING(      0x0001, "1 Medal/5 Credits" )
1792 	PORT_DIPSETTING(      0x0002, "1 Medal/10 Credits" )
1793 	PORT_DIPSETTING(      0x0000, "1 Medal/20 Credits" )
1794 	PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Demo_Sounds ) )
1795 	PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
1796 	PORT_DIPSETTING(      0x0004, DEF_STR( On ) )
1797 	PORT_DIPNAME( 0x0008, 0x0008, "Attendant Pay" )
1798 	PORT_DIPSETTING(      0x0000, DEF_STR( No ) )
1799 	PORT_DIPSETTING(      0x0008, DEF_STR( Yes ) )
1800 	PORT_DIPNAME( 0x0010, 0x0010, "Medals Payout" )
1801 	PORT_DIPSETTING(      0x0010, "400" )
1802 	PORT_DIPSETTING(      0x0000, "800" )
1803 	PORT_DIPNAME( 0x0020, 0x0020, "Max Credits" )
1804 	PORT_DIPSETTING(      0x0020, "5000" )
1805 	PORT_DIPSETTING(      0x0000, "9999" )
1806 	PORT_DIPNAME( 0x0040, 0x0040, "Hopper" )
1807 	PORT_DIPSETTING(      0x0000, DEF_STR( No ) )
1808 	PORT_DIPSETTING(      0x0040, DEF_STR( Yes ) )
1809 	PORT_DIPNAME( 0x0080, 0x0080, "Reel Speed" )
1810 	PORT_DIPSETTING(      0x0080, "Low" )
1811 	PORT_DIPSETTING(      0x0000, "High" )
1812 
1813 	PORT_START	/* IN1 - $210004*/
1814 	PORT_DIPNAME( 0x0003, 0x0003, "Game Rate" )
1815 	PORT_DIPSETTING(      0x0000, "80%" )
1816 	PORT_DIPSETTING(      0x0002, "85%" )
1817 	PORT_DIPSETTING(      0x0003, "90%" )
1818 	PORT_DIPSETTING(      0x0001, "95%" )
1819 	PORT_DIPNAME( 0x0004, 0x0004, "Unknown 2-2" )
1820 	PORT_DIPSETTING(      0x0004, DEF_STR( Off ) )
1821 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1822 	PORT_DIPNAME( 0x0008, 0x0008, "Unknown 2-3" )
1823 	PORT_DIPSETTING(      0x0008, DEF_STR( Off ) )
1824 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1825 	PORT_DIPNAME( 0x0010, 0x0010, "Unknown 2-4" )
1826 	PORT_DIPSETTING(      0x0010, DEF_STR( Off ) )
1827 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1828 	PORT_DIPNAME( 0x0020, 0x0000, "Controls" )
1829 /*	PORT_DIPSETTING(      0x0020, "Simple") )*/
1830 	PORT_DIPSETTING(      0x0000, "Complex" )
1831 	PORT_DIPNAME( 0x0040, 0x0000, "Coin Sensor" )
1832 	PORT_DIPSETTING(      0x0040, "Active High" )
1833 	PORT_DIPSETTING(      0x0000, "Active Low" )
1834 	PORT_DIPNAME( 0x0080, 0x0080, "Hopper Sensor" )
1835 	PORT_DIPSETTING(      0x0080, DEF_STR( Off ) )
1836 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1837 
1838 	PORT_START	/* IN2 - $210008*/
1839 	PORT_BIT(  0x0001, IP_ACTIVE_LOW, IPT_BUTTON4        )	/*bet*/
1840 	PORT_BIT(  0x0002, IP_ACTIVE_LOW, IPT_BUTTON3        )	/*stop/r*/
1841 	PORT_BIT(  0x0004, IP_ACTIVE_LOW, IPT_BUTTON2        )	/*stop/c*/
1842 	PORT_BIT(  0x0008, IP_ACTIVE_LOW, IPT_BUTTON1        )	/*stop/l*/
1843 	PORT_BIT(  0x0010, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT )	/*no*/
1844 	PORT_BIT(  0x0020, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  )	/*yes*/
1845 	PORT_BIT(  0x0040, IP_ACTIVE_LOW, IPT_START1         )	/*start*/
1846 	PORT_BIT(  0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN        )	/*-*/
1847 
1848 	PORT_START	/* IN3 - $21000a*/
1849 	PORT_BIT(  0x0001, IP_ACTIVE_LOW, IPT_UNKNOWN  )	/*-*/
1850 	PORT_BITX( 0x0002, IP_ACTIVE_LOW, IPT_SERVICE, DEF_STR( Service_Mode ), KEYCODE_F2, IP_JOY_NONE )	/*test*/
1851 	PORT_BIT(  0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN  )	/*-*/
1852 	PORT_BIT(  0x0008, IP_ACTIVE_LOW, IPT_SERVICE3 )	/*payout*/
1853 	PORT_BIT(  0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN  )	/*-*/
1854 	PORT_BIT(  0x0020, IP_ACTIVE_LOW, IPT_TILT     )	/*reset*/
1855 	PORT_BIT(  0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN  )	/*-*/
1856 	PORT_BIT(  0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN  )	/*-*/
1857 
1858 	PORT_START	/* IN4 - $21000c*/
1859 	PORT_BIT_IMPULSE( 0x0001, IP_ACTIVE_LOW, IPT_COIN1, 10 )
1860 	PORT_BIT_IMPULSE( 0x0002, IP_ACTIVE_LOW, IPT_COIN2, 10 )
1861 	PORT_BIT(  0x0004, IP_ACTIVE_LOW, IPT_SERVICE1 )	/*service coin*/
1862 	PORT_BIT(  0x0008, IP_ACTIVE_LOW, IPT_SERVICE2 )	/*analyzer*/
1863 	PORT_BIT(  0x0010, IP_ACTIVE_LOW, IPT_BUTTON5  )	/*max bet*/
1864 	PORT_BIT(  0x00e0, IP_ACTIVE_LOW, IPT_UNKNOWN  )
1865 INPUT_PORTS_END
1866 
1867 
1868 /***************************************************************************
1869 								Monster Slider
1870 ***************************************************************************/
1871 
1872 INPUT_PORTS_START( mslider )
1873 	PORT_START	/* IN0 - $210002*/
1874 	PORT_DIPNAME( 0x0007, 0x0007, DEF_STR( Coin_A ) )
1875 	PORT_DIPSETTING(      0x0005, DEF_STR( 3C_1C ) )
1876 	PORT_DIPSETTING(      0x0006, DEF_STR( 2C_1C ) )
1877 	PORT_DIPSETTING(      0x0007, DEF_STR( 1C_1C ) )
1878 	PORT_DIPSETTING(      0x0004, DEF_STR( 1C_2C ) )
1879 	PORT_DIPSETTING(      0x0003, DEF_STR( 1C_3C ) )
1880 	PORT_DIPSETTING(      0x0002, DEF_STR( 1C_4C ) )
1881 	PORT_DIPSETTING(      0x0001, DEF_STR( 1C_5C ) )
1882 	PORT_DIPSETTING(      0x0000, DEF_STR( 1C_6C ) )
1883 	PORT_DIPNAME( 0x0038, 0x0038, DEF_STR( Coin_B ) )
1884 	PORT_DIPSETTING(      0x0028, DEF_STR( 3C_1C ) )
1885 	PORT_DIPSETTING(      0x0030, DEF_STR( 2C_1C ) )
1886 	PORT_DIPSETTING(      0x0038, DEF_STR( 1C_1C ) )
1887 	PORT_DIPSETTING(      0x0020, DEF_STR( 1C_2C ) )
1888 	PORT_DIPSETTING(      0x0018, DEF_STR( 1C_3C ) )
1889 	PORT_DIPSETTING(      0x0010, DEF_STR( 1C_4C ) )
1890 	PORT_DIPSETTING(      0x0008, DEF_STR( 1C_5C ) )
1891 	PORT_DIPSETTING(      0x0000, DEF_STR( 1C_6C ) )
1892 	PORT_SERVICE( 0x0040, IP_ACTIVE_LOW )
1893 	PORT_DIPNAME( 0x0080, 0x0080, "Unknown 1-7" )
1894 	PORT_DIPSETTING(      0x0080, DEF_STR( Off ) )
1895 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1896 
1897 	PORT_START	/* IN1 - $210004*/
1898 	PORT_DIPNAME( 0x0001, 0x0001, DEF_STR( Flip_Screen ) )
1899 	PORT_DIPSETTING(      0x0001, DEF_STR( Off ) )
1900 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1901 	PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Demo_Sounds ) )
1902 	PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
1903 	PORT_DIPSETTING(      0x0002, DEF_STR( On ) )
1904 	PORT_DIPNAME( 0x000c, 0x000c, DEF_STR( Difficulty ) )
1905 	PORT_DIPSETTING(      0x0008, "Easy" )
1906 	PORT_DIPSETTING(      0x000c, "Normal" )
1907 	PORT_DIPSETTING(      0x0004, "Hard" )
1908 	PORT_DIPSETTING(      0x0000, "Hardest" )
1909 	PORT_DIPNAME( 0x0030, 0x0030, "Rounds (Vs Mode)" )
1910 	PORT_DIPSETTING(      0x0000, "1" )
1911 	PORT_DIPSETTING(      0x0030, "2" )
1912 	PORT_DIPSETTING(      0x0020, "3" )
1913 	PORT_DIPSETTING(      0x0010, "4" )
1914 	PORT_DIPNAME( 0x0040, 0x0040, "Unknown 2-6" )
1915 	PORT_DIPSETTING(      0x0040, DEF_STR( Off ) )
1916 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1917 	PORT_DIPNAME( 0x0080, 0x0080, "Unknown 2-7" )
1918 	PORT_DIPSETTING(      0x0080, DEF_STR( Off ) )
1919 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1920 
1921 	PORT_START	/* IN2 - $210008*/
1922 	PORT_BIT(  0x0001, IP_ACTIVE_LOW, IPT_START1 )
1923 	PORT_BIT(  0x0002, IP_ACTIVE_LOW, IPT_BUTTON3        | IPF_PLAYER1 )
1924 	PORT_BIT(  0x0004, IP_ACTIVE_LOW, IPT_BUTTON2        | IPF_PLAYER1 )
1925 	PORT_BIT(  0x0008, IP_ACTIVE_LOW, IPT_BUTTON1        | IPF_PLAYER1 )
1926 	PORT_BIT(  0x0010, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER1 )
1927 	PORT_BIT(  0x0020, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_PLAYER1 )
1928 	PORT_BIT(  0x0040, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_PLAYER1 )
1929 	PORT_BIT(  0x0080, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_PLAYER1 )
1930 
1931 	PORT_START	/* IN3 - $21000a*/
1932 	PORT_BIT(  0x0001, IP_ACTIVE_LOW, IPT_START2 )
1933 	PORT_BIT(  0x0002, IP_ACTIVE_LOW, IPT_BUTTON3        | IPF_PLAYER2 )
1934 	PORT_BIT(  0x0004, IP_ACTIVE_LOW, IPT_BUTTON2        | IPF_PLAYER2 )
1935 	PORT_BIT(  0x0008, IP_ACTIVE_LOW, IPT_BUTTON1        | IPF_PLAYER2 )
1936 	PORT_BIT(  0x0010, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER2 )
1937 	PORT_BIT(  0x0020, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_PLAYER2 )
1938 	PORT_BIT(  0x0040, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_PLAYER2 )
1939 	PORT_BIT(  0x0080, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_PLAYER2 )
1940 
1941 	PORT_START	/* IN4 - $21000c*/
1942 	PORT_BIT_IMPULSE( 0x0001, IP_ACTIVE_LOW, IPT_COIN1, 10 )
1943 	PORT_BIT_IMPULSE( 0x0002, IP_ACTIVE_LOW, IPT_COIN2, 10 )
1944 	PORT_BIT(  0x0004, IP_ACTIVE_LOW,  IPT_SERVICE1 )
1945 	PORT_BIT(  0x0008, IP_ACTIVE_LOW,  IPT_TILT     )
1946 	PORT_BIT(  0x00f0, IP_ACTIVE_LOW,  IPT_UNKNOWN  )
1947 INPUT_PORTS_END
1948 
1949 
1950 /***************************************************************************
1951 					Gourmet Battle Quiz Ryohrioh CooKing
1952 ***************************************************************************/
1953 
1954 INPUT_PORTS_START( ryorioh )
1955 	PORT_START	/* IN0 - $210002*/
1956 	PORT_DIPNAME( 0x0001, 0x0001, "Unknown 1-0" )
1957 	PORT_DIPSETTING(      0x0001, DEF_STR( Off ) )
1958 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1959 	PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Flip_Screen ) )
1960 	PORT_DIPSETTING(      0x0002, DEF_STR( Off ) )
1961 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1962 	PORT_SERVICE( 0x0004, IP_ACTIVE_LOW )
1963 	PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Demo_Sounds ) )
1964 	PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
1965 	PORT_DIPSETTING(      0x0008, DEF_STR( On ) )
1966 	PORT_DIPNAME( 0x0030, 0x0030, DEF_STR( Coinage ) )
1967 	PORT_DIPSETTING(      0x0010, DEF_STR( 2C_1C ) )
1968 	PORT_DIPSETTING(      0x0030, DEF_STR( 1C_1C ) )
1969 	PORT_DIPSETTING(      0x0000, DEF_STR( 2C_3C ) )
1970 	PORT_DIPSETTING(      0x0020, DEF_STR( 1C_2C ) )
1971 	PORT_DIPNAME( 0x0040, 0x0040, "Unknown 1-6" )
1972 	PORT_DIPSETTING(      0x0040, DEF_STR( Off ) )
1973 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1974 	PORT_DIPNAME( 0x0080, 0x0080, "Unknown 1-7*" )
1975 	PORT_DIPSETTING(      0x0080, DEF_STR( Off ) )
1976 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1977 
1978 	PORT_START	/* IN1 - $210004*/
1979 	PORT_DIPNAME( 0x0003, 0x0003, "Unknown 2-0&1*" )
1980 	PORT_DIPSETTING(      0x0002, "0" )
1981 	PORT_DIPSETTING(      0x0003, "1" )
1982 	PORT_DIPSETTING(      0x0001, "2" )
1983 	PORT_DIPSETTING(      0x0000, "3" )
1984 	PORT_DIPNAME( 0x0004, 0x0004, "Unknown 2-2" )
1985 	PORT_DIPSETTING(      0x0004, DEF_STR( Off ) )
1986 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1987 	PORT_DIPNAME( 0x0008, 0x0008, "Unknown 2-3" )
1988 	PORT_DIPSETTING(      0x0008, DEF_STR( Off ) )
1989 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1990 	PORT_DIPNAME( 0x0010, 0x0010, "Unknown 2-4" )
1991 	PORT_DIPSETTING(      0x0010, DEF_STR( Off ) )
1992 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1993 	PORT_DIPNAME( 0x0020, 0x0020, "Unknown 2-5" )
1994 	PORT_DIPSETTING(      0x0020, DEF_STR( Off ) )
1995 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1996 	PORT_DIPNAME( 0x0040, 0x0040, "Unknown 2-6" )
1997 	PORT_DIPSETTING(      0x0040, DEF_STR( Off ) )
1998 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
1999 	PORT_DIPNAME( 0x0080, 0x0080, "Unknown 2-7" )
2000 	PORT_DIPSETTING(      0x0080, DEF_STR( Off ) )
2001 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
2002 
2003 	PORT_START	/* IN2 - $210008*/
2004 	PORT_BIT(  0x0001, IP_ACTIVE_LOW, IPT_START1  )
2005 	PORT_BIT(  0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN )
2006 	PORT_BIT(  0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN )
2007 	PORT_BIT(  0x0008, IP_ACTIVE_LOW, IPT_UNKNOWN )
2008 	PORT_BIT(  0x0010, IP_ACTIVE_LOW, IPT_BUTTON4 | IPF_PLAYER1 )
2009 	PORT_BIT(  0x0020, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER1 )
2010 	PORT_BIT(  0x0040, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
2011 	PORT_BIT(  0x0080, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
2012 
2013 	PORT_START	/* IN3 - $21000a*/
2014 	PORT_BIT(  0x0001, IP_ACTIVE_LOW, IPT_START2  )
2015 	PORT_BIT(  0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN )
2016 	PORT_BIT(  0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN )
2017 	PORT_BIT(  0x0008, IP_ACTIVE_LOW, IPT_UNKNOWN )
2018 	PORT_BIT(  0x0010, IP_ACTIVE_LOW, IPT_BUTTON4 | IPF_PLAYER2 )
2019 	PORT_BIT(  0x0020, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER2 )
2020 	PORT_BIT(  0x0040, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
2021 	PORT_BIT(  0x0080, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
2022 
2023 	PORT_START	/* IN4 - $21000c*/
2024 	PORT_BIT_IMPULSE( 0x0001, IP_ACTIVE_LOW, IPT_COIN1, 10 )
2025 	PORT_BIT_IMPULSE( 0x0002, IP_ACTIVE_LOW, IPT_COIN2, 10 )
2026 	PORT_BIT(  0x0004, IP_ACTIVE_LOW,  IPT_SERVICE1 )
2027 	PORT_BIT(  0x0008, IP_ACTIVE_LOW,  IPT_TILT     )
2028 	PORT_BIT(  0x00f0, IP_ACTIVE_LOW,  IPT_UNKNOWN  )
2029 INPUT_PORTS_END
2030 
2031 
2032 /***************************************************************************
2033 							Super Real Mahjong PIV
2034 ***************************************************************************/
2035 
2036 INPUT_PORTS_START( srmp4 )
2037 	PORT_START	/* IN0 - $210002*/
2038 	PORT_DIPNAME( 0x0007, 0x0007, DEF_STR( Coin_A ) )
2039 	PORT_DIPSETTING(      0x0000, DEF_STR( 5C_1C ) )
2040 	PORT_DIPSETTING(      0x0001, DEF_STR( 4C_1C ) )
2041 	PORT_DIPSETTING(      0x0002, DEF_STR( 3C_1C ) )
2042 	PORT_DIPSETTING(      0x0003, DEF_STR( 2C_1C ) )
2043 	PORT_DIPSETTING(      0x0007, DEF_STR( 1C_1C ) )
2044 	PORT_DIPSETTING(      0x0006, DEF_STR( 1C_2C ) )
2045 	PORT_DIPSETTING(      0x0005, DEF_STR( 1C_3C ) )
2046 	PORT_DIPSETTING(      0x0004, DEF_STR( 1C_4C ) )
2047 	PORT_DIPNAME( 0x0038, 0x0038, DEF_STR( Coin_B ) )
2048 	PORT_DIPSETTING(      0x0000, DEF_STR( 5C_1C ) )
2049 	PORT_DIPSETTING(      0x0008, DEF_STR( 4C_1C ) )
2050 	PORT_DIPSETTING(      0x0010, DEF_STR( 3C_1C ) )
2051 	PORT_DIPSETTING(      0x0018, DEF_STR( 2C_1C ) )
2052 	PORT_DIPSETTING(      0x0038, DEF_STR( 1C_1C ) )
2053 	PORT_DIPSETTING(      0x0030, DEF_STR( 1C_2C ) )
2054 	PORT_DIPSETTING(      0x0028, DEF_STR( 1C_3C ) )
2055 	PORT_DIPSETTING(      0x0020, DEF_STR( 1C_4C ) )
2056 	PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Free_Play ) )
2057 	PORT_DIPSETTING(      0x0040, DEF_STR( Off ) )
2058 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
2059 	PORT_DIPNAME( 0x0080, 0x0080, "Unknown 1-7" )
2060 	PORT_DIPSETTING(      0x0080, DEF_STR( Off ) )
2061 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
2062 
2063 	PORT_START	/* IN1 - $210004*/
2064 	PORT_DIPNAME( 0x0007, 0x0007, DEF_STR( Difficulty ) )
2065 	PORT_DIPSETTING(      0x0006, "Easiest" )
2066 	PORT_DIPSETTING(      0x0005, "Easier" )
2067 	PORT_DIPSETTING(      0x0004, "Easy" )
2068 	PORT_DIPSETTING(      0x0007, "Normal" )
2069 	PORT_DIPSETTING(      0x0003, "Medium" )
2070 	PORT_DIPSETTING(      0x0002, "Hard" )
2071 	PORT_DIPSETTING(      0x0001, "Harder" )
2072 	PORT_DIPSETTING(      0x0000, "Hardest" )
2073 	PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Flip_Screen ) )
2074 	PORT_DIPSETTING(      0x0008, DEF_STR( Off ) )
2075 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
2076 	PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Demo_Sounds ) )
2077 	PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
2078 	PORT_DIPSETTING(      0x0010, DEF_STR( On ) )
2079 	PORT_SERVICE( 0x0020, IP_ACTIVE_LOW )
2080 	PORT_DIPNAME( 0x0040, 0x0040, "Allow Continue" )
2081 	PORT_DIPSETTING(      0x0000, DEF_STR( No ) )
2082 	PORT_DIPSETTING(      0x0040, DEF_STR( Yes ) )
2083 	PORT_DIPNAME( 0x0080, 0x0080, "Unknown 2-7" )
2084 	PORT_DIPSETTING(      0x0080, DEF_STR( Off ) )
2085 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
2086 
2087 	PORT_START	/* IN2 - $210008*/
2088 	PORT_BIT(  0x00ff, IP_ACTIVE_LOW, IPT_UNKNOWN )
2089 
2090 	PORT_START	/* IN3 - $21000a*/
2091 	PORT_BIT(  0x00ff, IP_ACTIVE_LOW, IPT_UNKNOWN )
2092 
2093 	PORT_START	/* IN4 - $21000c*/
2094 	PORT_BIT_IMPULSE( 0x0001, IP_ACTIVE_LOW, IPT_COIN1, 10 )
2095 	PORT_BIT_IMPULSE( 0x0002, IP_ACTIVE_LOW, IPT_COIN2, 10 )
2096 	PORT_BIT(  0x0004, IP_ACTIVE_LOW,  IPT_SERVICE1 )
2097 	PORT_BIT(  0x0008, IP_ACTIVE_LOW,  IPT_TILT     )
2098 	PORT_BIT(  0x00f0, IP_ACTIVE_LOW,  IPT_UNKNOWN  )
2099 
2100 	PORT_START	/* IN5 - $c0000a(0)*/
2101 	PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_UNKNOWN )
2102 	PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN )
2103 	PORT_BITX(0x0004, IP_ACTIVE_LOW, 0, "Pon", KEYCODE_LALT, IP_JOY_NONE )
2104 	PORT_BITX(0x0008, IP_ACTIVE_LOW, 0, "L",   KEYCODE_L,    IP_JOY_NONE )
2105 	PORT_BITX(0x0010, IP_ACTIVE_LOW, 0, "H",   KEYCODE_H,    IP_JOY_NONE )
2106 	PORT_BITX(0x0020, IP_ACTIVE_LOW, 0, "D",   KEYCODE_D,    IP_JOY_NONE )
2107 	PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
2108 	PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
2109 
2110 	PORT_START	/* IN6 - $c0000a(1)*/
2111 	PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_UNKNOWN )
2112 	PORT_BITX(0x0002, IP_ACTIVE_LOW, 0, "Ron", KEYCODE_Z,     IP_JOY_NONE )
2113 	PORT_BITX(0x0004, IP_ACTIVE_LOW, 0, "Chi", KEYCODE_SPACE, IP_JOY_NONE )
2114 	PORT_BITX(0x0008, IP_ACTIVE_LOW, 0, "K",   KEYCODE_K,     IP_JOY_NONE )
2115 	PORT_BITX(0x0010, IP_ACTIVE_LOW, 0, "G",   KEYCODE_G,     IP_JOY_NONE )
2116 	PORT_BITX(0x0020, IP_ACTIVE_LOW, 0, "C",   KEYCODE_C,     IP_JOY_NONE )
2117 	PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
2118 	PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
2119 
2120 	PORT_START	/* IN7 - $c0000a(2)*/
2121 	PORT_BITX(0x0001, IP_ACTIVE_LOW, 0, "Bet",   KEYCODE_RCONTROL, IP_JOY_NONE )
2122 	PORT_BITX(0x0002, IP_ACTIVE_LOW, 0, "Reach", KEYCODE_LSHIFT,   IP_JOY_NONE )
2123 	PORT_BITX(0x0004, IP_ACTIVE_LOW, 0, "N",     KEYCODE_N,        IP_JOY_NONE )
2124 	PORT_BITX(0x0008, IP_ACTIVE_LOW, 0, "J",     KEYCODE_J,        IP_JOY_NONE )
2125 	PORT_BITX(0x0010, IP_ACTIVE_LOW, 0, "F",     KEYCODE_F,        IP_JOY_NONE )
2126 	PORT_BITX(0x0020, IP_ACTIVE_LOW, 0, "B",     KEYCODE_B,        IP_JOY_NONE )
2127 	PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
2128 	PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
2129 
2130 	PORT_START	/* IN8 - $c0000a(3)*/
2131 	PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_START1 )
2132 	PORT_BITX(0x0002, IP_ACTIVE_LOW, 0, "Kan", KEYCODE_LCONTROL, IP_JOY_NONE )
2133 	PORT_BITX(0x0004, IP_ACTIVE_LOW, 0, "M",   KEYCODE_M,        IP_JOY_NONE )
2134 	PORT_BITX(0x0008, IP_ACTIVE_LOW, 0, "I",   KEYCODE_I,        IP_JOY_NONE )
2135 	PORT_BITX(0x0010, IP_ACTIVE_LOW, 0, "E",   KEYCODE_E,        IP_JOY_NONE )
2136 	PORT_BITX(0x0020, IP_ACTIVE_LOW, 0, "A",   KEYCODE_A,        IP_JOY_NONE )
2137 	PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
2138 	PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
2139 INPUT_PORTS_END
2140 
2141 
2142 /***************************************************************************
2143 							Super Real Mahjong P7
2144 ***************************************************************************/
2145 
2146 INPUT_PORTS_START( srmp7 )
2147 	PORT_START	/* IN0 - $210002*/
2148 	PORT_DIPNAME( 0x0007, 0x0007, DEF_STR( Coinage ) )
2149 	PORT_DIPSETTING(      0x0000, DEF_STR( 5C_1C ) )
2150 	PORT_DIPSETTING(      0x0001, DEF_STR( 4C_1C ) )
2151 	PORT_DIPSETTING(      0x0002, DEF_STR( 3C_1C ) )
2152 	PORT_DIPSETTING(      0x0003, DEF_STR( 2C_1C ) )
2153 	PORT_DIPSETTING(      0x0007, DEF_STR( 1C_1C ) )
2154 	PORT_DIPSETTING(      0x0006, DEF_STR( 1C_2C ) )
2155 	PORT_DIPSETTING(      0x0005, DEF_STR( 1C_3C ) )
2156 	PORT_DIPSETTING(      0x0004, DEF_STR( 1C_4C ) )
2157 	PORT_DIPNAME( 0x0008, 0x0008, "Unknown 1-3" )
2158 	PORT_DIPSETTING(      0x0008, DEF_STR( Off ) )
2159 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
2160 	PORT_DIPNAME( 0x0010, 0x0010, "Unknown 1-4" )
2161 	PORT_DIPSETTING(      0x0010, DEF_STR( Off ) )
2162 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
2163 	PORT_DIPNAME( 0x0020, 0x0020, "Unknown 1-5" )
2164 	PORT_DIPSETTING(      0x0020, DEF_STR( Off ) )
2165 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
2166 	PORT_DIPNAME( 0x0040, 0x0040, "Re-cloth" )
2167 	PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
2168 	PORT_DIPSETTING(      0x0040, DEF_STR( On ) )
2169 	PORT_DIPNAME( 0x0080, 0x0080, "Nudity" )
2170 	PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
2171 	PORT_DIPSETTING(      0x0080, DEF_STR( On ) )
2172 
2173 	PORT_START	/* IN1 - $210004*/
2174 	PORT_DIPNAME( 0x0007, 0x0007, DEF_STR( Difficulty ) )
2175 	PORT_DIPSETTING(      0x0006, "Easiest" )
2176 	PORT_DIPSETTING(      0x0005, "Easier" )
2177 	PORT_DIPSETTING(      0x0004, "Easy" )
2178 	PORT_DIPSETTING(      0x0007, "Normal" )
2179 	PORT_DIPSETTING(      0x0003, "Medium" )
2180 	PORT_DIPSETTING(      0x0002, "Hard" )
2181 	PORT_DIPSETTING(      0x0001, "Harder" )
2182 	PORT_DIPSETTING(      0x0000, "Hardest" )
2183 	PORT_DIPNAME( 0x0008, 0x0008, "Kuitan" )
2184 	PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
2185 	PORT_DIPSETTING(      0x0008, DEF_STR( On ) )
2186 	PORT_DIPNAME( 0x0010, 0x0010, "Allow Continue" )
2187 	PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
2188 	PORT_DIPSETTING(      0x0010, DEF_STR( On ) )
2189 	PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Demo_Sounds ) )
2190 	PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
2191 	PORT_DIPSETTING(      0x0020, DEF_STR( On ) )
2192 	PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Flip_Screen ) )
2193 	PORT_DIPSETTING(      0x0040, DEF_STR( Off ) )
2194 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
2195 	PORT_SERVICE( 0x0080, IP_ACTIVE_LOW )
2196 
2197 	PORT_START	/* IN2 - $210008*/
2198 	PORT_BIT(  0x00ff, IP_ACTIVE_LOW, IPT_UNKNOWN )
2199 
2200 	PORT_START	/* IN3 - $21000a*/
2201 	PORT_BIT(  0x00ff, IP_ACTIVE_LOW, IPT_UNKNOWN )
2202 
2203 	PORT_START	/* IN4 - $21000c*/
2204 	PORT_BIT_IMPULSE( 0x0001, IP_ACTIVE_LOW, IPT_COIN1, 10 )
2205 	PORT_BIT_IMPULSE( 0x0002, IP_ACTIVE_LOW, IPT_COIN2, 10 )
2206 	PORT_BIT(  0x0004, IP_ACTIVE_LOW,  IPT_SERVICE1 )
2207 	PORT_BIT(  0x0008, IP_ACTIVE_LOW,  IPT_TILT     )
2208 	PORT_BIT(  0x0010, IP_ACTIVE_LOW,  IPT_UNKNOWN  )	/* tested*/
2209 	PORT_BIT(  0x00e0, IP_ACTIVE_LOW,  IPT_UNKNOWN  )
2210 
2211 	PORT_START	/* IN6 - $600000(0)*/
2212 	PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_UNKNOWN )
2213 	PORT_BITX(0x0002, IP_ACTIVE_LOW, 0, "Ron", KEYCODE_Z,     IP_JOY_NONE )
2214 	PORT_BITX(0x0004, IP_ACTIVE_LOW, 0, "Chi", KEYCODE_SPACE, IP_JOY_NONE )
2215 	PORT_BITX(0x0008, IP_ACTIVE_LOW, 0, "K",   KEYCODE_K,     IP_JOY_NONE )
2216 	PORT_BITX(0x0010, IP_ACTIVE_LOW, 0, "G",   KEYCODE_G,     IP_JOY_NONE )
2217 	PORT_BITX(0x0020, IP_ACTIVE_LOW, 0, "C",   KEYCODE_C,     IP_JOY_NONE )
2218 	PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
2219 	PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
2220 
2221 	PORT_START	/* IN7 - $600000(1)*/
2222 	PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_UNKNOWN )
2223 	PORT_BITX(0x0002, IP_ACTIVE_LOW, 0, "Reach", KEYCODE_LSHIFT,   IP_JOY_NONE )
2224 	PORT_BITX(0x0004, IP_ACTIVE_LOW, 0, "N",     KEYCODE_N,        IP_JOY_NONE )
2225 	PORT_BITX(0x0008, IP_ACTIVE_LOW, 0, "J",     KEYCODE_J,        IP_JOY_NONE )
2226 	PORT_BITX(0x0010, IP_ACTIVE_LOW, 0, "F",     KEYCODE_F,        IP_JOY_NONE )
2227 	PORT_BITX(0x0020, IP_ACTIVE_LOW, 0, "B",     KEYCODE_B,        IP_JOY_NONE )
2228 	PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
2229 	PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
2230 
2231 	PORT_START	/* IN8 - $600000(2)*/
2232 	PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_START1 )
2233 	PORT_BITX(0x0002, IP_ACTIVE_LOW, 0, "Kan", KEYCODE_LCONTROL, IP_JOY_NONE )
2234 	PORT_BITX(0x0004, IP_ACTIVE_LOW, 0, "M",   KEYCODE_M,        IP_JOY_NONE )
2235 	PORT_BITX(0x0008, IP_ACTIVE_LOW, 0, "I",   KEYCODE_I,        IP_JOY_NONE )
2236 	PORT_BITX(0x0010, IP_ACTIVE_LOW, 0, "E",   KEYCODE_E,        IP_JOY_NONE )
2237 	PORT_BITX(0x0020, IP_ACTIVE_LOW, 0, "A",   KEYCODE_A,        IP_JOY_NONE )
2238 	PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
2239 	PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
2240 
2241 	PORT_START	/* IN5 - $600000(3)*/
2242 	PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_UNKNOWN )
2243 	PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN )
2244 	PORT_BITX(0x0004, IP_ACTIVE_LOW, 0, "Pon", KEYCODE_LALT, IP_JOY_NONE )
2245 	PORT_BITX(0x0008, IP_ACTIVE_LOW, 0, "L",   KEYCODE_L,    IP_JOY_NONE )
2246 	PORT_BITX(0x0010, IP_ACTIVE_LOW, 0, "H",   KEYCODE_H,    IP_JOY_NONE )
2247 	PORT_BITX(0x0020, IP_ACTIVE_LOW, 0, "D",   KEYCODE_D,    IP_JOY_NONE )
2248 	PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
2249 	PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
2250 INPUT_PORTS_END
2251 
2252 
2253 /***************************************************************************
2254 								Storm Blade
2255 ***************************************************************************/
2256 
2257 INPUT_PORTS_START( stmblade )
2258 	PORT_START	/* IN0 - $210002*/
2259 	PORT_DIPNAME( 0x0007, 0x0007, DEF_STR( Coin_A ) )
2260 	PORT_DIPSETTING(      0x0005, DEF_STR( 3C_1C ) )
2261 	PORT_DIPSETTING(      0x0006, DEF_STR( 2C_1C ) )
2262 	PORT_DIPSETTING(      0x0007, DEF_STR( 1C_1C ) )
2263 	PORT_DIPSETTING(      0x0004, DEF_STR( 1C_2C ) )
2264 	PORT_DIPSETTING(      0x0003, DEF_STR( 1C_3C ) )
2265 	PORT_DIPSETTING(      0x0002, DEF_STR( 1C_4C ) )
2266 	PORT_DIPSETTING(      0x0001, DEF_STR( 1C_5C ) )
2267 	PORT_DIPSETTING(      0x0000, DEF_STR( 1C_6C ) )
2268 	PORT_DIPNAME( 0x0038, 0x0038, DEF_STR( Coin_B ) )
2269 	PORT_DIPSETTING(      0x0028, DEF_STR( 3C_1C ) )
2270 	PORT_DIPSETTING(      0x0030, DEF_STR( 2C_1C ) )
2271 	PORT_DIPSETTING(      0x0038, DEF_STR( 1C_1C ) )
2272 	PORT_DIPSETTING(      0x0020, DEF_STR( 1C_2C ) )
2273 	PORT_DIPSETTING(      0x0018, DEF_STR( 1C_3C ) )
2274 	PORT_DIPSETTING(      0x0010, DEF_STR( 1C_4C ) )
2275 	PORT_DIPSETTING(      0x0008, DEF_STR( 1C_5C ) )
2276 	PORT_DIPSETTING(      0x0000, DEF_STR( 1C_6C ) )
2277 	PORT_DIPNAME( 0x0040, 0x0040, "Unknown 1-6" )
2278 	PORT_DIPSETTING(      0x0040, DEF_STR( Off ) )
2279 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
2280 	PORT_DIPNAME( 0x0080, 0x0080, "Rapid Fire" )
2281 	PORT_DIPSETTING(      0x0080, DEF_STR( Off ) )
2282 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
2283 
2284 	PORT_START	/* IN1 - $210004*/
2285 	PORT_DIPNAME( 0x0001, 0x0000, DEF_STR( Flip_Screen ) )
2286 	PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
2287 	PORT_DIPSETTING(      0x0001, DEF_STR( On ) )
2288 	PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Demo_Sounds ) )
2289 	PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
2290 	PORT_DIPSETTING(      0x0002, DEF_STR( On ) )
2291 	PORT_DIPNAME( 0x000c, 0x000c, DEF_STR( Difficulty ) )
2292 	PORT_DIPSETTING(      0x0008, "Easy" )
2293 	PORT_DIPSETTING(      0x000c, "Normal" )
2294 	PORT_DIPSETTING(      0x0004, "Hard" )
2295 	PORT_DIPSETTING(      0x0000, "Hardest" )
2296 	PORT_DIPNAME( 0x0030, 0x0030, DEF_STR( Lives ) )
2297 	PORT_DIPSETTING(      0x0020, "1" )
2298 	PORT_DIPSETTING(      0x0010, "2" )
2299 	PORT_DIPSETTING(      0x0030, "3" )
2300 	PORT_DIPSETTING(      0x0000, "4" )
2301 	PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Bonus_Life ) )
2302 	PORT_DIPSETTING(      0x0040, "600000" )
2303 	PORT_DIPSETTING(      0x0000, "800000" )
2304 	PORT_SERVICE( 0x0080, IP_ACTIVE_LOW )
2305 
2306 	PORT_START	/* IN2 - $210008*/
2307 	PORT_BIT(  0x0001, IP_ACTIVE_LOW, IPT_START1 )
2308 	PORT_BIT(  0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN )
2309 	PORT_BIT(  0x0004, IP_ACTIVE_LOW, IPT_BUTTON2        | IPF_PLAYER1 )
2310 	PORT_BIT(  0x0008, IP_ACTIVE_LOW, IPT_BUTTON1        | IPF_PLAYER1 )
2311 	PORT_BIT(  0x0010, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER1 )
2312 	PORT_BIT(  0x0020, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_PLAYER1 )
2313 	PORT_BIT(  0x0040, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_PLAYER1 )
2314 	PORT_BIT(  0x0080, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_PLAYER1 )
2315 
2316 	PORT_START	/* IN3 - $21000a*/
2317 	PORT_BIT(  0x0001, IP_ACTIVE_LOW, IPT_START2 )
2318 	PORT_BIT(  0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN )
2319 	PORT_BIT(  0x0004, IP_ACTIVE_LOW, IPT_BUTTON2        | IPF_PLAYER2 )
2320 	PORT_BIT(  0x0008, IP_ACTIVE_LOW, IPT_BUTTON1        | IPF_PLAYER2 )
2321 	PORT_BIT(  0x0010, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER2 )
2322 	PORT_BIT(  0x0020, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_PLAYER2 )
2323 	PORT_BIT(  0x0040, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_PLAYER2 )
2324 	PORT_BIT(  0x0080, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_PLAYER2 )
2325 
2326 	PORT_START	/* IN4 - $21000c*/
2327 	PORT_BIT_IMPULSE( 0x0001, IP_ACTIVE_LOW, IPT_COIN1, 10 )
2328 	PORT_BIT_IMPULSE( 0x0002, IP_ACTIVE_LOW, IPT_COIN2, 10 )
2329 	PORT_BIT(  0x0004, IP_ACTIVE_LOW, IPT_SERVICE1 )
2330 	PORT_BIT(  0x0008, IP_ACTIVE_LOW, IPT_TILT     )
2331 	PORT_BIT(  0x00f0, IP_ACTIVE_LOW, IPT_UNKNOWN  )
2332 INPUT_PORTS_END
2333 
2334 
2335 /***************************************************************************
2336 								Survival Arts
2337 ***************************************************************************/
2338 
2339 INPUT_PORTS_START( survarts )
2340 	PORT_START	/* IN0 - $210002*/
2341 	PORT_DIPNAME( 0x000f, 0x000f, DEF_STR( Coin_A ) ) /* Verified Defualt is 2 coins 1 Credit*/
2342 	PORT_DIPSETTING(      0x0007, DEF_STR( 4C_1C ) )
2343 	PORT_DIPSETTING(      0x0008, DEF_STR( 3C_1C ) )
2344 	PORT_DIPSETTING(      0x0009, DEF_STR( 2C_1C ) )
2345 /*	PORT_DIPSETTING(      0x0000, DEF_STR( 2C_1C ) ) */ /* 2 Credits Start, 1 to continue*/
2346 	PORT_DIPSETTING(      0x000f, DEF_STR( 1C_1C ) )
2347 	PORT_DIPSETTING(      0x0006, DEF_STR( 2C_3C ) )
2348 	PORT_DIPSETTING(      0x000e, DEF_STR( 1C_2C ) )
2349 	PORT_DIPSETTING(      0x000d, DEF_STR( 1C_3C ) )
2350 	PORT_DIPSETTING(      0x000c, DEF_STR( 1C_4C ) )
2351 	PORT_DIPSETTING(      0x000b, DEF_STR( 1C_5C ) )
2352 	PORT_DIPSETTING(      0x000a, DEF_STR( 1C_6C ) )
2353 /* "** ADDED MULTIPLE COIN FEATURE **"*/
2354 	PORT_DIPSETTING(      0x0005, "Multiple Coin Feature A" )
2355 /* 2c-1c, 4c-2c, 5c-3c & 6c-4c*/
2356 	PORT_DIPSETTING(      0x0004, "Multiple Coin Feature B" )
2357 /* 2c-1c, 4c-3c*/
2358 	PORT_DIPSETTING(      0x0003, "Multiple Coin Feature C" )
2359 /* 1c-1c, 2c-2c, 3c-3c, 4c-4c, 5c-6c*/
2360 	PORT_DIPSETTING(      0x0002, "Multiple Coin Feature D" )
2361 /* 1c-1c, 2c-2c, 3c-3c & 4c-5c*/
2362 	PORT_DIPNAME( 0x00f0, 0x00f0, DEF_STR( Coin_B ) ) /* Verified Defualt is 2 coins 1 Credit*/
2363 	PORT_DIPSETTING(      0x0070, DEF_STR( 4C_1C ) )
2364 	PORT_DIPSETTING(      0x0080, DEF_STR( 3C_1C ) )
2365 	PORT_DIPSETTING(      0x0090, DEF_STR( 2C_1C ) )
2366 /*	PORT_DIPSETTING(      0x0000, DEF_STR( 2C_1C ) ) */ /* 2 Credits Start, 1 to continue*/
2367 	PORT_DIPSETTING(      0x00f0, DEF_STR( 1C_1C ) )
2368 	PORT_DIPSETTING(      0x0060, DEF_STR( 2C_3C ) )
2369 	PORT_DIPSETTING(      0x00e0, DEF_STR( 1C_2C ) )
2370 	PORT_DIPSETTING(      0x00d0, DEF_STR( 1C_3C ) )
2371 	PORT_DIPSETTING(      0x00c0, DEF_STR( 1C_4C ) )
2372 	PORT_DIPSETTING(      0x00b0, DEF_STR( 1C_5C ) )
2373 	PORT_DIPSETTING(      0x00a0, DEF_STR( 1C_6C ) )
2374 /* "** ADDED MULTIPLE COIN FEATURE **"*/
2375 	PORT_DIPSETTING(      0x0050, "Multiple Coin Feature A" )
2376 /* 2c-1c, 4c-2c, 5c-3c & 6c-4c*/
2377 	PORT_DIPSETTING(      0x0040, "Multiple Coin Feature B" )
2378 /* 2c-1c, 4c-3c*/
2379 	PORT_DIPSETTING(      0x0030, "Multiple Coin Feature C" )
2380 /* 1c-1c, 2c-2c, 3c-3c, 4c-4c, 5c-6c*/
2381 	PORT_DIPSETTING(      0x0020, "Multiple Coin Feature D" )
2382 /* 1c-1c, 2c-2c, 3c-3c & 4c-5c*/
2383 
2384 	PORT_START	/* IN1 - $210004*/
2385 	PORT_DIPNAME( 0x0001, 0x0001, DEF_STR( Flip_Screen ) )
2386 	PORT_DIPSETTING(      0x0001, DEF_STR( Off ) )
2387 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
2388 	PORT_DIPNAME( 0x0002, 0x0000, DEF_STR( Demo_Sounds ) )
2389 	PORT_DIPSETTING(      0x0002, DEF_STR( Off ) )
2390 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
2391 	PORT_DIPNAME( 0x0004, 0x0004, "Timer Speed" )
2392 	PORT_DIPSETTING(      0x0004, "Normal" )
2393 	PORT_DIPSETTING(      0x0000, "Fast" )
2394 	PORT_DIPNAME( 0x0008, 0x0008, "Damage Level" )
2395 	PORT_DIPSETTING(      0x0008, "Normal" )
2396 	PORT_DIPSETTING(      0x0000, "High" )
2397 	PORT_DIPNAME( 0x0030, 0x0030, DEF_STR( Difficulty ) )
2398 	PORT_DIPSETTING(      0x0020, "Easy" )
2399 	PORT_DIPSETTING(      0x0030, "Normal" )
2400 	PORT_DIPSETTING(      0x0010, "Hard" )
2401 	PORT_DIPSETTING(      0x0000, "Hardest" )
2402 	PORT_DIPNAME( 0x00c0, 0x0000, "Fatal Damage" )
2403 	PORT_DIPSETTING(      0x00c0, "Light" )
2404 	PORT_DIPSETTING(      0x0040, "Normal" )
2405 	PORT_DIPSETTING(      0x0080, "Heavy" )
2406 	PORT_DIPSETTING(      0x0000, "Heaviest" )
2407 
2408 	PORT_START	/* IN2 - $210008*/
2409 	PORT_BIT(  0x0001, IP_ACTIVE_LOW, IPT_START1 )
2410 	PORT_BIT(  0x0002, IP_ACTIVE_LOW, IPT_BUTTON3        | IPF_PLAYER1 )
2411 	PORT_BIT(  0x0004, IP_ACTIVE_LOW, IPT_BUTTON2        | IPF_PLAYER1 )
2412 	PORT_BIT(  0x0008, IP_ACTIVE_LOW, IPT_BUTTON1        | IPF_PLAYER1 )
2413 	PORT_BIT(  0x0010, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER1 )
2414 	PORT_BIT(  0x0020, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_PLAYER1 )
2415 	PORT_BIT(  0x0040, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_PLAYER1 )
2416 	PORT_BIT(  0x0080, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_PLAYER1 )
2417 
2418 	PORT_START	/* IN3 - $21000a*/
2419 	PORT_BIT(  0x0001, IP_ACTIVE_LOW, IPT_START2 )
2420 	PORT_BIT(  0x0002, IP_ACTIVE_LOW, IPT_BUTTON3        | IPF_PLAYER2 )
2421 	PORT_BIT(  0x0004, IP_ACTIVE_LOW, IPT_BUTTON2        | IPF_PLAYER2 )
2422 	PORT_BIT(  0x0008, IP_ACTIVE_LOW, IPT_BUTTON1        | IPF_PLAYER2 )
2423 	PORT_BIT(  0x0010, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER2 )
2424 	PORT_BIT(  0x0020, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_PLAYER2 )
2425 	PORT_BIT(  0x0040, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_PLAYER2 )
2426 	PORT_BIT(  0x0080, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_PLAYER2 )
2427 
2428 	PORT_START	/* IN4 - $21000c*/
2429 	PORT_BIT_IMPULSE( 0x0001, IP_ACTIVE_LOW, IPT_COIN1, 10 )
2430 	PORT_BIT_IMPULSE( 0x0002, IP_ACTIVE_LOW, IPT_COIN2, 10 )
2431 	PORT_BIT(  0x0004, IP_ACTIVE_LOW,  IPT_SERVICE1 )
2432 	PORT_BIT(  0x0008, IP_ACTIVE_LOW,  IPT_TILT     )
2433 	PORT_BIT(  0x00f0, IP_ACTIVE_LOW,  IPT_UNKNOWN  )
2434 
2435 	PORT_START	/* IN5 - $500008*/
2436 	PORT_BIT(  0x0001, IP_ACTIVE_LOW, IPT_BUTTON4 | IPF_PLAYER1 )
2437 	PORT_BIT(  0x0002, IP_ACTIVE_LOW, IPT_BUTTON5 | IPF_PLAYER1 )
2438 	PORT_BIT(  0x0004, IP_ACTIVE_LOW, IPT_BUTTON6 | IPF_PLAYER1 )
2439 	PORT_BIT(  0x0008, IP_ACTIVE_LOW, IPT_UNKNOWN )
2440 	PORT_BIT(  0x0010, IP_ACTIVE_LOW, IPT_BUTTON4 | IPF_PLAYER2 )
2441 	PORT_BIT(  0x0020, IP_ACTIVE_LOW, IPT_BUTTON5 | IPF_PLAYER2 )
2442 	PORT_BIT(  0x0040, IP_ACTIVE_LOW, IPT_BUTTON6 | IPF_PLAYER2 )
2443 	PORT_BIT(  0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
2444 INPUT_PORTS_END
2445 
2446 /***************************************************************************
2447   Dyna Gears
2448 ***************************************************************************/
2449 
2450 INPUT_PORTS_START( dynagear )
2451 	PORT_START
2452 	PORT_DIPNAME( 0x0001, 0x0001, "0" )
2453 	PORT_DIPSETTING(      0x0001, DEF_STR( Off ) )
2454 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
2455 	PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Unknown ) )
2456 	PORT_DIPSETTING(      0x0002, DEF_STR( Off ) )
2457 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
2458 	PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Unknown ) )
2459 	PORT_DIPSETTING(      0x0004, DEF_STR( Off ) )
2460 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
2461 	PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Unknown ) )
2462 	PORT_DIPSETTING(      0x0008, DEF_STR( Off ) )
2463 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
2464 	PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Unknown ) )
2465 	PORT_DIPSETTING(      0x0010, DEF_STR( Off ) )
2466 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
2467 	PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Unknown ) )
2468 	PORT_DIPSETTING(      0x0020, DEF_STR( Off ) )
2469 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
2470 	PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Unknown ) )
2471 	PORT_DIPSETTING(      0x0040, DEF_STR( Off ) )
2472 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
2473 	PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unknown ) )
2474 	PORT_DIPSETTING(      0x0080, DEF_STR( Off ) )
2475 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
2476 	PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Unknown ) )
2477 	PORT_DIPSETTING(      0x0100, DEF_STR( Off ) )
2478 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
2479 	PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Unknown ) )
2480 	PORT_DIPSETTING(      0x0200, DEF_STR( Off ) )
2481 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
2482 	PORT_DIPNAME( 0x0400, 0x0400, DEF_STR( Unknown ) )
2483 	PORT_DIPSETTING(      0x0400, DEF_STR( Off ) )
2484 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
2485 	PORT_DIPNAME( 0x0800, 0x0800, DEF_STR( Unknown ) )
2486 	PORT_DIPSETTING(      0x0800, DEF_STR( Off ) )
2487 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
2488 	PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Unknown ) )
2489 	PORT_DIPSETTING(      0x1000, DEF_STR( Off ) )
2490 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
2491 	PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Unknown ) )
2492 	PORT_DIPSETTING(      0x2000, DEF_STR( Off ) )
2493 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
2494 	PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Unknown ) )
2495 	PORT_DIPSETTING(      0x4000, DEF_STR( Off ) )
2496 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
2497 	PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Unknown ) )
2498 	PORT_DIPSETTING(      0x8000, DEF_STR( Off ) )
2499 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
2500 
2501 	PORT_START
2502 	PORT_DIPNAME( 0x0001, 0x0001, "1" )
2503 	PORT_DIPSETTING(      0x0001, DEF_STR( Off ) )
2504 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
2505 	PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Unknown ) )
2506 	PORT_DIPSETTING(      0x0002, DEF_STR( Off ) )
2507 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
2508 	PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Unknown ) )
2509 	PORT_DIPSETTING(      0x0004, DEF_STR( Off ) )
2510 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
2511 	PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Unknown ) )
2512 	PORT_DIPSETTING(      0x0008, DEF_STR( Off ) )
2513 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
2514 	PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Unknown ) )
2515 	PORT_DIPSETTING(      0x0010, DEF_STR( Off ) )
2516 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
2517 	PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Unknown ) )
2518 	PORT_DIPSETTING(      0x0020, DEF_STR( Off ) )
2519 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
2520 	PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Unknown ) )
2521 	PORT_DIPSETTING(      0x0040, DEF_STR( Off ) )
2522 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
2523 	PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unknown ) )
2524 	PORT_DIPSETTING(      0x0080, DEF_STR( Off ) )
2525 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
2526 	PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Unknown ) )
2527 	PORT_DIPSETTING(      0x0100, DEF_STR( Off ) )
2528 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
2529 	PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Unknown ) )
2530 	PORT_DIPSETTING(      0x0200, DEF_STR( Off ) )
2531 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
2532 	PORT_DIPNAME( 0x0400, 0x0400, DEF_STR( Unknown ) )
2533 	PORT_DIPSETTING(      0x0400, DEF_STR( Off ) )
2534 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
2535 	PORT_DIPNAME( 0x0800, 0x0800, DEF_STR( Unknown ) )
2536 	PORT_DIPSETTING(      0x0800, DEF_STR( Off ) )
2537 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
2538 	PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Unknown ) )
2539 	PORT_DIPSETTING(      0x1000, DEF_STR( Off ) )
2540 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
2541 	PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Unknown ) )
2542 	PORT_DIPSETTING(      0x2000, DEF_STR( Off ) )
2543 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
2544 	PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Unknown ) )
2545 	PORT_DIPSETTING(      0x4000, DEF_STR( Off ) )
2546 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
2547 	PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Unknown ) )
2548 	PORT_DIPSETTING(      0x8000, DEF_STR( Off ) )
2549 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
2550 
2551 	PORT_START	/* IN2 - $210008*/
2552 	PORT_BIT(  0x0001, IP_ACTIVE_LOW, IPT_START1 )
2553 	PORT_BIT(  0x0002, IP_ACTIVE_LOW, IPT_BUTTON3        | IPF_PLAYER1 )
2554 	PORT_BIT(  0x0004, IP_ACTIVE_LOW, IPT_BUTTON2        | IPF_PLAYER1 )
2555 	PORT_BIT(  0x0008, IP_ACTIVE_LOW, IPT_BUTTON1        | IPF_PLAYER1 )
2556 	PORT_BIT(  0x0010, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER1 )
2557 	PORT_BIT(  0x0020, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_PLAYER1 )
2558 	PORT_BIT(  0x0040, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_PLAYER1 )
2559 	PORT_BIT(  0x0080, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_PLAYER1 )
2560 
2561 	PORT_START	/* IN3 - $21000a*/
2562 	PORT_BIT(  0x0001, IP_ACTIVE_LOW, IPT_START2 )
2563 	PORT_BIT(  0x0002, IP_ACTIVE_LOW, IPT_BUTTON3        | IPF_PLAYER2 )
2564 	PORT_BIT(  0x0004, IP_ACTIVE_LOW, IPT_BUTTON2        | IPF_PLAYER2 )
2565 	PORT_BIT(  0x0008, IP_ACTIVE_LOW, IPT_BUTTON1        | IPF_PLAYER2 )
2566 	PORT_BIT(  0x0010, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER2 )
2567 	PORT_BIT(  0x0020, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_PLAYER2 )
2568 	PORT_BIT(  0x0040, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_PLAYER2 )
2569 	PORT_BIT(  0x0080, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_PLAYER2 )
2570 
2571 	PORT_START	/* IN4 - $21000c*/
2572 	PORT_BIT_IMPULSE( 0x0001, IP_ACTIVE_LOW, IPT_COIN1, 10 )
2573 	PORT_BIT_IMPULSE( 0x0002, IP_ACTIVE_LOW, IPT_COIN2, 10 )
2574 	PORT_BIT(  0x0004, IP_ACTIVE_LOW,  IPT_SERVICE1 )
2575 	PORT_BIT(  0x0008, IP_ACTIVE_LOW,  IPT_TILT     )
2576 	PORT_BIT(  0x00f0, IP_ACTIVE_LOW,  IPT_UNKNOWN  )
2577 INPUT_PORTS_END
2578 
2579 /***************************************************************************
2580 							Pachinko Sexy Reaction
2581 ***************************************************************************/
2582 
2583 INPUT_PORTS_START( sxyreact )
2584 	PORT_START	/* IN0 - $210002*/
2585 	PORT_DIPNAME( 0x0007, 0x0007, DEF_STR( Coinage ) )
2586 	PORT_DIPSETTING(      0x0005, DEF_STR( 3C_1C ) )
2587 	PORT_DIPSETTING(      0x0006, DEF_STR( 2C_1C ) )
2588 	PORT_DIPSETTING(      0x0007, DEF_STR( 1C_1C ) )
2589 	PORT_DIPSETTING(      0x0004, DEF_STR( 1C_2C ) )
2590 	PORT_DIPSETTING(      0x0003, DEF_STR( 1C_3C ) )
2591 	PORT_DIPSETTING(      0x0002, DEF_STR( 1C_4C ) )
2592 	PORT_DIPSETTING(      0x0001, DEF_STR( 1C_5C ) )
2593 	PORT_DIPSETTING(      0x0000, DEF_STR( 1C_6C ) )
2594 	PORT_BIT(     0x0038, IP_ACTIVE_LOW, IPT_UNUSED )
2595 /*	PORT_DIPNAME( 0x0038, 0x0038, DEF_STR( Coin_B ) )*/
2596 /*	PORT_DIPSETTING(      0x0028, DEF_STR( 3C_1C ) )*/
2597 /*	PORT_DIPSETTING(      0x0030, DEF_STR( 2C_1C ) )*/
2598 /*	PORT_DIPSETTING(      0x0038, DEF_STR( 1C_1C ) )*/
2599 /*	PORT_DIPSETTING(      0x0020, DEF_STR( 1C_2C ) )*/
2600 /*	PORT_DIPSETTING(      0x0018, DEF_STR( 1C_3C ) )*/
2601 /*	PORT_DIPSETTING(      0x0010, DEF_STR( 1C_4C ) )*/
2602 /*	PORT_DIPSETTING(      0x0008, DEF_STR( 1C_5C ) )*/
2603 /*	PORT_DIPSETTING(      0x0000, DEF_STR( 1C_6C ) )*/
2604 	PORT_DIPNAME( 0x0040, 0x0040, "Credits To Play" )
2605 	PORT_DIPSETTING(      0x0040, "1" )
2606 	PORT_DIPSETTING(      0x0000, "2" )
2607 	PORT_DIPNAME( 0x0080, 0x0080, "Buy Balls With Credits" )	/* press start*/
2608 	PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
2609 	PORT_DIPSETTING(      0x0080, DEF_STR( On ) )
2610 
2611 	PORT_START	/* IN1 - $210004*/
2612 	PORT_DIPNAME( 0x0001, 0x0001, DEF_STR( Flip_Screen ) )
2613 	PORT_DIPSETTING(      0x0001, DEF_STR( Off ) )
2614 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
2615 	PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Demo_Sounds ) )
2616 	PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
2617 	PORT_DIPSETTING(      0x0002, DEF_STR( On ) )
2618 	PORT_DIPNAME( 0x000c, 0x000c, "Difficulty?" )
2619 	PORT_DIPSETTING(      0x0008, "Easy?" )
2620 	PORT_DIPSETTING(      0x000c, "Normal?" )
2621 	PORT_DIPSETTING(      0x0004, "Hard?" )
2622 	PORT_DIPSETTING(      0x0000, "Hardest?" )
2623 	PORT_DIPNAME( 0x0010, 0x0010, "Controls" )
2624 	PORT_DIPSETTING(      0x0010, "Dial" )
2625 	PORT_DIPSETTING(      0x0000, "Joystick" )
2626 	PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Free_Play ) )
2627 	PORT_DIPSETTING(      0x0020, DEF_STR( Off ) )
2628 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
2629 	PORT_SERVICE( 0x0040, IP_ACTIVE_LOW )
2630 	PORT_DIPNAME( 0x0080, 0x0080, "Unknown 2-7" )
2631 	PORT_DIPSETTING(      0x0080, DEF_STR( Off ) )
2632 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
2633 
2634 	PORT_START	/* IN2 - $210008*/
2635 	PORT_BIT(  0x0001, IP_ACTIVE_LOW, IPT_START1 )
2636 	PORT_BIT(  0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN )
2637 	PORT_BIT(  0x0004, IP_ACTIVE_LOW, IPT_BUTTON2        | IPF_PLAYER1 )	/* -> ball sensor on*/
2638 	PORT_BIT(  0x0008, IP_ACTIVE_LOW, IPT_BUTTON1        | IPF_PLAYER1 )
2639 	PORT_BIT(  0x0010, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER1 | IPF_2WAY )
2640 	PORT_BIT(  0x0020, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_PLAYER1 | IPF_2WAY )
2641 	PORT_BIT(  0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
2642 	PORT_BIT(  0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
2643 
2644 	PORT_START	/* IN3 - $21000a*/
2645 	PORT_BIT(  0x00ff, IP_ACTIVE_LOW, IPT_UNKNOWN )	/* (player 2, only shown in test mode)*/
2646 
2647 	PORT_START	/* IN4 - $21000c*/
2648 	PORT_BIT_IMPULSE( 0x0001, IP_ACTIVE_LOW, IPT_COIN1, 10 )
2649 	PORT_BIT(  0x0002, IP_ACTIVE_LOW, IPT_UNUSED   )
2650 	PORT_BIT(  0x0004, IP_ACTIVE_LOW, IPT_SERVICE1 )
2651 	PORT_BIT(  0x0008, IP_ACTIVE_LOW, IPT_TILT     )
2652 	PORT_BITX( 0x0010, IP_ACTIVE_LOW, IPT_SERVICE, "Test Advance", KEYCODE_F1, IP_JOY_DEFAULT )
2653 	PORT_BIT(  0x00e0, IP_ACTIVE_LOW, IPT_UNKNOWN  )
2654 
2655 	PORT_START	/* IN5 - $500002*/
2656 	PORT_BIT(  0x0001, IP_ACTIVE_HIGH,  IPT_SERVICE2 )	/* ball switch on -> handle motor off*/
2657 
2658 	PORT_START	/* IN6 - $500004*/
2659 	PORT_ANALOGX( 0xff, 0x00, IPT_PADDLE, 15, 15, 0, 0xcf, KEYCODE_N, KEYCODE_M, 0, 0 )
2660 INPUT_PORTS_END
2661 
2662 
2663 /***************************************************************************
2664 								Twin Eagle II
2665 ***************************************************************************/
2666 
2667 INPUT_PORTS_START( twineag2 )
2668 	PORT_START	/* IN0 - $210002*/
2669 	PORT_DIPNAME( 0x000f, 0x000f, DEF_STR( Coin_A ) ) /* No values listed for all "ON"*/
2670 	PORT_DIPSETTING(      0x0007, DEF_STR( 4C_1C ) )
2671 	PORT_DIPSETTING(      0x0008, DEF_STR( 3C_1C ) )
2672 	PORT_DIPSETTING(      0x0009, DEF_STR( 2C_1C ) )
2673 	PORT_DIPSETTING(      0x000f, DEF_STR( 1C_1C ) )
2674 	PORT_DIPSETTING(      0x0006, DEF_STR( 2C_3C ) )
2675 	PORT_DIPSETTING(      0x000e, DEF_STR( 1C_2C ) )
2676 	PORT_DIPSETTING(      0x000d, DEF_STR( 1C_3C ) )
2677 	PORT_DIPSETTING(      0x000c, DEF_STR( 1C_4C ) )
2678 	PORT_DIPSETTING(      0x000b, DEF_STR( 1C_5C ) )
2679 	PORT_DIPSETTING(      0x000a, DEF_STR( 1C_6C ) )
2680 /* "** ADDED MULTIPLE COIN FEATURE **"*/
2681 	PORT_DIPSETTING(      0x0005, "Multiple Coin Feature A" )
2682 /* 2c-1c, 4c-2c, 5c-3c & 6c-4c*/
2683 	PORT_DIPSETTING(      0x0004, "Multiple Coin Feature B" )
2684 /* 2c-1c, 4c-3c*/
2685 	PORT_DIPSETTING(      0x0003, "Multiple Coin Feature C" )
2686 /* 1c-1c, 2c-2c, 3c-3c, 4c-4c, 5c-6c*/
2687 	PORT_DIPSETTING(      0x0002, "Multiple Coin Feature D" )
2688 /* 1c-1c, 2c-2c, 3c-3c & 4c-5c*/
2689 	PORT_DIPSETTING(      0x0001, "Multiple Coin Feature E" )
2690 /* 1c-1c, 2c-3c*/
2691 	PORT_DIPNAME( 0x00f0, 0x00f0, DEF_STR( Coin_B ) ) /* No values listed for all "ON"*/
2692 	PORT_DIPSETTING(      0x0070, DEF_STR( 4C_1C ) )
2693 	PORT_DIPSETTING(      0x0080, DEF_STR( 3C_1C ) )
2694 	PORT_DIPSETTING(      0x0090, DEF_STR( 2C_1C ) )
2695 	PORT_DIPSETTING(      0x00f0, DEF_STR( 1C_1C ) )
2696 	PORT_DIPSETTING(      0x0060, DEF_STR( 2C_3C ) )
2697 	PORT_DIPSETTING(      0x00e0, DEF_STR( 1C_2C ) )
2698 	PORT_DIPSETTING(      0x00d0, DEF_STR( 1C_3C ) )
2699 	PORT_DIPSETTING(      0x00c0, DEF_STR( 1C_4C ) )
2700 	PORT_DIPSETTING(      0x00b0, DEF_STR( 1C_5C ) )
2701 	PORT_DIPSETTING(      0x00a0, DEF_STR( 1C_6C ) )
2702 /* "** ADDED MULTIPLE COIN FEATURE **"*/
2703 	PORT_DIPSETTING(      0x0050, "Multiple Coin Feature A" )
2704 /* 2c-1c, 4c-2c, 5c-3c & 6c-4c*/
2705 	PORT_DIPSETTING(      0x0040, "Multiple Coin Feature B" )
2706 /* 2c-1c, 4c-3c*/
2707 	PORT_DIPSETTING(      0x0030, "Multiple Coin Feature C" )
2708 /* 1c-1c, 2c-2c, 3c-3c, 4c-4c, 5c-6c*/
2709 	PORT_DIPSETTING(      0x0020, "Multiple Coin Feature D" )
2710 /* 1c-1c, 2c-2c, 3c-3c & 4c-5c*/
2711 	PORT_DIPSETTING(      0x0010, "Multiple Coin Feature E" )
2712 /* 1c-1c, 2c-3c*/
2713 
2714 	PORT_START	/* IN1 - $210004*/
2715 	PORT_DIPNAME( 0x0007, 0x0007, DEF_STR( Difficulty ) )
2716 	PORT_DIPSETTING(      0x0006, "Easiest" )
2717 	PORT_DIPSETTING(      0x0005, "Easier" )
2718 	PORT_DIPSETTING(      0x0004, "Easy" )
2719 	PORT_DIPSETTING(      0x0007, "Normal" )
2720 	PORT_DIPSETTING(      0x0003, "Medium" )
2721 	PORT_DIPSETTING(      0x0002, "Hard" )
2722 	PORT_DIPSETTING(      0x0001, "Harder" )
2723 	PORT_DIPSETTING(      0x0000, "Hardest" )
2724 	PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Free_Play ) )
2725 	PORT_DIPSETTING(      0x0008, DEF_STR( Off ) )
2726 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
2727 	PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Lives ) )
2728 	PORT_DIPSETTING(      0x0000, "2" )
2729 	PORT_DIPSETTING(      0x0010, "3" )
2730 	PORT_DIPNAME( 0x0020, 0x0020, "Freeze" )
2731 	PORT_DIPSETTING(      0x0020, DEF_STR( Off ) )
2732 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
2733 	PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Flip_Screen ) )
2734 	PORT_DIPSETTING(      0x0040, DEF_STR( Off ) )
2735 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
2736 	PORT_SERVICE( 0x0080, IP_ACTIVE_LOW )
2737 
2738 	PORT_START	/* IN2 - $210008*/
2739 	PORT_BIT(  0x0001, IP_ACTIVE_LOW, IPT_START1 )
2740 	PORT_BIT(  0x0002, IP_ACTIVE_LOW, IPT_BUTTON3        | IPF_PLAYER1 )
2741 	PORT_BIT(  0x0004, IP_ACTIVE_LOW, IPT_BUTTON2        | IPF_PLAYER1 )
2742 	PORT_BIT(  0x0008, IP_ACTIVE_LOW, IPT_BUTTON1        | IPF_PLAYER1 )
2743 	PORT_BIT(  0x0010, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER1 )
2744 	PORT_BIT(  0x0020, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_PLAYER1 )
2745 	PORT_BIT(  0x0040, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_PLAYER1 )
2746 	PORT_BIT(  0x0080, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_PLAYER1 )
2747 
2748 	PORT_START	/* IN3 - $21000a*/
2749 	PORT_BIT(  0x0001, IP_ACTIVE_LOW, IPT_START2 )
2750 	PORT_BIT(  0x0002, IP_ACTIVE_LOW, IPT_BUTTON3        | IPF_PLAYER2 )
2751 	PORT_BIT(  0x0004, IP_ACTIVE_LOW, IPT_BUTTON2        | IPF_PLAYER2 )
2752 	PORT_BIT(  0x0008, IP_ACTIVE_LOW, IPT_BUTTON1        | IPF_PLAYER2 )
2753 	PORT_BIT(  0x0010, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER2 )
2754 	PORT_BIT(  0x0020, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_PLAYER2 )
2755 	PORT_BIT(  0x0040, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_PLAYER2 )
2756 	PORT_BIT(  0x0080, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_PLAYER2 )
2757 
2758 	PORT_START	/* IN4 - $21000c*/
2759 	PORT_BIT_IMPULSE( 0x0001, IP_ACTIVE_LOW, IPT_COIN1, 10 )
2760 	PORT_BIT_IMPULSE( 0x0002, IP_ACTIVE_LOW, IPT_COIN2, 10 )
2761 	PORT_BIT(  0x0004, IP_ACTIVE_LOW,  IPT_SERVICE1 )
2762 
2763 	PORT_BIT(  0x0008, IP_ACTIVE_LOW,  IPT_SERVICE2 )
2764 	PORT_BITX( 0x0010, IP_ACTIVE_LOW, IPT_SERVICE, "Test Advance", KEYCODE_F1, IP_JOY_DEFAULT )
2765 	PORT_BIT(  0x0020, IP_ACTIVE_LOW,  IPT_SERVICE4 )
2766 	PORT_BIT(  0x0040, IP_ACTIVE_LOW,  IPT_START3 )
2767 	PORT_BIT(  0x0080, IP_ACTIVE_LOW,  IPT_START4 )
2768 INPUT_PORTS_END
2769 
2770 
2771 /***************************************************************************
2772 								Ultra X
2773 ***************************************************************************/
2774 
2775 INPUT_PORTS_START( ultrax )
2776 	PORT_START	/* IN0 - $210002*/
2777 	PORT_DIPNAME( 0x000f, 0x000f, DEF_STR( Coin_A ) )
2778 	PORT_DIPSETTING(      0x0008, DEF_STR( 3C_1C ) )
2779 	PORT_DIPSETTING(      0x0009, DEF_STR( 2C_1C ) )
2780 	PORT_DIPSETTING(      0x000f, DEF_STR( 1C_1C ) )
2781 	PORT_DIPSETTING(      0x000e, DEF_STR( 1C_2C ) )
2782 	PORT_DIPSETTING(      0x000d, DEF_STR( 1C_3C ) )
2783 	PORT_DIPSETTING(      0x000c, DEF_STR( 1C_4C ) )
2784 	PORT_DIPSETTING(      0x000b, DEF_STR( 1C_5C ) )
2785 	PORT_DIPSETTING(      0x000a, DEF_STR( 1C_6C ) )
2786 	PORT_DIPNAME( 0x00f0, 0x00f0, DEF_STR( Coin_B ) )
2787 	PORT_DIPSETTING(      0x0080, DEF_STR( 3C_1C ) )
2788 	PORT_DIPSETTING(      0x0090, DEF_STR( 2C_1C ) )
2789 	PORT_DIPSETTING(      0x00f0, DEF_STR( 1C_1C ) )
2790 	PORT_DIPSETTING(      0x00e0, DEF_STR( 1C_2C ) )
2791 	PORT_DIPSETTING(      0x00d0, DEF_STR( 1C_3C ) )
2792 	PORT_DIPSETTING(      0x00c0, DEF_STR( 1C_4C ) )
2793 	PORT_DIPSETTING(      0x00b0, DEF_STR( 1C_5C ) )
2794 	PORT_DIPSETTING(      0x00a0, DEF_STR( 1C_6C ) )
2795 
2796 	PORT_START	/* IN1 - $210004*/
2797 	PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Difficulty ) )
2798 	PORT_DIPSETTING(      0x0002, "Easy"	)	/*$140*/
2799 	PORT_DIPSETTING(      0x0003, "Normal"	)	/*$190*/
2800 	PORT_DIPSETTING(      0x0001, "Hard"	)	/*$200*/
2801 	PORT_DIPSETTING(      0x0000, "Hardest"	)	/*$300*/
2802 	PORT_DIPNAME( 0x0014, 0x0004, "Country" )
2803 	PORT_DIPSETTING(      0x0000, "China" )
2804 	PORT_DIPSETTING(      0x0014, "Japan" )
2805 /*	PORT_DIPSETTING(      0x0010, "Japan" )*/
2806 	PORT_DIPSETTING(      0x0004, "World" )
2807 	PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Free_Play ) )
2808 	PORT_DIPSETTING(      0x0008, DEF_STR( Off ) )
2809 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
2810 	/* country            0x0010*/
2811 	PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Demo_Sounds ) )
2812 	PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
2813 	PORT_DIPSETTING(      0x0020, DEF_STR( On ) )
2814 	PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Flip_Screen ) )
2815 	PORT_DIPSETTING(      0x0040, DEF_STR( Off ) )
2816 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
2817 	PORT_SERVICE( 0x0080, IP_ACTIVE_LOW )
2818 
2819 	PORT_START	/* IN2 - $210008*/
2820 	PORT_BIT(  0x0001, IP_ACTIVE_LOW, IPT_START1 )
2821 	PORT_BIT(  0x0002, IP_ACTIVE_LOW, IPT_BUTTON3        | IPF_PLAYER1 )
2822 	PORT_BIT(  0x0004, IP_ACTIVE_LOW, IPT_BUTTON2        | IPF_PLAYER1 )
2823 	PORT_BIT(  0x0008, IP_ACTIVE_LOW, IPT_BUTTON1        | IPF_PLAYER1 )
2824 	PORT_BIT(  0x0010, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER1 )
2825 	PORT_BIT(  0x0020, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_PLAYER1 )
2826 	PORT_BIT(  0x0040, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_PLAYER1 )
2827 	PORT_BIT(  0x0080, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_PLAYER1 )
2828 
2829 	PORT_START	/* IN3 - $21000a*/
2830 	PORT_BIT(  0x0001, IP_ACTIVE_LOW, IPT_START2 )
2831 	PORT_BIT(  0x0002, IP_ACTIVE_LOW, IPT_BUTTON3        | IPF_PLAYER2 )
2832 	PORT_BIT(  0x0004, IP_ACTIVE_LOW, IPT_BUTTON2        | IPF_PLAYER2 )
2833 	PORT_BIT(  0x0008, IP_ACTIVE_LOW, IPT_BUTTON1        | IPF_PLAYER2 )
2834 	PORT_BIT(  0x0010, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER2 )
2835 	PORT_BIT(  0x0020, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_PLAYER2 )
2836 	PORT_BIT(  0x0040, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_PLAYER2 )
2837 	PORT_BIT(  0x0080, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_PLAYER2 )
2838 
2839 	PORT_START	/* IN4 - $21000c*/
2840 	PORT_BIT_IMPULSE( 0x0001, IP_ACTIVE_LOW, IPT_COIN1, 10 )
2841 	PORT_BIT_IMPULSE( 0x0002, IP_ACTIVE_LOW, IPT_COIN2, 10 )
2842 	PORT_BIT(  0x0004, IP_ACTIVE_LOW, IPT_SERVICE1 )
2843 	PORT_BIT(  0x0008, IP_ACTIVE_LOW, IPT_TILT )
2844 	PORT_BITX( 0x0010, IP_ACTIVE_LOW, IPT_SERVICE, "Test Advance", KEYCODE_F1, IP_JOY_DEFAULT )
2845 	PORT_BIT(  0x00e0, IP_ACTIVE_LOW, IPT_UNKNOWN )
2846 INPUT_PORTS_END
2847 
2848 
2849 /***************************************************************************
2850 		                       Vasara
2851 ***************************************************************************/
2852 
2853 INPUT_PORTS_START( vasara )
2854 	PORT_START	/* IN0 - $210002*/
2855 	PORT_DIPNAME( 0x0001, 0x0001, DEF_STR( Free_Play )  )
2856 	PORT_DIPSETTING(      0x0001, DEF_STR( Off ) )
2857 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
2858 	PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Flip_Screen ) )
2859 	PORT_DIPSETTING(      0x0002, DEF_STR( Off ) )
2860 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
2861 	PORT_SERVICE( 0x0004, IP_ACTIVE_LOW )
2862 	PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Demo_Sounds ) )
2863 	PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
2864 	PORT_DIPSETTING(      0x0008, DEF_STR( On ) )
2865 	PORT_DIPNAME( 0x0030, 0x0030, DEF_STR( Coin_A ) )
2866 	PORT_DIPSETTING(      0x0010, DEF_STR( 2C_1C ) )
2867 	PORT_DIPSETTING(      0x0030, DEF_STR( 1C_1C ) )
2868 	PORT_DIPSETTING(      0x0000, DEF_STR( 2C_3C ) )
2869 	PORT_DIPSETTING(      0x0020, DEF_STR( 1C_2C ) )
2870 	PORT_DIPNAME( 0x00c0, 0x00c0, DEF_STR( Coin_B ) )
2871 	PORT_DIPSETTING(      0x0040, DEF_STR( 2C_1C ) )
2872 	PORT_DIPSETTING(      0x00c0, DEF_STR( 1C_1C ) )
2873 	PORT_DIPSETTING(      0x0000, DEF_STR( 2C_3C ) )
2874 	PORT_DIPSETTING(      0x0080, DEF_STR( 1C_2C ) )
2875 
2876 	PORT_START	/* IN1*/
2877 	PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Difficulty ) )
2878 	PORT_DIPSETTING(      0x0002, "Easy" )
2879 	PORT_DIPSETTING(      0x0003, "Normal" )
2880 	PORT_DIPSETTING(      0x0001, "Hard" )
2881 	PORT_DIPSETTING(      0x0000, "Hardest" )
2882 	PORT_DIPNAME( 0x000c, 0x000c, "Bomber Stock" )
2883 	PORT_DIPSETTING(      0x0000, "0" )
2884 	PORT_DIPSETTING(      0x0004, "1" )
2885 	PORT_DIPSETTING(      0x000c, "2" )
2886 	PORT_DIPSETTING(      0x0008, "3" )
2887 	PORT_DIPNAME( 0x0030, 0x0030, DEF_STR( Lives ))
2888 	PORT_DIPSETTING(      0x0000, "1" )
2889 	PORT_DIPSETTING(      0x0010, "2" )
2890 	PORT_DIPSETTING(      0x0030, "3" )
2891 	PORT_DIPSETTING(      0x0020, "5" )
2892 	PORT_DIPNAME( 0x0040, 0x0040, "Game Voice" )
2893 	PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
2894 	PORT_DIPSETTING(      0x0040, DEF_STR( On ) )
2895 	PORT_DIPNAME( 0x0080, 0x0000, "English Subtitles" )
2896 	PORT_DIPSETTING(      0x0080, DEF_STR( Off ) )
2897 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
2898 
2899 	PORT_START	/* IN2 - $210008*/
2900 	PORT_BIT(  0x0001, IP_ACTIVE_LOW, IPT_START1 )
2901 	PORT_BIT(  0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN )
2902 	PORT_BIT(  0x0004, IP_ACTIVE_LOW, IPT_BUTTON2        | IPF_PLAYER1 )
2903 	PORT_BIT(  0x0008, IP_ACTIVE_LOW, IPT_BUTTON1        | IPF_PLAYER1 )
2904 	PORT_BIT(  0x0010, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER1 )
2905 	PORT_BIT(  0x0020, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_PLAYER1 )
2906 	PORT_BIT(  0x0040, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_PLAYER1 )
2907 	PORT_BIT(  0x0080, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_PLAYER1 )
2908 
2909 	PORT_START	/* IN3 - $21000a*/
2910 	PORT_BIT(  0x0001, IP_ACTIVE_LOW, IPT_START2 )
2911 	PORT_BIT(  0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN )
2912 	PORT_BIT(  0x0004, IP_ACTIVE_LOW, IPT_BUTTON2        | IPF_PLAYER2 )
2913 	PORT_BIT(  0x0008, IP_ACTIVE_LOW, IPT_BUTTON1        | IPF_PLAYER2 )
2914 	PORT_BIT(  0x0010, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER2 )
2915 	PORT_BIT(  0x0020, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_PLAYER2 )
2916 	PORT_BIT(  0x0040, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_PLAYER2 )
2917 	PORT_BIT(  0x0080, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_PLAYER2 )
2918 
2919 	PORT_START	/* IN4 - $21000c*/
2920 	PORT_BIT_IMPULSE( 0x0001, IP_ACTIVE_LOW, IPT_COIN1, 10 )
2921 	PORT_BIT_IMPULSE( 0x0002, IP_ACTIVE_LOW, IPT_COIN2, 10 )
2922 	PORT_BIT(  0x0004, IP_ACTIVE_LOW, IPT_SERVICE1 )
2923 	PORT_BIT(  0x0008, IP_ACTIVE_LOW, IPT_TILT     )
2924 	PORT_BIT(  0x00f0, IP_ACTIVE_LOW, IPT_UNKNOWN  )
2925 INPUT_PORTS_END
2926 
2927 /***************************************************************************
2928 		                       Vasara 2
2929 ***************************************************************************/
2930 
2931 INPUT_PORTS_START( vasara2 )
2932 	PORT_START	/* IN0 - $210002*/
2933 	PORT_DIPNAME( 0x0001, 0x0001, DEF_STR( Free_Play )  )
2934 	PORT_DIPSETTING(      0x0001, DEF_STR( Off ) )
2935 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
2936 	PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Flip_Screen ) )
2937 	PORT_DIPSETTING(      0x0002, DEF_STR( Off ) )
2938 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
2939 	PORT_SERVICE( 0x0004, IP_ACTIVE_LOW )
2940 	PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Demo_Sounds ) )
2941 	PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
2942 	PORT_DIPSETTING(      0x0008, DEF_STR( On ) )
2943 	PORT_DIPNAME( 0x0030, 0x0030, DEF_STR( Coin_A ) )
2944 	PORT_DIPSETTING(      0x0010, DEF_STR( 2C_1C ) )
2945 	PORT_DIPSETTING(      0x0030, DEF_STR( 1C_1C ) )
2946 	PORT_DIPSETTING(      0x0000, DEF_STR( 2C_3C ) )
2947 	PORT_DIPSETTING(      0x0020, DEF_STR( 1C_2C ) )
2948 	PORT_DIPNAME( 0x00c0, 0x00c0, DEF_STR( Coin_B ) )
2949 	PORT_DIPSETTING(      0x0040, DEF_STR( 2C_1C ) )
2950 	PORT_DIPSETTING(      0x00c0, DEF_STR( 1C_1C ) )
2951 	PORT_DIPSETTING(      0x0000, DEF_STR( 2C_3C ) )
2952 	PORT_DIPSETTING(      0x0080, DEF_STR( 1C_2C ) )
2953 
2954 	PORT_START	/* IN1*/
2955 	PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Difficulty ) )
2956 	PORT_DIPSETTING(      0x0002, "Easy" )
2957 	PORT_DIPSETTING(      0x0003, "Normal" )
2958 	PORT_DIPSETTING(      0x0001, "Hard" )
2959 	PORT_DIPSETTING(      0x0000, "Hardest" )
2960 	PORT_DIPNAME( 0x000c, 0x000c, DEF_STR( Lives ) )
2961 	PORT_DIPSETTING(      0x0000, "1" )
2962 	PORT_DIPSETTING(      0x0004, "2" )
2963 	PORT_DIPSETTING(      0x000c, "3" )
2964 	PORT_DIPSETTING(      0x0008, "5" )
2965 	PORT_DIPNAME( 0x0010, 0x0010, "Game Voice" )
2966 	PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
2967 	PORT_DIPSETTING(      0x0010, DEF_STR( On ) )
2968 	PORT_DIPNAME( 0x0020, 0x0020, "Vasara Stock" )
2969 	PORT_DIPSETTING(      0x0020, "2" )
2970 	PORT_DIPSETTING(      0x0000, "3" )
2971 	PORT_DIPNAME( 0x0040, 0x0040, "English Subtitles" )
2972 	PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
2973 	PORT_DIPSETTING(      0x0040, DEF_STR( On ) )
2974 	PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unused ) )
2975 	PORT_DIPSETTING(      0x0080, DEF_STR( Off ) )
2976 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
2977 
2978 	PORT_START	/* IN2 - $210008*/
2979 	PORT_BIT(  0x0001, IP_ACTIVE_LOW, IPT_START1 )
2980 	PORT_BIT(  0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN )
2981 	PORT_BIT(  0x0004, IP_ACTIVE_LOW, IPT_BUTTON2        | IPF_PLAYER1 )
2982 	PORT_BIT(  0x0008, IP_ACTIVE_LOW, IPT_BUTTON1        | IPF_PLAYER1 )
2983 	PORT_BIT(  0x0010, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER1 )
2984 	PORT_BIT(  0x0020, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_PLAYER1 )
2985 	PORT_BIT(  0x0040, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_PLAYER1 )
2986 	PORT_BIT(  0x0080, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_PLAYER1 )
2987 
2988 	PORT_START	/* IN3 - $21000a*/
2989 	PORT_BIT(  0x0001, IP_ACTIVE_LOW, IPT_START2 )
2990 	PORT_BIT(  0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN )
2991 	PORT_BIT(  0x0004, IP_ACTIVE_LOW, IPT_BUTTON2        | IPF_PLAYER2 )
2992 	PORT_BIT(  0x0008, IP_ACTIVE_LOW, IPT_BUTTON1        | IPF_PLAYER2 )
2993 	PORT_BIT(  0x0010, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER2 )
2994 	PORT_BIT(  0x0020, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_PLAYER2 )
2995 	PORT_BIT(  0x0040, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_PLAYER2 )
2996 	PORT_BIT(  0x0080, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_PLAYER2 )
2997 
2998 	PORT_START	/* IN4 - $21000c*/
2999 	PORT_BIT_IMPULSE( 0x0001, IP_ACTIVE_LOW, IPT_COIN1, 10 )
3000 	PORT_BIT_IMPULSE( 0x0002, IP_ACTIVE_LOW, IPT_COIN2, 10 )
3001 	PORT_BIT(  0x0004, IP_ACTIVE_LOW, IPT_SERVICE1 )
3002 	PORT_BIT(  0x0008, IP_ACTIVE_LOW, IPT_TILT     )
3003 	PORT_BIT(  0x00f0, IP_ACTIVE_LOW, IPT_UNKNOWN  )
3004 INPUT_PORTS_END
3005 
3006 INPUT_PORTS_START( gdfs )
3007 	PORT_START	/* IN0 - $210002 */
3008 	PORT_DIPNAME( 0x0001, 0x0000, "Controls" )
3009 	PORT_DIPSETTING(      0x0001, "Joystick" )
3010 	PORT_DIPSETTING(      0x0000, "Light_Gun" )
3011 	PORT_DIPNAME( 0x0002, 0x0002, "Light Gun Calibration" )
3012 	PORT_DIPSETTING(      0x0002, DEF_STR( Off ) )
3013 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
3014 	PORT_DIPNAME( 0x0004, 0x0004, "Stage Select" )
3015 	PORT_DIPSETTING(      0x0004, DEF_STR( Off ) )
3016 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
3017 	PORT_DIPNAME( 0x0018, 0x0018, DEF_STR( Coinage ) )
3018 /*  PORT_DIPSETTING(      0x0000, DEF_STR( 2C_1C ) )  2 Coins to Start, 1 Coin to Continue??? */
3019 	PORT_DIPSETTING(      0x0010, DEF_STR( 2C_1C ) )
3020 	PORT_DIPSETTING(      0x0018, DEF_STR( 1C_1C ) )
3021 	PORT_DIPSETTING(      0x0008, DEF_STR( 1C_2C ) )
3022 	PORT_DIPNAME( 0x0020, 0x0020, "Save Scores" )
3023 	PORT_DIPSETTING(      0x0000, DEF_STR( No ) )	/* Clear NVRAM on boot */
3024 	PORT_DIPSETTING(      0x0020, DEF_STR( Yes ) )
3025 	PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Flip_Screen ) )
3026 	PORT_DIPSETTING(      0x0040, DEF_STR( Off ) )
3027 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
3028 	PORT_DIPNAME( 0x0080, 0x0080, "Unknown 1-7" )
3029 	PORT_DIPSETTING(      0x0080, DEF_STR( Off ) )
3030 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
3031 
3032 	PORT_START	/* IN1 - $210004 */
3033 	PORT_DIPNAME( 0x0001, 0x0001, "Invert X Axis" )
3034 	PORT_DIPSETTING(      0x0001, DEF_STR( Off ) )
3035 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
3036 	PORT_DIPNAME( 0x0002, 0x0002, "Unknown 2-1" )
3037 	PORT_DIPSETTING(      0x0002, DEF_STR( Off ) )
3038 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
3039 	PORT_DIPNAME( 0x0004, 0x0004, "Unknown 2-2" )
3040 	PORT_DIPSETTING(      0x0004, DEF_STR( Off ) )
3041 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
3042 	PORT_DIPNAME( 0x0008, 0x0000, "Language" )
3043 	PORT_DIPSETTING(      0x0000, "English" )
3044 	PORT_DIPSETTING(      0x0008, "Japanese" )
3045 	PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Demo_Sounds ) )
3046 	PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
3047 	PORT_DIPSETTING(      0x0010, DEF_STR( On ) )
3048 	PORT_DIPNAME( 0x0020, 0x0020, "Damage From Machine Gun" )	/* F76E34 */
3049 	PORT_DIPSETTING(      0x0020, "Light" )
3050 	PORT_DIPSETTING(      0x0000, "Heavy" )
3051 	PORT_DIPNAME( 0x0040, 0x0040, "Damage From Beam Cannon" )	/* F77487 */
3052 	PORT_DIPSETTING(      0x0040, "Light" )
3053 	PORT_DIPSETTING(      0x0000, "Heavy" )
3054 	PORT_DIPNAME( 0x0080, 0x0080, "Damage From Missle" )	/* F77255 */
3055 	PORT_DIPSETTING(      0x0080, "Light" )
3056 	PORT_DIPSETTING(      0x0000, "Heavy" )
3057 
3058 	PORT_START	/* IN2 - $210008 */
3059 	PORT_BIT(  0x0001, IP_ACTIVE_LOW, IPT_START1  )					/* press at boot for service mode */
3060 	PORT_BIT(  0x0002, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER1 )	/* used in test mode */
3061 	PORT_BIT(  0x0004, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
3062 	PORT_BIT(  0x0008, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
3063 	PORT_BIT(  0x0010, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER1 )
3064 	PORT_BIT(  0x0020, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_PLAYER1 )
3065 	PORT_BIT(  0x0040, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_PLAYER1 )
3066 	PORT_BIT(  0x0080, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_PLAYER1 )
3067 
3068 	PORT_START	/* IN3 - $21000a */
3069 	PORT_BIT(  0x0001, IP_ACTIVE_LOW, IPT_START2  )
3070 	PORT_BIT(  0x0002, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER2 )
3071 	PORT_BIT(  0x0004, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
3072 	PORT_BIT(  0x0008, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
3073 	PORT_BIT(  0x0010, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER2 )
3074 	PORT_BIT(  0x0020, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_PLAYER2 )
3075 	PORT_BIT(  0x0040, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_PLAYER2 )
3076 	PORT_BIT(  0x0080, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_PLAYER2 )
3077 
3078 	PORT_START	/* IN4 - $21000c */
3079 	PORT_BIT_IMPULSE( 0x0001, IP_ACTIVE_LOW, IPT_COIN1, 10 )
3080 	PORT_BIT_IMPULSE( 0x0002, IP_ACTIVE_LOW, IPT_COIN2, 10 )
3081 	PORT_BIT(  0x0004, IP_ACTIVE_LOW, IPT_SERVICE1 )
3082 	PORT_BIT(  0x0008, IP_ACTIVE_LOW, IPT_TILT     )
3083 	PORT_BIT(  0x00f0, IP_ACTIVE_LOW, IPT_UNKNOWN  )
3084 
3085 	PORT_START	/* IN5 - $540000(0) */
3086 	PORT_ANALOG( 0xff, 0x80, IPT_LIGHTGUN_X | IPF_PLAYER1, 35, 10, 0, 0xff )
3087 
3088 	PORT_START	/* IN6 - $540000(1) */
3089 	PORT_ANALOG( 0xff, 0x80, IPT_LIGHTGUN_Y | IPF_PLAYER1, 35, 10, 0, 0xff )
3090 
3091 	PORT_START	/* IN7 - $540000(2) */
3092 	PORT_ANALOG( 0xff, 0x80, IPT_LIGHTGUN_X | IPF_PLAYER2, 35, 10, 0, 0xff )
3093 
3094 	PORT_START	/* IN8 - $540000(3) */
3095 	PORT_ANALOG( 0xff, 0x80, IPT_LIGHTGUN_Y | IPF_PLAYER2, 35, 10, 0, 0xff )
3096 INPUT_PORTS_END
3097 
3098 /***************************************************************************
3099 
3100 
3101 							Graphics Layouts
3102 
3103 
3104 ***************************************************************************/
3105 
3106 /*	16 x 8 tiles. Depth is 8 bits, but can be decreased to 6 (and maybe
3107 	less) at runtime.	*/
3108 
3109 static struct GfxLayout layout_16x8x8 =
3110 {
3111 	16,8,
3112 	RGN_FRAC(1,4),
3113 	8,
3114 	{	RGN_FRAC(3,4)+8, RGN_FRAC(3,4)+0,
3115 		RGN_FRAC(2,4)+8, RGN_FRAC(2,4)+0,
3116 		RGN_FRAC(1,4)+8, RGN_FRAC(1,4)+0,
3117 		RGN_FRAC(0,4)+8, RGN_FRAC(0,4)+0	},
3118 	{	STEP8(0,1), STEP8(16,1)	},
3119 	{	STEP8(0,16*2)	},
3120 	16*8*2
3121 };
3122 
3123 static struct GfxLayout layout_16x8x6 =
3124 {
3125 	16,8,
3126 	RGN_FRAC(1,4),
3127 	6,
3128 	{
3129 		RGN_FRAC(2,4)+8, RGN_FRAC(2,4)+0,
3130 		RGN_FRAC(1,4)+8, RGN_FRAC(1,4)+0,
3131 		RGN_FRAC(0,4)+8, RGN_FRAC(0,4)+0	},
3132 	{	STEP8(0,1), STEP8(16,1)	},
3133 	{	STEP8(0,16*2)	},
3134 	16*8*2
3135 };
3136 
3137 static struct GfxDecodeInfo ssv_gfxdecodeinfo[] =
3138 {
3139 	{ REGION_GFX1, 0, &layout_16x8x8, 0, 0x8000/64 }, /* [0] Sprites (256 colors)*/
3140 	{ REGION_GFX1, 0, &layout_16x8x6, 0, 0x8000/64 }, /* [1] Sprites (64 colors)*/
3141 	{ -1 }
3142 };
3143 
3144 static struct GfxLayout layout_16x8x8_2 =
3145 {
3146 	16,8,
3147 	RGN_FRAC(1,1),
3148 	8,
3149 	{	STEP8(0,1)		},
3150 	{	STEP16(0,8)		},
3151 	{	STEP8(0,16*8)	},
3152 	16*8*8
3153 };
3154 
3155 static struct GfxLayout layout_16x8x6_2 =
3156 {
3157 	16,8,
3158 	RGN_FRAC(1,1),
3159 	6,
3160 	{	2,3,4,5,6,7		},
3161 	{	STEP16(0,8)		},
3162 	{	STEP8(0,16*8)	},
3163 	16*8*8
3164 };
3165 
3166 static struct GfxDecodeInfo eaglshot_gfxdecodeinfo[] =
3167 {
3168 	{ REGION_GFX1, 0, &layout_16x8x8_2, 0, 0x8000/64 }, /* [0] Sprites (256 colors)*/
3169 	{ REGION_GFX1, 0, &layout_16x8x6_2, 0, 0x8000/64 }, /* [1] Sprites (64 colors)*/
3170 	{ -1 }
3171 };
3172 
3173 static struct GfxLayout layout_16x16x8 =
3174 {
3175 	16,16,
3176 	RGN_FRAC(1,1),
3177 	8,
3178 	{	STEP8(0,1)		},
3179 	{	STEP16(0,8)		},
3180 	{	STEP16(0,16*8)	},
3181 	16*16*8
3182 };
3183 
3184 static struct GfxDecodeInfo gdfs_gfxdecodeinfo[] =
3185 {
3186 	{ REGION_GFX1, 0, &layout_16x8x8,   0, 0x8000/64  }, /* [0] Sprites (256 colors) */
3187 	{ REGION_GFX1, 0, &layout_16x8x6,   0, 0x8000/64  }, /* [1] Sprites (64 colors) */
3188 	{ REGION_GFX2, 0, &layout_16x8x8_2, 0, 0x8000/64  }, /* [2] Zooming Sprites (256 colors, decoded from ram) */
3189 	{ REGION_GFX3, 0, &layout_16x16x8,  0, 0x8000/256 }, /* [3] Tilemap */
3190 	{ -1 }
3191 };
3192 
3193 
3194 /***************************************************************************
3195 
3196 
3197 								Machine Drivers
3198 
3199 
3200 ***************************************************************************/
3201 
3202 static struct ES5506interface es5506_interface =
3203 {
3204 	1,
3205 	{ 16000000 },
3206 	{ REGION_SOUND1 },
3207 	{ REGION_SOUND2 },
3208 	{ REGION_SOUND3 },
3209 	{ REGION_SOUND4 },
3210 	{ YM3012_VOL(100,MIXER_PAN_LEFT,100,MIXER_PAN_RIGHT) },
3211 	{ 0 },
3212 	{ 0 }
3213 };
3214 
3215 
3216 /***************************************************************************
3217 
3218 	Some games (e.g. hypreac2) oddly map the high bits of the tile code
3219 	to the gfx roms: arranging the roms accordingly would waste tens of
3220 	megabytes. So we use a look-up table.
3221 
3222 	We also need to set up game	specific offsets for sprites and layers
3223 	(at least until the CRT	controlled will be emulated).
3224 
3225 ***************************************************************************/
3226 
init_ssv(void)3227 void init_ssv(void)
3228 {
3229 	int i;
3230 	for (i = 0; i < 16; i++)
3231 		ssv_tile_code[i]	=	( (i & 8) ? (1 << 16) : 0 ) +
3232 								( (i & 4) ? (2 << 16) : 0 ) +
3233 								( (i & 2) ? (4 << 16) : 0 ) +
3234 								( (i & 1) ? (8 << 16) : 0 ) ;
3235 	ssv_enable_video(1);
3236 	ssv_special = 0;
3237 	interrupt_ultrax=0;
3238 	eaglshot_dirty = 0;
3239 }
3240 
hypreac2_init(void)3241 void hypreac2_init(void)
3242 {
3243 	int i;
3244 
3245 	init_ssv();
3246 
3247 	for (i = 0; i < 16; i++)
3248 		ssv_tile_code[i]	=	(i << 16);
3249 }
3250 
3251 
DRIVER_INIT(drifto94)3252 DRIVER_INIT( drifto94 )		{	init_ssv();
3253 								ssv_sprites_offsx = -8;	ssv_sprites_offsy = +0xf0;
3254 								ssv_tilemap_offsx = +0;	ssv_tilemap_offsy = -0xf0;	}
DRIVER_INIT(eaglshot)3255 DRIVER_INIT( eaglshot )		{	hypreac2_init();
3256 								ssv_sprites_offsx = -8;	ssv_sprites_offsy = +0xf0;
3257 								ssv_tilemap_offsx = 0;	ssv_tilemap_offsy = -0xef; }
DRIVER_INIT(gdfs)3258 DRIVER_INIT( gdfs )			{	init_ssv();
3259 								ssv_sprites_offsx = -8;	ssv_sprites_offsy = 1;
3260 								ssv_tilemap_offsx = +0;	ssv_tilemap_offsy = 0;	}
DRIVER_INIT(hypreact)3261 DRIVER_INIT( hypreact )		{	init_ssv();
3262 								ssv_sprites_offsx = +0;	ssv_sprites_offsy = +0xf0;
3263 								ssv_tilemap_offsx = +0;	ssv_tilemap_offsy = -0xf7;	}
DRIVER_INIT(hypreac2)3264 DRIVER_INIT( hypreac2 )		{	hypreac2_init();	/* different*/
3265 								ssv_sprites_offsx = +0;	ssv_sprites_offsy = +0xf0;
3266 								ssv_tilemap_offsx = +0;	ssv_tilemap_offsy = -0xf8;	}
DRIVER_INIT(janjans1)3267 DRIVER_INIT( janjans1 )		{	init_ssv();
3268 								ssv_sprites_offsx = +0;	ssv_sprites_offsy = +0xe8;
3269 								ssv_tilemap_offsx = +0;	ssv_tilemap_offsy = -0xf0;	}
DRIVER_INIT(keithlcy)3270 DRIVER_INIT( keithlcy )		{	init_ssv();
3271 								ssv_sprites_offsx = -8;	ssv_sprites_offsy = +0xf1;
3272 								ssv_tilemap_offsx = +0;	ssv_tilemap_offsy = -0xf0;	}
DRIVER_INIT(meosism)3273 DRIVER_INIT( meosism )		{	init_ssv();
3274 								ssv_sprites_offsx = +0;	ssv_sprites_offsy = +0xe8;
3275 								ssv_tilemap_offsx = +0;	ssv_tilemap_offsy = -0xef;	}
DRIVER_INIT(mslider)3276 DRIVER_INIT( mslider )		{	init_ssv();
3277 								ssv_sprites_offsx =-16;	ssv_sprites_offsy = +0xf0;
3278 								ssv_tilemap_offsx = +8;	ssv_tilemap_offsy = -0xf1;	}
DRIVER_INIT(ryorioh)3279 DRIVER_INIT( ryorioh )		{	init_ssv();
3280 								ssv_sprites_offsx = +0;	ssv_sprites_offsy = +0xe8;
3281 								ssv_tilemap_offsx = +0;	ssv_tilemap_offsy = -0xf0;	}
DRIVER_INIT(srmp4)3282 DRIVER_INIT( srmp4 )		{	init_ssv();
3283 								ssv_sprites_offsx = -8;	ssv_sprites_offsy = +0xf0;
3284 								ssv_tilemap_offsx = +0;	ssv_tilemap_offsy = -0xf0;
3285 /*	((data16_t *)memory_region(REGION_USER1))[0x2b38/2] = 0x037a;	 // patch to see gal test mode /*/
3286 							}
DRIVER_INIT(srmp7)3287 DRIVER_INIT( srmp7 )		{	init_ssv();
3288 								ssv_sprites_offsx = +0;	ssv_sprites_offsy = -0xf;
3289 								ssv_tilemap_offsx = +0;	ssv_tilemap_offsy = -0xf0;	}
DRIVER_INIT(stmblade)3290 DRIVER_INIT( stmblade )		{	init_ssv();
3291 								ssv_sprites_offsx = -8; ssv_sprites_offsy = +0xef;
3292 								ssv_tilemap_offsx = +0;	ssv_tilemap_offsy = -0xf0;	}
DRIVER_INIT(survarts)3293 DRIVER_INIT( survarts )		{	init_ssv();
3294 								ssv_sprites_offsx = +0;	ssv_sprites_offsy = +0xe8;
3295 								ssv_tilemap_offsx = +0;	ssv_tilemap_offsy = -0xef;	}
DRIVER_INIT(dynagear)3296 DRIVER_INIT( dynagear )		{	init_ssv(); ssv_special = 3;
3297 								ssv_sprites_offsx = -8;	ssv_sprites_offsy = +0xec;
3298 								ssv_tilemap_offsx = +0;	ssv_tilemap_offsy = -0xec;	}
DRIVER_INIT(sxyreact)3299 DRIVER_INIT( sxyreact )		{	hypreac2_init();	/* different*/
3300 								ssv_sprites_offsx = +0;	ssv_sprites_offsy = +0xe8;
3301 								ssv_tilemap_offsx = +0;	ssv_tilemap_offsy = -0xef;	}
DRIVER_INIT(twineag2)3302 DRIVER_INIT( twineag2 )		{	init_ssv();interrupt_ultrax=1;
3303 								ssv_sprites_offsx = -6;	ssv_sprites_offsy = -7;
3304 								ssv_tilemap_offsx = -10;ssv_tilemap_offsy = -8;	}
DRIVER_INIT(ultrax)3305 DRIVER_INIT( ultrax )		{	init_ssv();interrupt_ultrax=1;
3306 								ssv_sprites_offsx = -8;	ssv_sprites_offsy = 0;
3307 								ssv_tilemap_offsx = +0;	ssv_tilemap_offsy = 0;	}
DRIVER_INIT(vasara)3308 DRIVER_INIT( vasara )		{	init_ssv();
3309 								ssv_sprites_offsx = +0;	ssv_sprites_offsy = +0xf0;
3310 								ssv_tilemap_offsx = +0;	ssv_tilemap_offsy = -0xf8;	}
DRIVER_INIT(vasara2)3311 DRIVER_INIT( vasara2 )		{	init_ssv();
3312 								ssv_sprites_offsx = +0;	ssv_sprites_offsy = +0xf0;
3313 								ssv_tilemap_offsx = +0;	ssv_tilemap_offsy = -0xf8;	}
3314 
3315 static MACHINE_DRIVER_START( ssv )
3316 
3317 	/* basic machine hardware */
3318 	MDRV_CPU_ADD_TAG("main", V60, 16000000) /* Based on STA-0001 & STA-0001B System boards */
3319 	MDRV_CPU_VBLANK_INT(ssv_interrupt,2)	/* Vblank */
3320 
3321 	MDRV_FRAMES_PER_SECOND(60)
3322 	MDRV_VBLANK_DURATION(DEFAULT_REAL_60HZ_VBLANK_DURATION)	/* we use cpu_getvblank */
3323 
3324 	MDRV_MACHINE_INIT(ssv)
3325 
3326 	/* video hardware */
3327 	MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER | VIDEO_NEEDS_6BITS_PER_GUN)
3328 
3329 	MDRV_SCREEN_SIZE(0x180, 0x100)
3330 	MDRV_VISIBLE_AREA(0, 0x150-1, 0, 0xf0-1)
3331 	MDRV_GFXDECODE(ssv_gfxdecodeinfo)
3332 	MDRV_PALETTE_LENGTH(0x8000)
3333 	MDRV_VIDEO_START(ssv)
3334 	MDRV_VIDEO_UPDATE(ssv)
3335 
3336 	/* sound hardware */
3337 	MDRV_SOUND_ATTRIBUTES(SOUND_SUPPORTS_STEREO)
3338 	MDRV_SOUND_ADD(ES5506, es5506_interface)
3339 MACHINE_DRIVER_END
3340 
3341 
3342 static MACHINE_DRIVER_START( drifto94 )
3343 
3344 	/* basic machine hardware */
3345 	MDRV_IMPORT_FROM(ssv)
3346 	MDRV_CPU_MODIFY("main")
3347 	MDRV_CPU_MEMORY(drifto94_readmem, drifto94_writemem)
3348 
3349 	MDRV_NVRAM_HANDLER(ssv)
3350 
3351 	/* video hardware */
3352 	MDRV_VISIBLE_AREA(0, 0x150-1, 4, 0xf0-1)
3353 MACHINE_DRIVER_END
3354 
3355 static MACHINE_DRIVER_START( eaglshot )
3356 
3357 	/* basic machine hardware */
3358 	MDRV_IMPORT_FROM(ssv)
3359 	MDRV_CPU_MODIFY("main")
3360 	MDRV_CPU_MEMORY(eaglshot_readmem, eaglshot_writemem)
3361 
3362 	MDRV_NVRAM_HANDLER(ssv)
3363 
3364 	/* video hardware */
3365 	MDRV_VISIBLE_AREA(0, 0x140-1, 4, 0xe8-1)
3366 
3367 	MDRV_GFXDECODE(eaglshot_gfxdecodeinfo)
3368 	MDRV_VIDEO_START(eaglshot)
3369 	MDRV_VIDEO_UPDATE(eaglshot)
3370 MACHINE_DRIVER_END
3371 
3372 
3373 static MACHINE_DRIVER_START( gdfs )
3374 
3375 	/* basic machine hardware */
3376 	MDRV_IMPORT_FROM(ssv)
3377 	MDRV_CPU_MODIFY("main")
3378 	MDRV_CPU_MEMORY(gdfs_readmem, gdfs_writemem)
3379 	MDRV_CPU_VBLANK_INT(gdfs_interrupt,1+4)
3380 
3381 	MDRV_NVRAM_HANDLER(gdfs)
3382 
3383 	/* video hardware */
3384 	MDRV_VISIBLE_AREA(0, 0x150-1, 0, 0xf0-1)
3385 
3386 	MDRV_GFXDECODE(gdfs_gfxdecodeinfo)
3387 	MDRV_VIDEO_START(gdfs)
3388 	MDRV_VIDEO_UPDATE(gdfs)
3389 MACHINE_DRIVER_END
3390 
3391 
3392 static MACHINE_DRIVER_START( hypreact )
3393 
3394 	/* basic machine hardware */
3395 	MDRV_IMPORT_FROM(ssv)
3396 	MDRV_CPU_MODIFY("main")
3397 	MDRV_CPU_MEMORY(hypreact_readmem, hypreact_writemem)
3398 
3399 	/* video hardware */
3400 	MDRV_VISIBLE_AREA(8, 0x148-1, 16, 0xf0-1)
3401 MACHINE_DRIVER_END
3402 
3403 
3404 static MACHINE_DRIVER_START( hypreac2 )
3405 
3406 	/* basic machine hardware */
3407 	MDRV_IMPORT_FROM(ssv)
3408 	MDRV_CPU_MODIFY("main")
3409 	MDRV_CPU_MEMORY(hypreac2_readmem, hypreac2_writemem)
3410 
3411 	/* video hardware */
3412 	MDRV_VISIBLE_AREA(0, 0x150-1, 8, 0xf8-1)
3413 MACHINE_DRIVER_END
3414 
3415 
3416 static MACHINE_DRIVER_START( janjans1 )
3417 
3418 	/* basic machine hardware */
3419 	MDRV_IMPORT_FROM(ssv)
3420 	MDRV_CPU_MODIFY("main")
3421 	MDRV_CPU_MEMORY(janjans1_readmem, janjans1_writemem)
3422 
3423 	/* video hardware */
3424 	MDRV_VISIBLE_AREA(0, 0x150-1, 0, 0xf0-1)
3425 MACHINE_DRIVER_END
3426 
3427 
3428 static MACHINE_DRIVER_START( keithlcy )
3429 
3430 	/* basic machine hardware */
3431 	MDRV_IMPORT_FROM(ssv)
3432 	MDRV_CPU_MODIFY("main")
3433 	MDRV_CPU_MEMORY(keithlcy_readmem, keithlcy_writemem)
3434 
3435 	/* video hardware */
3436 	MDRV_VISIBLE_AREA(0, 0x150-1, 4, 0xf0-1)
3437 MACHINE_DRIVER_END
3438 
3439 
3440 static MACHINE_DRIVER_START( meosism )
3441 
3442 	/* basic machine hardware */
3443 	MDRV_IMPORT_FROM(ssv)
3444 	MDRV_CPU_MODIFY("main")
3445 	MDRV_CPU_MEMORY(meosism_readmem, meosism_writemem)
3446 
3447 	MDRV_NVRAM_HANDLER(ssv)
3448 
3449 	/* video hardware */
3450 	MDRV_VISIBLE_AREA(0, 0x150-1, 0, 0xf0-1)
3451 MACHINE_DRIVER_END
3452 
3453 
3454 static MACHINE_DRIVER_START( mslider )
3455 
3456 	/* basic machine hardware */
3457 	MDRV_IMPORT_FROM(ssv)
3458 	MDRV_CPU_MODIFY("main")
3459 	MDRV_CPU_MEMORY(mslider_readmem, mslider_writemem)
3460 
3461 	/* video hardware */
3462 	MDRV_VISIBLE_AREA(0, 0x150-1, 0, 0xf0-1)
3463 MACHINE_DRIVER_END
3464 
3465 
3466 static MACHINE_DRIVER_START( ryorioh )
3467 
3468 	/* basic machine hardware */
3469 	MDRV_IMPORT_FROM(ssv)
3470 	MDRV_CPU_MODIFY("main")
3471 	MDRV_CPU_MEMORY(ryorioh_readmem, ryorioh_writemem)
3472 
3473 	/* video hardware */
3474 	MDRV_VISIBLE_AREA(0, 0x150-1, 0, 0xf0-1)
3475 MACHINE_DRIVER_END
3476 
3477 
3478 static MACHINE_DRIVER_START( srmp4 )
3479 
3480 	/* basic machine hardware */
3481 	MDRV_IMPORT_FROM(ssv)
3482 	MDRV_CPU_MODIFY("main")
3483 	MDRV_CPU_MEMORY(srmp4_readmem, srmp4_writemem)
3484 
3485 	/* video hardware */
3486 	MDRV_VISIBLE_AREA(0, 0x150-1, 4, 0xf4-1)
3487 MACHINE_DRIVER_END
3488 
3489 
3490 static MACHINE_DRIVER_START( srmp7 )
3491 
3492 	/* basic machine hardware */
3493 	MDRV_IMPORT_FROM(ssv)
3494 	MDRV_CPU_MODIFY("main")
3495 	MDRV_CPU_MEMORY(srmp7_readmem, srmp7_writemem)
3496 
3497 	/* video hardware */
3498 	MDRV_VISIBLE_AREA(0, 0x150-1, 0, 0xf0-1)
3499 MACHINE_DRIVER_END
3500 
3501 
3502 static MACHINE_DRIVER_START( stmblade )
3503 
3504 	/* basic machine hardware */
3505 	MDRV_IMPORT_FROM(ssv)
3506 	MDRV_CPU_MODIFY("main")
3507 	MDRV_CPU_MEMORY(drifto94_readmem, drifto94_writemem)
3508 
3509 	MDRV_NVRAM_HANDLER(ssv)
3510 	/* video hardware */
3511 	MDRV_VISIBLE_AREA(0, 0x158-1, 1, 0xf0-1)
3512 MACHINE_DRIVER_END
3513 
3514 
3515 static MACHINE_DRIVER_START( survarts )
3516 
3517 	/* basic machine hardware */
3518 	MDRV_IMPORT_FROM(ssv)
3519 	MDRV_CPU_MODIFY("main")
3520 	MDRV_CPU_MEMORY(survarts_readmem, survarts_writemem)
3521 
3522 	/* video hardware */
3523 	MDRV_VISIBLE_AREA(0, 0x150-1, 4, 0xf4-1)
3524 MACHINE_DRIVER_END
3525 
3526 static MACHINE_DRIVER_START( dynagear )
3527 	/* basic machine hardware */
3528 	MDRV_IMPORT_FROM(survarts)
3529 	/* video hardware */
3530 	MDRV_VISIBLE_AREA(8, 0x158-16-1, 0, 0xf0-1)
3531 MACHINE_DRIVER_END
3532 
3533 
3534 static MACHINE_DRIVER_START( sxyreact )
3535 
3536 	/* basic machine hardware */
3537 	MDRV_IMPORT_FROM(ssv)
3538 	MDRV_CPU_MODIFY("main")
3539 	MDRV_CPU_MEMORY(sxyreact_readmem, sxyreact_writemem)
3540 
3541 	MDRV_NVRAM_HANDLER(ssv)
3542 
3543 	/* video hardware */
3544 	MDRV_VISIBLE_AREA(0, 0x150-1, 0, 0xf0-1)
3545 MACHINE_DRIVER_END
3546 
3547 
3548 static MACHINE_DRIVER_START( twineag2 )
3549 
3550 	/* basic machine hardware */
3551 	MDRV_IMPORT_FROM(ssv)
3552 	MDRV_CPU_MODIFY("main")
3553 	MDRV_CPU_MEMORY(twineag2_readmem, twineag2_writemem)
3554 
3555 	/* video hardware */
3556 	MDRV_VISIBLE_AREA(0, 0x150-1, 0, 0xf0-1)
3557 MACHINE_DRIVER_END
3558 
3559 
3560 static MACHINE_DRIVER_START( ultrax )
3561 
3562 	/* basic machine hardware */
3563 	MDRV_IMPORT_FROM(ssv)
3564 	MDRV_CPU_MODIFY("main")
3565 	MDRV_CPU_MEMORY(ultrax_readmem, ultrax_writemem)
3566 
3567 	/* video hardware */
3568 	MDRV_VISIBLE_AREA(0, 0x150-1, 0, 0xf0-1)
3569 MACHINE_DRIVER_END
3570 
3571 
3572 
3573 /***************************************************************************
3574 
3575 
3576 								ROMs Loading
3577 
3578 
3579 ***************************************************************************/
3580 
3581 
3582 /***************************************************************************
3583 
3584 						Change Air Blade (Japan)
3585 
3586 Change Air Blade
3587 Sammy, 1999
3588 
3589 ROM board for use with System SSV Main Board
3590 PCB No: P1-112C
3591 
3592 Fairly sparsely populated board containing not much except....
3593 
3594 RAM   : 6262 (x1)
3595 OTHER : 3.6V Ni-Cd Battery
3596 PALs  : (x1, labelled AC412G00)
3597 
3598 ROMs  : (Filename  = ROM Label)
3599         (Extension = PCB Location)
3600 ------------------------------
3601 AC1801M01.U6    32M Mask
3602 AC1802M01.U9    32M Mask
3603 
3604 AC1805M01.U8    32M Mask
3605 AC1806M01.U11   32M Mask
3606 
3607 AC1803M01.U7    32M Mask
3608 AC1804M01.U10   32M Mask
3609 
3610 AC1807M01.U41   32M Mask
3611 AC1810E01.U32   27C160
3612 
3613 
3614 ***************************************************************************/
3615 
3616 ROM_START( cairblad )
3617 	ROM_REGION16_LE( 0x200000, REGION_USER1, 0 )		/* V60 Code */
3618 	ROM_LOAD16_WORD( "ac1810e0.u32",  0x000000, 0x200000, CRC(13a0b4c2) SHA1(3498303e9b186ab329ee761cee9d4cb8ed552455) ) /* AC1810E01.U32    27C160*/
3619 
3620 	ROM_REGION( 0x2000000, REGION_GFX1, ROMREGION_DISPOSE )	/* Sprites */
3621 	ROM_LOAD( "ac1801m0.u6",  0x0000000, 0x400000, CRC(1b2b6943) SHA1(95c5dc0ed1d533b2285452c8546346d96a90d097) ) /* AC1801M01.U6    32M Mask*/
3622 	ROM_LOAD( "ac1802m0.u9",  0x0400000, 0x400000, CRC(e053b087) SHA1(9569e79c6363e8f97c27aacaa29d25cf32c4b4c1) ) /* AC1802M01.U9    32M Mask*/
3623 
3624 	ROM_LOAD( "ac1803m0.u7",  0x0800000, 0x400000, CRC(45484866) SHA1(5e2f06743906be298202eafc233b76762d60d8aa) ) /* AC1803M01.U7    32M Mask*/
3625 	ROM_LOAD( "ac1804m0.u10", 0x0c00000, 0x400000, CRC(5e0b2285) SHA1(b3b8f249c1b1b2e9438ebc3a669f3ebfb5aa5feb) ) /* AC1804M01.U10   32M Mask*/
3626 
3627 	ROM_LOAD( "ac1805m0.u8",  0x1000000, 0x400000, CRC(19771f43) SHA1(d6a05392c58d3f60d666e08b3a82f06fa2c8e3a3) ) /* AC1805M01.U8    32M Mask*/
3628 	ROM_LOAD( "ac1806m0.u11", 0x1400000, 0x400000, CRC(816b97dc) SHA1(3737cb37a4db720901661fa9b4e30c44181efb94) ) /* AC1806M01.U11   32M Mask*/
3629 
3630 	ROM_FILL(                 0x1800000, 0x800000, 0          )
3631 
3632 	ROM_REGION16_BE( 0x400000, REGION_SOUND1, ROMREGION_SOUNDONLY )	/* Samples */
3633 	ROM_LOAD16_WORD_SWAP( "ac1410m0.u41", 0x000000, 0x400000, CRC(ecf1f255) SHA1(984b1529b8f0c7d94ea713c85d71df00f54eba79) ) /* AC1807M01.U41   32M Mask*/
3634 ROM_END
3635 
3636 
3637 /***************************************************************************
3638 
3639 						Drift Out '94 - The hard order
3640 
3641 ----------------------
3642 System SSV (STA-0001B)
3643 ----------------------
3644 CPU  : NEC D70615GD-16-S (V60)
3645 Sound: Ensoniq ES5506 (OTTOR2)
3646 OSC  : 42.9545MHz(X2) 48.0000MHz(X3)
3647 
3648 Custom chips:
3649 ST-0004 (Video DAC?)
3650 ST-0005 (Parallel I/O?)
3651 ST-0006 (Video controller)
3652 ST-0007 (System controller)
3653 
3654 Program Work RAM  : 256Kbitx2 (expandable to 1Mx2)
3655 Object Work RAM   : 1Mbitx2
3656 Color Palette RAM : 256Kbitx3 (expandable to 1Mx3)
3657 
3658 -------------------------
3659 SSV Subboard (VISCO-001B)
3660 -------------------------
3661 ROMs:
3662 visco-33.bin - Main programs (27c4000)
3663 visco-37.bin /
3664 
3665 vg003-19.u26 - Data? (mask, read as 27c160)
3666 
3667 vg003-17.u22 - Samples (mask, read as 27c160)
3668 vg003-18.u15 /
3669 
3670 vg003-01.a0 - Graphics (mask, read as 27c160)
3671 vg003-05.a1 |
3672 vg003-09.a2 |
3673 vg009-13.a3 |
3674 vg009-02.b0 |
3675 vg003-06.b1 |
3676 vg003-10.b2 |
3677 vg003-14.b3 |
3678 vg003-03.c0 |
3679 vg003-07.c1 |
3680 vg003-11.c2 |
3681 vg003-15.c3 |
3682 vg003-04.d0 |
3683 vg003-08.d1 |
3684 vg003-12.d2 |
3685 vg003-16.d3 /
3686 
3687 GAL:
3688 vg003-22.u29 (16V8)
3689 
3690 Custom chip:
3691 ST010 (maybe D78C10?)
3692 
3693 Others:
3694 Lithium battery + MB3790 + LH5168D-10L
3695 
3696 ***************************************************************************/
3697 
3698 ROM_START( drifto94 )
3699 	ROM_REGION16_LE( 0x400000, REGION_USER1, 0 )		/* V60 Code */
3700 	ROM_LOAD16_WORD( "vg003-19.u26", 0x000000, 0x200000, CRC(238e5e2b) SHA1(fe58f571857804263642d7d089df962327a007b6) )	/* "SoundDriverV1.1a"*/
3701 	ROM_LOAD16_BYTE( "visco-37.bin", 0x200000, 0x080000, CRC(78fa3ccb) SHA1(0c79ff1aa31e7ca1eeb14fbef7774278fa83ba44) )
3702 	ROM_RELOAD(                      0x300000, 0x080000             )
3703 	ROM_LOAD16_BYTE( "visco-33.bin", 0x200001, 0x080000, CRC(88351146) SHA1(1decce44b5d244b57676177f417e4937d7088124) )
3704 	ROM_RELOAD(                      0x300001, 0x080000             )
3705 
3706 	ROM_REGION( 0x2000000, REGION_GFX1, ROMREGION_DISPOSE )	/* Sprites */
3707 	ROM_LOAD( "vg003-01.a0", 0x0000000, 0x200000, CRC(2812aa1a) SHA1(5046fe51a4ea50051a19cfeeb091c87f0f217fb8) )
3708 	ROM_LOAD( "vg003-05.a1", 0x0200000, 0x200000, CRC(1a1dd910) SHA1(f2252e4cd1b6269036ed02cec9d5a224736c1bce) )
3709 	ROM_LOAD( "vg003-09.a2", 0x0400000, 0x200000, CRC(198f1c06) SHA1(7df5d51aa62f0b609cd1d296a3cfeeb38fbcd9d0) )
3710 	ROM_LOAD( "vg003-13.a3", 0x0600000, 0x200000, CRC(b45b2267) SHA1(66828efcca2050bc1cdca6bbf2e8cf015ff937a8) )
3711 
3712 	ROM_LOAD( "vg003-02.b0", 0x0800000, 0x200000, CRC(d7402027) SHA1(32af6d611ea277a860ee10e98f4eee5c4458ef7a) )
3713 	ROM_LOAD( "vg003-06.b1", 0x0a00000, 0x200000, CRC(518c509f) SHA1(e4bcbe1d8644490a58670add40d2908c7acdf989) )
3714 	ROM_LOAD( "vg003-10.b2", 0x0c00000, 0x200000, CRC(c1ee9d8b) SHA1(7425cf92225cd1c8d764aa47db6219a6d8b090a5) )
3715 	ROM_LOAD( "vg003-14.b3", 0x0e00000, 0x200000, CRC(645b672b) SHA1(26dfde289679cd780bc65f4f6783a6a0f8b87818) )
3716 
3717 	ROM_LOAD( "vg003-03.c0", 0x1000000, 0x200000, CRC(1ca7163d) SHA1(d8c5fd0054a1bc1fbad5866216f6d83c42436ecd) )
3718 	ROM_LOAD( "vg003-07.c1", 0x1200000, 0x200000, CRC(2ff113bb) SHA1(a482ddd3c86633a79d18a03193d70fc8f0f157d8) )
3719 	ROM_LOAD( "vg003-11.c2", 0x1400000, 0x200000, CRC(f924b105) SHA1(079ad0fc3b34c31a67dd88a442088237a2c03fdd) )
3720 	ROM_LOAD( "vg003-15.c3", 0x1600000, 0x200000, CRC(83623b01) SHA1(026654303fb58958bc7f7be86aeb4fdd08e8be7b) )
3721 
3722 	ROM_LOAD( "vg003-04.d0", 0x1800000, 0x200000, CRC(6be9bc62) SHA1(c0b49a558786b50f04c1cd87a11e111ad31b85d9) )
3723 	ROM_LOAD( "vg003-08.d1", 0x1a00000, 0x200000, CRC(a7113cdb) SHA1(74d8bfee7e816d53e60d4e54a2584643562a1ee5) )
3724 	ROM_LOAD( "vg003-12.d2", 0x1c00000, 0x200000, CRC(ac0fd855) SHA1(992ae0d02bcefaa2fad7462b211a49fbd1338b62) )
3725 	ROM_LOAD( "vg003-16.d3", 0x1e00000, 0x200000, CRC(1a5fd312) SHA1(1e67ffa51408de107be75c9c63df6fd1bb6ce6b1) )
3726 
3727 	ROM_REGION16_BE( 0x400000, REGION_SOUND1, ROMREGION_ERASE | ROMREGION_SOUNDONLY )	/* Samples */
3728 	ROM_LOAD16_BYTE( "vg003-17.u22", 0x000000, 0x200000, CRC(6f9294ce) SHA1(b097defd95eb1d8f00e107d7669f9d33148e75c1) )
3729 
3730 	ROM_REGION16_BE( 0x400000, REGION_SOUND2, ROMREGION_ERASE | ROMREGION_SOUNDONLY )	/* Samples */
3731 	ROM_LOAD16_BYTE( "vg003-18.u15", 0x000000, 0x200000, CRC(511b3e93) SHA1(09eda175c8f1b21c18645519cc6e89c6ca1fc5de) )
3732 ROM_END
3733 
3734 
3735 /***************************************************************************
3736 
3737 						Eagle Shot Golf
3738 Eagle Shot Golf
3739 Sammy, 1994
3740 
3741 Lower PCB
3742 PCB Number: GOLF ROM PCB
3743 RAM       : HM514400 (x8)
3744 PALs      : GAL16V8 (x2) labelled SI3-11 & SI3-12
3745 OTHER     : NEC D4701AC
3746             Controls probably trackball, has 6 pin connector hooked up to a
3747             mc14584b Logic IC. Joystick appears to be used also for selecting
3748             stance, club and direction.
3749 
3750 ROMs      : U18 & U20 are used for main program.
3751             All rest are 16M Mask
3752             U23 & U24 are sound related, all others for GFX.
3753 
3754 Loc  ROMs           Use & eprom type
3755 -----------------------------------------
3756 U18  si003-09.prl - V60 Program (27C4001)
3757 U20  si003-10.prh /
3758 
3759 U23  si003-07.s0 - Samples (16M-Mask)
3760 U24  si003-08.s1 /
3761 
3762 U13  si003-01.d0 - Graphics (16M-Mask)
3763 U12  si003-02.d1 |
3764 U11  si003-03.d2 |
3765 U10  si003-04.d3 |
3766 U30  si003-05.d4 |
3767 U31  si003-06.d5 /
3768 
3769 NOTE: The "s" and "d" designations above are silk-screened on the rom PCB.
3770 
3771 Chips of note:  mc14584b - Motorola HEX Schmitt Trigger
3772 
3773 This chip is used for the trackball trigger / reading / converting values
3774 
3775 ***************************************************************************/
3776 
3777 ROM_START( eaglshot )
3778 	ROM_REGION16_LE( 0x100000, REGION_USER1, 0 )		/* V60 Code */
3779 	ROM_LOAD16_BYTE( "si003-09.u18",  0x000000, 0x080000, CRC(219c71ce) SHA1(4f8996b4c5b267a90073d67857358147732f8c0d) )
3780 	ROM_LOAD16_BYTE( "si003-10.u20",  0x000001, 0x080000, CRC(c8872e48) SHA1(c8e1e712d5fa380f8fc1447502f21d2ae592811a) )
3781 
3782 	ROM_REGION( 0x0c00000, REGION_GFX1, /*ROMREGION_DISPOSE*/0 )	/* Sprites - Read by the CPU */
3783 	ROM_LOAD( "si003-01.u13", 0x0000000, 0x200000, CRC(d7df0d52) SHA1(d7b79a186f4272334c2297666c52f32c05787c29) )
3784 	ROM_LOAD( "si003-02.u12", 0x0200000, 0x200000, CRC(92b4d50d) SHA1(9dc2f2961b088824d8370ac83dff796345fe4158) )
3785 	ROM_LOAD( "si003-03.u11", 0x0400000, 0x200000, CRC(6ede4012) SHA1(6663990c6ee8e500cb8c51ad2102761ee0b3351d) )
3786 	ROM_LOAD( "si003-04.u10", 0x0600000, 0x200000, CRC(4c65d1a1) SHA1(165f16d08813d2c989ddce4bb23b3a3652003bd5) )
3787 	ROM_LOAD( "si003-05.u30", 0x0800000, 0x200000, CRC(daf52d56) SHA1(108419ef7d3716a3890b0d8bcbfddc1585daaae8) )
3788 	ROM_LOAD( "si003-06.u31", 0x0a00000, 0x200000, CRC(449f9ae5) SHA1(b3e664eb88d14d1e25a0cfc8dcccc8270ca778c9) )
3789 
3790 	ROM_REGION16_BE( 0x400000, REGION_SOUND1, ROMREGION_SOUNDONLY )	/* Samples */
3791 	ROM_LOAD16_WORD_SWAP( "si003-07.u23", 0x000000, 0x200000, CRC(81679fd6) SHA1(ca3b07a87781278b5c7c85951728bbe5dfcbe042) )
3792 	ROM_LOAD16_WORD_SWAP( "si003-08.u24", 0x200000, 0x200000, CRC(d0122ba2) SHA1(96230fb690cf144cd873f7d51c0304736a698316) )
3793 
3794 	ROM_REGION16_BE( 0x400000, REGION_SOUND2, ROMREGION_SOUNDONLY )	/* Samples */
3795 	ROM_COPY( REGION_SOUND1, 0x000000, 0x000000, 0x400000 )
3796 
3797 	ROM_REGION16_BE( 0x400000, REGION_SOUND3, ROMREGION_SOUNDONLY ) /* Samples */
3798 	ROM_COPY( REGION_SOUND1, 0x000000, 0x000000, 0x400000 )
3799 
3800 	ROM_REGION16_BE( 0x400000, REGION_SOUND4, ROMREGION_SOUNDONLY ) /* Samples */
3801 	ROM_COPY( REGION_SOUND1, 0x000000, 0x000000, 0x400000 )
3802 ROM_END
3803 
3804 ROM_START( eaglshta )
3805 	ROM_REGION16_LE( 0x100000, REGION_USER1, 0 )		/* V60 Code */
3806 	ROM_LOAD16_BYTE( "si003-09.prl",  0x000000, 0x080000, CRC(36989004) SHA1(115a8dd4d7c4b4e042d51f886a93613b1405603b) )
3807 	ROM_LOAD16_BYTE( "si003-10.prh",  0x000001, 0x080000, CRC(2060c304) SHA1(2ecd178ea6459b8aaac1fa499e7c91809cd22649) )
3808 
3809 	ROM_REGION( 0x0c00000, REGION_GFX1, /*ROMREGION_DISPOSE*/0 )	/* Sprites - Read by the CPU */
3810 	ROM_LOAD( "si003-01.u13", 0x0000000, 0x200000, CRC(d7df0d52) SHA1(d7b79a186f4272334c2297666c52f32c05787c29) )
3811 	ROM_LOAD( "si003-02.u12", 0x0200000, 0x200000, CRC(92b4d50d) SHA1(9dc2f2961b088824d8370ac83dff796345fe4158) )
3812 	ROM_LOAD( "si003-03.u11", 0x0400000, 0x200000, CRC(6ede4012) SHA1(6663990c6ee8e500cb8c51ad2102761ee0b3351d) )
3813 	ROM_LOAD( "si003-04.u10", 0x0600000, 0x200000, CRC(4c65d1a1) SHA1(165f16d08813d2c989ddce4bb23b3a3652003bd5) )
3814 	ROM_LOAD( "si003-05.u30", 0x0800000, 0x200000, CRC(daf52d56) SHA1(108419ef7d3716a3890b0d8bcbfddc1585daaae8) )
3815 	ROM_LOAD( "si003-06.u31", 0x0a00000, 0x200000, CRC(449f9ae5) SHA1(b3e664eb88d14d1e25a0cfc8dcccc8270ca778c9) )
3816 
3817 	ROM_REGION16_BE( 0x400000, REGION_SOUND1, ROMREGION_SOUNDONLY )	/* Samples */
3818 	ROM_LOAD16_WORD_SWAP( "si003-07.u23", 0x000000, 0x200000, CRC(81679fd6) SHA1(ca3b07a87781278b5c7c85951728bbe5dfcbe042) )
3819 	ROM_LOAD16_WORD_SWAP( "si003-08.u24", 0x200000, 0x200000, CRC(d0122ba2) SHA1(96230fb690cf144cd873f7d51c0304736a698316) )
3820 
3821 	ROM_REGION16_BE( 0x400000, REGION_SOUND2, ROMREGION_SOUNDONLY )	/* Samples */
3822 	ROM_COPY( REGION_SOUND1, 0x000000, 0x000000, 0x400000 )
3823 
3824 	ROM_REGION16_BE( 0x400000, REGION_SOUND3, ROMREGION_SOUNDONLY ) /* Samples */
3825 	ROM_COPY( REGION_SOUND1, 0x000000, 0x000000, 0x400000 )
3826 
3827 	ROM_REGION16_BE( 0x400000, REGION_SOUND4, ROMREGION_SOUNDONLY ) /* Samples */
3828 	ROM_COPY( REGION_SOUND1, 0x000000, 0x000000, 0x400000 )
3829 ROM_END
3830 
3831 
3832 /***************************************************************************
3833 
3834 					(Mahjong) Hyper Reaction (Japan)
3835 
3836 (c)1995 Sammy, SSV system
3837 
3838 P1-102A (ROM board)
3839 
3840 ***************************************************************************/
3841 
3842 ROM_START( hypreact )
3843 	ROM_REGION16_LE( 0x100000, REGION_USER1, 0 )		/* V60 Code */
3844 	ROM_LOAD16_BYTE( "s14-1-02.u2", 0x000000, 0x080000, CRC(d90a383c) SHA1(9945f60ce6e1f50c24c2ae3c2c5d0df9ec3b8926) )
3845 	ROM_LOAD16_BYTE( "s14-1-01.u1", 0x000001, 0x080000, CRC(80481401) SHA1(4b1b7050893b6659762297d0f6496c7193ea6c4e) )
3846 
3847 	ROM_REGION( 0x1800000, REGION_GFX1, ROMREGION_DISPOSE )	/* Sprites */
3848 	ROM_LOAD( "s14-1-07.u7",  0x0000000, 0x200000, CRC(6c429fd0) SHA1(de1bbcd4a20410328d88a3b246afa8e1a6a6f232) )
3849 	ROM_LOAD( "s14-1-05.u13", 0x0200000, 0x200000, CRC(2ff72f98) SHA1(92bd5042e19e1dae1252305413684f9cff4bd0ac) )
3850 	ROM_LOAD( "s14-1-06.u10", 0x0400000, 0x200000, CRC(f470ec42) SHA1(f31e9c3f3daa212226b9eea14aa1d01367fa348f) )
3851 
3852 	ROM_LOAD( "s14-1-10.u6",  0x0600000, 0x200000, CRC(fdd706ba) SHA1(893ead529c1ef62002dcff97092ff9fa51ced938) )
3853 	ROM_LOAD( "s14-1-08.u12", 0x0800000, 0x200000, CRC(5bb9bb0d) SHA1(1874375cbe79663ff1b5181a1c16fa597a6b55f7) )
3854 	ROM_LOAD( "s14-1-09.u9",  0x0a00000, 0x200000, CRC(d1dda65f) SHA1(b4bbd5c9da08b4d4fedb48cfe2dea4f27895c2fd) )
3855 
3856 	ROM_LOAD( "s14-1-13.u8",  0x0c00000, 0x200000, CRC(971caf11) SHA1(7cfc8bed4431467da53e19056402aa2409be5d88) )
3857 	ROM_LOAD( "s14-1-11.u14", 0x0e00000, 0x200000, CRC(6d8e7bae) SHA1(93258663ceb6174917560bb66d72a42ba0f96c0e) )
3858 	ROM_LOAD( "s14-1-12.u11", 0x1000000, 0x200000, CRC(233a8e23) SHA1(0c813ec80ac63aa342c8ea57d9e38cada74456d9) )
3859 
3860 	ROM_FILL(                 0x1200000, 0x600000, 0          )
3861 
3862 /*	The chip seems to use REGION1 too, but produces no sound from there.*/
3863 
3864 	ROM_REGION16_BE( 0x400000, REGION_SOUND3, ROMREGION_SOUNDONLY )	/* Samples */
3865 	ROM_LOAD16_WORD_SWAP( "s14-1-04.u4", 0x000000, 0x200000, CRC(a5955336) SHA1(1ac0f5d27224e93acfe449d8ca5c3ab3b7f5dd8c) )
3866 	ROM_LOAD16_WORD_SWAP( "s14-1-03.u5", 0x200000, 0x200000, CRC(283a6ec2) SHA1(766c685384ea8d801c53a2ae36b4980318aff06b) )
3867 ROM_END
3868 
3869 
3870 /***************************************************************************
3871 
3872 					(Mahjong) Hyper Reaction 2 (Japan)
3873 
3874 (c)1997 Sammy,SSV system
3875 
3876 P1-112A (ROM board)
3877 
3878 ***************************************************************************/
3879 
3880 ROM_START( hypreac2 )
3881 	ROM_REGION16_LE( 0x200000, REGION_USER1, 0 )		/* V60 Code */
3882 	ROM_LOAD16_BYTE( "u2.bin",  0x000000, 0x080000, CRC(05c93266) SHA1(0833e80f67ccb4ac17e771fa04dc6f433554a34f) )
3883 	ROM_LOAD16_BYTE( "u1.bin",  0x000001, 0x080000, CRC(80cf9e59) SHA1(7025321539891e1a3354ca233255f5395d716933) )
3884 	ROM_LOAD16_BYTE( "u47.bin", 0x100000, 0x080000, CRC(a3e9bfee) SHA1(1e897646bafd07ab48eda2883926506c6bedab87) )
3885 	ROM_LOAD16_BYTE( "u46.bin", 0x100001, 0x080000, CRC(68c41235) SHA1(6ec32aa6ab6074a8db63a76a3d1a0ec2dc8f8aae) )
3886 
3887 	ROM_REGION( 0x2800000, REGION_GFX1, ROMREGION_DISPOSE )	/* Sprites */
3888 	ROM_LOAD( "s16-1-16.u6",  0x0000000, 0x400000, CRC(b308ac34) SHA1(409652bc5a537650cab1f3709a2c2be206f72a78) )
3889 	ROM_LOAD( "s16-1-15.u9",  0x0400000, 0x400000, CRC(2c8e381e) SHA1(a8681620809d3d9dc62b443232b6e4c4c4209248) )
3890 	ROM_LOAD( "s16-1-14.u12", 0x0800000, 0x200000, CRC(afe9d187) SHA1(802df8b1bbb94e4451a6b97c852fa555a6cf5837) )
3891 
3892 	ROM_LOAD( "s16-1-10.u7",  0x0a00000, 0x400000, CRC(86a10cbd) SHA1(7c15da7c3ffebff058e78439c64f6c0386e4d55b) )
3893 	ROM_LOAD( "s16-1-09.u10", 0x0e00000, 0x400000, CRC(6b8e4d92) SHA1(a58c02d3fe595ab654b267cebcb1c6e8ec0b20c4) )
3894 	ROM_LOAD( "s16-1-08.u13", 0x1200000, 0x200000, CRC(b355f45d) SHA1(7e0fe81825745555b9627716bfdf1132f20e88f0) )
3895 
3896 	ROM_LOAD( "s16-1-13.u8",  0x1400000, 0x400000, CRC(89869af2) SHA1(46a8eec18327b515a33c6e01d35fb9b947fcab1f) )
3897 	ROM_LOAD( "s16-1-12.u11", 0x1800000, 0x400000, CRC(87d9c748) SHA1(1332db901e50e2fd25d3323920f99e0ef0b0533d) )
3898 	ROM_LOAD( "s16-1-11.u14", 0x1c00000, 0x200000, CRC(70b3c0a0) SHA1(009e2f2f292ed6f10a9d54557861294156664e72) )
3899 
3900 	ROM_FILL(                 0x1e00000,0x0a00000, 0          )
3901 
3902 	ROM_REGION16_BE( 0x400000, REGION_SOUND1, ROMREGION_SOUNDONLY )	/* Samples */
3903 	ROM_LOAD16_WORD_SWAP( "s16-1-06.u41", 0x000000, 0x400000, CRC(626e8a81) SHA1(45ef5b630aed575acd160ede1413e0370f4f9761) )
3904 
3905 	ROM_REGION16_BE( 0x400000, REGION_SOUND2, ROMREGION_SOUNDONLY )	/* Samples */
3906 	ROM_LOAD16_WORD_SWAP( "s16-1-07.u42", 0x000000, 0x400000, CRC(42bcb41b) SHA1(060312b19bd52770410cec1f77e5d8d6478d80eb) )
3907 ROM_END
3908 
3909 
3910 /***************************************************************************
3911 
3912 							Jan Jan Simasyo (Japan)
3913 
3914 (c)1996 Visco, SSV System
3915 
3916 ***************************************************************************/
3917 
3918 ROM_START( janjans1 )
3919 	ROM_REGION16_LE( 0x400000, REGION_USER1, 0 )		/* V60 Code */
3920 	ROM_LOAD16_WORD( "jj1-data.bin", 0x000000, 0x200000, CRC(6734537e) SHA1(a40f84479141a6f33ce465e66ba9313b54915002) )
3921 	ROM_LOAD16_BYTE( "jj1-prol.bin", 0x200000, 0x080000, CRC(4231d928) SHA1(820d1233cd1a8d0c4ece15b94bd9be976b383fe2) )
3922 	ROM_RELOAD(                      0x300000, 0x080000             )
3923 	ROM_LOAD16_BYTE( "jj1-proh.bin", 0x200001, 0x080000, CRC(651383c6) SHA1(8291f86b230eee3a2ebcc926a8370777ee21ec47) )
3924 	ROM_RELOAD(                      0x300001, 0x080000             )
3925 
3926 	ROM_REGION( 0x2800000, REGION_GFX1, ROMREGION_DISPOSE )	/* Sprites */
3927 	ROM_LOAD( "jj1-a0.bin", 0x0000000, 0x400000, CRC(39bbbc46) SHA1(77c6b5e9d4315671ea79ec838baa7ae043bcd8c4) )
3928 	ROM_LOAD( "jj1-a1.bin", 0x0400000, 0x400000, CRC(26020133) SHA1(32c834655d885431d466f25a729aee2d589ade1b) )
3929 	ROM_LOAD( "jj1-a2.bin", 0x0800000, 0x200000, CRC(e993251e) SHA1(6cea12bbfc170ad4ecdc09c1728f88ec7534270a) )
3930 
3931 	ROM_LOAD( "jj1-b0.bin", 0x0a00000, 0x400000, CRC(8ee66b0a) SHA1(f5a641d54a3040b67d9b6e9533c4e1ed3dbc9e12) )
3932 	ROM_LOAD( "jj1-b1.bin", 0x0e00000, 0x400000, CRC(048719b3) SHA1(b81198d58afbc7ef2f7dc71cfef11d269bc1608f) )
3933 	ROM_LOAD( "jj1-b2.bin", 0x1200000, 0x200000, CRC(6e95af3f) SHA1(c4336a3f169143d5ab828ea527c08dcac27654c3) )
3934 
3935 	ROM_LOAD( "jj1-c0.bin", 0x1400000, 0x400000, CRC(9df28afc) SHA1(98ee75b028257614c3354d5ec7b3d4b27be75595) )
3936 	ROM_LOAD( "jj1-c1.bin", 0x1800000, 0x400000, CRC(eb470ed3) SHA1(ac0601eb57283c3ebb2daf20d07a2c350804b8e6) )
3937 	ROM_LOAD( "jj1-c2.bin", 0x1c00000, 0x200000, CRC(aaf72c2d) SHA1(774e713bbc4c2ed7ff7c9fb49a06246d97c33bad) )
3938 
3939 	ROM_LOAD( "jj1-d0.bin", 0x1e00000, 0x400000, CRC(2b3bd591) SHA1(0619b2779bd4bc19a5259040ccce0fdbefecf1d0) )
3940 	ROM_LOAD( "jj1-d1.bin", 0x2200000, 0x400000, CRC(f24c0d36) SHA1(212969b456bfd7cc00081f65c03c1e167186891a) )
3941 	ROM_LOAD( "jj1-d2.bin", 0x2600000, 0x200000, CRC(481b3be8) SHA1(cd1bcaca8c236cebba72d315e759b2e9d243aca8) )
3942 
3943 	ROM_REGION16_BE( 0x400000, REGION_SOUND1, ROMREGION_ERASE | ROMREGION_SOUNDONLY )	/* Samples */
3944 	ROM_LOAD16_BYTE( "jj1-snd0.bin", 0x000000, 0x200000, CRC(4f7d620a) SHA1(edded130ce7bb0f37e1f59b2771ae6a10a061f9e) )
3945 
3946 	ROM_REGION16_BE( 0x400000, REGION_SOUND2, ROMREGION_ERASE | ROMREGION_SOUNDONLY )	/* Samples */
3947 	ROM_LOAD16_BYTE( "jj1-snd1.bin", 0x000000, 0x200000, CRC(9b3a7ae5) SHA1(193743fcce779c4a8a73a44c54b5391d08116331) )
3948 ROM_END
3949 
3950 
3951 /***************************************************************************
3952 
3953 							Joryuu Syougi Kyoushitsu
3954 
3955 (c)1997 Visco, System SSV ROM board
3956 
3957 CPU : NEC JAPAN D70732GD-25 (C)NEC1991 V810 9651MK007
3958 OSC : 48.0000MHz
3959 
3960 ROMs:
3961 JSK-U4 .BIN [ec22fb41] - (27c1001)
3962 JSK-U24.BIN [1fa6e156]  |
3963 JSK-U38.BIN [8e5c0de3]  |
3964 JSK-U52.BIN [19cc585f] /
3965 
3966 JSK-U71.BIN [b529f331] - (27c1001)
3967 JSK-U72.BIN [41ed8a9f] /
3968 
3969 JSK-S0.U65  [8d1a9aeb] - (16M mask)
3970 
3971 JSK-A0.BIN  [4bac3196] - (16M mask)
3972 JSK-B0.BIN  [40664e5a]  |
3973 JSK-C0.BIN  [2a230e64]  |
3974 JSK-D0.BIN  [911e53a6] /
3975 
3976 GAL (not dumped):
3977 U53.BIN     [--------] - GAL16V8B
3978 U70.BIN     [--------] /
3979 
3980 ***************************************************************************/
3981 
3982 ROM_START( jsk )
3983 	ROM_REGION16_LE( 0x400000, REGION_USER1, 0 )		/* !! V810 Code !! */
3984 	ROM_LOAD32_BYTE( "jsk-u4.bin",  0x00000, 0x20000, CRC(ec22fb41) SHA1(c0d6b0a92075214a91da78be52d273771cb9f646) )	/* order?*/
3985 	ROM_LOAD32_BYTE( "jsk-u24.bin", 0x00001, 0x20000, CRC(1fa6e156) SHA1(4daedf660d89c185c945d4a526312f6528fe7b17) )
3986 	ROM_LOAD32_BYTE( "jsk-u38.bin", 0x00002, 0x20000, CRC(8e5c0de3) SHA1(54c5dfd858086b0eb7ffa82c19fb1dfd7752d50e) )
3987 	ROM_LOAD32_BYTE( "jsk-u52.bin", 0x00003, 0x20000, CRC(19cc585f) SHA1(b53138e93d40c0cf03aee838d7653f5665d9cf35) )
3988 
3989 	ROM_LOAD16_BYTE( "jsk-u72.bin", 0x80000, 0x20000, CRC(41ed8a9f) SHA1(a81efc91fbf1abc70ed64f4fa9b828a8b6f554ec) )
3990 	ROM_LOAD16_BYTE( "jsk-u71.bin", 0x80001, 0x20000, CRC(b529f331) SHA1(be6259f5c3a6106280a4b519f83ee008d761be4e) )
3991 
3992 	ROM_REGION( 0x1000000, REGION_GFX1, ROMREGION_DISPOSE )	/* Sprites */
3993 	ROM_LOAD( "jsk-a0.bin", 0x0000000, 0x200000, CRC(4bac3196) SHA1(e9530278f60e789074411c6b2f20695c3af87b87) )
3994 	ROM_LOAD( "jsk-b0.bin", 0x0400000, 0x200000, CRC(40664e5a) SHA1(ba0c24f727d502688a37ed67dad0e3aaad33afc4) )
3995 	ROM_LOAD( "jsk-c0.bin", 0x0800000, 0x200000, CRC(2a230e64) SHA1(2af8144b84703f896971a2819d7b7a1f662cec92) )
3996 	ROM_LOAD( "jsk-d0.bin", 0x0c00000, 0x200000, CRC(911e53a6) SHA1(9657180b4371172babcb21ad93c6253ac5d58f86) )
3997 
3998 	ROM_REGION16_BE( 0x400000, REGION_SOUND1, ROMREGION_ERASE | ROMREGION_SOUNDONLY )	/* Samples */
3999 	ROM_LOAD16_BYTE( "jsk-s0.u65", 0x000000, 0x200000, CRC(8d1a9aeb) SHA1(37316bd3e8cbe2a84239e1a11a56d4fe4723ae1a) )
4000 
4001 	ROM_REGION16_BE( 0x400000, REGION_SOUND2, ROMREGION_SOUNDONLY )	/* Samples */
4002 	ROM_COPY( REGION_SOUND1, 0x000000, 0x000000, 0x400000 )
4003 
4004 	ROM_REGION16_BE( 0x400000, REGION_SOUND3, ROMREGION_SOUNDONLY ) /* Samples */
4005 	ROM_COPY( REGION_SOUND1, 0x000000, 0x000000, 0x400000 )
4006 
4007 	ROM_REGION16_BE( 0x400000, REGION_SOUND4, ROMREGION_SOUNDONLY ) /* Samples */
4008 	ROM_COPY( REGION_SOUND1, 0x000000, 0x000000, 0x400000 )
4009 ROM_END
4010 
4011 
4012 /***************************************************************************
4013 
4014 				Dramatic Adventure Quiz Keith & Lucy (Japan)
4015 
4016 (c)1993 Visco, SSV system
4017 
4018 STS-0001 (ROM board)
4019 
4020 ***************************************************************************/
4021 
4022 ROM_START( keithlcy )
4023 	ROM_REGION16_LE( 0x200000, REGION_USER1, 0 )		/* V60 Code */
4024 	ROM_LOAD16_WORD( "vg002-07.u28", 0x000000, 0x100000, CRC(57f80ff5) SHA1(9dcc35a79d3799407190d113e0f1b57864d6c56a) )	/* "SETA SoundDriver"*/
4025 	ROM_LOAD16_BYTE( "kl-p0l.u26",   0x100000, 0x080000, CRC(d7b177fb) SHA1(2a3533b952a7b2404720916662743c144e870c0b) )
4026 	ROM_LOAD16_BYTE( "kl-p0h.u27",   0x100001, 0x080000, CRC(9de7add4) SHA1(16f4405b12734cb6a83cff8be21d03bb3c2e2266) )
4027 
4028 	ROM_REGION( 0x800000, REGION_GFX1, ROMREGION_DISPOSE )	/* Sprites */
4029 	ROM_LOAD( "vg002-01.u13", 0x000000, 0x200000, CRC(b44d85b2) SHA1(cf78d46f9f2594a23af08a898afbf5dd609abcec) )
4030 	ROM_LOAD( "vg002-02.u16", 0x200000, 0x200000, CRC(aa05fd14) SHA1(9144e9668788fcd45bd6c8464f9b4f865397f783) )
4031 	ROM_LOAD( "vg002-03.u21", 0x400000, 0x200000, CRC(299a8a7d) SHA1(b24d8ffba01d345f48f47f92e58e9b2a9ec62526) )
4032 	ROM_LOAD( "vg002-04.u34", 0x600000, 0x200000, CRC(d3633f9b) SHA1(250a25b75a4810a676a02c390bb597b6f1cd7494) )
4033 
4034 	ROM_REGION16_BE( 0x400000, REGION_SOUND1, ROMREGION_SOUNDONLY )	/* Samples */
4035 	ROM_LOAD16_WORD_SWAP( "vg002-05.u29", 0x000000, 0x200000, CRC(66aecd79) SHA1(7735034b8fb35ad5e7916acd0c2e224a7c62e195) )
4036 	ROM_LOAD16_WORD_SWAP( "vg002-06.u33", 0x200000, 0x200000, CRC(75d8c8ea) SHA1(545768ac6d8953cd3044680953476276337a94b9) )
4037 ROM_END
4038 
4039 
4040 /***************************************************************************
4041 
4042 							Koi Koi Simasyo 2 (Japan)
4043 
4044 (c)1997 Visco, SSV System
4045 
4046 VISCO-JJ1 (same board as janjans1)
4047 
4048 OSC  :8.00000MHz
4049 
4050 KK2_A0.BIN   [0c89a9ae] GFX (32M mask)
4051 KK2_A1.BIN   [3f85ff19]  |
4052 KK2_B0.BIN   [4d028972]  |
4053 KK2_B1.BIN   [16e085f7]  |
4054 KK2_C0.BIN   [34b699d9]  |
4055 KK2_C1.BIN   [896fbb6f]  |
4056 KK2_D0.BIN   [0e3005a4]  |
4057 KK2_D1.BIN   [0116a5fb] /
4058 
4059 U26.BIN      [4be937a1] Programs (27c4001) (PROL)
4060 U27.BIN      [25f39d93] /                  (PROH)
4061 
4062 KK2_SND0.BIN [b27eaa94] Sound (16M mask)
4063 KK2_SND1.BIN [e5a963e1] /
4064 
4065 (socket for DATA ROM is empty)
4066 
4067 ***************************************************************************/
4068 
4069 ROM_START( koikois2 )
4070 	ROM_REGION16_LE( 0x400000, REGION_USER1, 0 )		/* V60 Code */
4071 /*	socket for DATA ROM is empty*/
4072 	ROM_LOAD16_BYTE( "u26.bin", 0x200000, 0x080000, CRC(4be937a1) SHA1(b2c22ec12fc110984bd1914f8e3e16a8cb866816) )
4073 	ROM_RELOAD(                 0x300000, 0x080000             )
4074 	ROM_LOAD16_BYTE( "u27.bin", 0x200001, 0x080000, CRC(25f39d93) SHA1(a36bc2fe5657f6ceada724fd42843e19408b39b8) )
4075 	ROM_RELOAD(                 0x300001, 0x080000             )
4076 
4077 	ROM_REGION( 0x2000000, REGION_GFX1, ROMREGION_DISPOSE ) /* Sprites */
4078  	ROM_LOAD( "kk2-a0.bin", 0x0000000, 0x400000, CRC(b94b76c2) SHA1(07ce3e3946669c1bd2f022da9861164625be9c1b) )
4079  	ROM_LOAD( "kk2-a1.bin", 0x0400000, 0x200000, CRC(a7c99f56) SHA1(de341e99f76446fab4d7f09c2d8a6f18554b5d2f) )
4080 
4081  	ROM_LOAD( "kk2-b0.bin", 0x0800000, 0x400000, CRC(4d028972) SHA1(732c874d3511c7bce006436d557ec24e54df0166) )
4082  	ROM_LOAD( "kk2-b1.bin", 0x0c00000, 0x200000, CRC(778ec9fb) SHA1(5983f0292e274e3da098b461355e2c001f4881b3) )
4083 
4084  	ROM_LOAD( "kk2-c0.bin", 0x1000000, 0x400000, CRC(34b699d9) SHA1(b5208d5f70f21725e54c9dc59de73f1a5646a72c) )
4085  	ROM_LOAD( "kk2-c1.bin", 0x1400000, 0x200000, CRC(ab451e88) SHA1(0c4d6c0c758f2ab4210c201605dd573661b6c553) )
4086 
4087  	ROM_LOAD( "kk2-d0.bin", 0x1800000, 0x400000, CRC(0e3005a4) SHA1(fa8da58308d58bb6b2e8beb8ee8f7ea08b18f4d9) )
4088  	ROM_LOAD( "kk2-d1.bin", 0x1c00000, 0x200000, CRC(17a02252) SHA1(c7aa61e27f197b3c497a65a9369e3a6a20c9f82a) )
4089 
4090 	ROM_REGION16_BE( 0x400000, REGION_SOUND1, ROMREGION_ERASE | ROMREGION_SOUNDONLY )	/* Samples */
4091 	ROM_LOAD16_BYTE( "kk2_snd0.bin", 0x000000, 0x200000, CRC(b27eaa94) SHA1(05baaef683a1fcd9eb8a7cfd5b280c05108e832f) )
4092 
4093 	ROM_REGION16_BE( 0x400000, REGION_SOUND2, ROMREGION_ERASE | ROMREGION_SOUNDONLY )	/* Samples */
4094 	ROM_LOAD16_BYTE( "kk2_snd1.bin", 0x000000, 0x200000, CRC(e5a963e1) SHA1(464ffd53ac2e6db62225b18d12bfea93160771ec) )
4095 
4096 	ROM_REGION16_BE( 0x400000, REGION_SOUND3, ROMREGION_SOUNDONLY ) /* Samples */
4097 	ROM_COPY( REGION_SOUND1, 0x000000, 0x000000, 0x400000 )
4098 
4099 	ROM_REGION16_BE( 0x400000, REGION_SOUND4, ROMREGION_SOUNDONLY ) /* Samples */
4100 	ROM_COPY( REGION_SOUND2, 0x000000, 0x000000, 0x400000 )
4101 ROM_END
4102 
4103 
4104 /***************************************************************************
4105 
4106 						Meosis Magic (Japan, BET?)
4107 
4108 (c)1996 Sammy, SSV System
4109 
4110 P1-105A
4111 
4112 Custom:		DX-102 (I/O)
4113 Others:		M62X42B (RTC?)
4114 			64k SRAM (Back up)
4115 			Ni-Cd Battery
4116 
4117 ***************************************************************************/
4118 
4119 ROM_START( meosism )
4120 	ROM_REGION16_LE( 0x100000, REGION_USER1, 0 )		/* V60 Code */
4121 	ROM_LOAD16_BYTE( "s15-2-2.u47", 0x000000, 0x080000, CRC(2ab0373f) SHA1(826aec3b9698ec5db5d7a72c3a24b1ef779fb227) )
4122 	ROM_LOAD16_BYTE( "s15-2-1.u46", 0x000001, 0x080000, CRC(a4bce148) SHA1(17ec4d91e215bd38258329b1a71e7f135c5733ad) )
4123 
4124 	ROM_REGION( 0x800000, REGION_GFX1, ROMREGION_DISPOSE )	/* Sprites */
4125 	ROM_LOAD( "s15-1-7.u7", 0x000000, 0x200000, CRC(ec5023cb) SHA1(3406f5143a40c8dcd2d45b44ea91c737810ab05b) )
4126 	ROM_LOAD( "s15-1-8.u6", 0x200000, 0x200000, CRC(f04b0836) SHA1(83678427cd0ed0d68ff770baa2693226b391f6c8) )
4127 	ROM_LOAD( "s15-1-5.u9", 0x400000, 0x200000, CRC(c0414b97) SHA1(3ca8423e04f606981d158065e38431f2509e1daa) )
4128 	ROM_LOAD( "s15-1-6.u8", 0x600000, 0x200000, CRC(d721aeb6) SHA1(3bef7e027a0e14fbf589aee32a6d9cab779da7d4) )
4129 
4130 /*	The chip seems to use REGION1 too, but produces no sound from there.*/
4131 
4132 	ROM_REGION16_BE( 0x400000, REGION_SOUND3, ROMREGION_SOUNDONLY )	/* Samples */
4133 	ROM_LOAD16_WORD_SWAP( "s15-1-4.u45", 0x000000, 0x200000, CRC(0c6738a7) SHA1(acf9056bb052db7a11cf903d77ab16425d813835) )
4134 	ROM_LOAD16_WORD_SWAP( "s15-1-3.u43", 0x200000, 0x200000, CRC(d7e83178) SHA1(74e5c09f6d3b2c8e1c1cc2b0eab0490b5bbc9099) )
4135 ROM_END
4136 
4137 
4138 /***************************************************************************
4139 
4140 							Monster Slider (Japan)
4141 
4142 (c)1997 Visco/PATT, System SSV
4143 
4144 ms-pl.bin - V60 main program (27c4000, low)
4145 ms-ph.bin - V60 main program (27c4000, high)
4146 
4147 ms-snd0.bin \
4148             |- sound data (read as 27c160)
4149 ms-snd1.bin /
4150 
4151 ms-a0.bin \
4152 ms-b0.bin |- Graphics (read as 27c160)
4153 ms-c0.bin /
4154 
4155 ms-a1.bin \
4156 ms-b1.bin |- Graphics (27c4100)
4157 ms-c1.bin /
4158 
4159 vg001-14 \
4160          |- (GAL16V8. not dumped)
4161 vg001-15 /
4162 
4163 Other parts:	uPD71051
4164 				OSC 8.0000MHz
4165 
4166 ***************************************************************************/
4167 
4168 ROM_START( mslider )
4169 	ROM_REGION16_LE( 0x100000, REGION_USER1, 0 )		/* V60 Code */
4170 	ROM_LOAD16_BYTE( "ms-pl.bin", 0x000000, 0x080000, CRC(70b2a05d) SHA1(387cf67e3e505c4cc1b5cd0b6c9fb3bc27d07e24) )
4171 	ROM_LOAD16_BYTE( "ms-ph.bin", 0x000001, 0x080000, CRC(34a64e9f) SHA1(acf3d8490f3ec99b6171e71328a991fcc9c5a8b1) )
4172 
4173 	ROM_REGION( 0xa00000, REGION_GFX1, ROMREGION_DISPOSE )	/* Sprites */
4174 	ROM_LOAD( "ms-a0.bin", 0x000000, 0x200000, CRC(7ed38ccc) SHA1(9c584a5f6b3aad8646d155a56e4070cfed4af540) )
4175 	ROM_LOAD( "ms-a1.bin", 0x200000, 0x080000, CRC(83f5995f) SHA1(33ae99a96702d4aba422eaf454b86c96aaf88426) )
4176 
4177 	ROM_LOAD( "ms-b0.bin", 0x280000, 0x200000, CRC(faa076e1) SHA1(cca583c617e5d4ab995605dd16280931893991c7) )
4178 	ROM_LOAD( "ms-b1.bin", 0x480000, 0x080000, CRC(ef9748db) SHA1(34ab4524ec81b81ae2540f7d69e0f8254fd1b8f4) )
4179 
4180 	ROM_LOAD( "ms-c0.bin", 0x500000, 0x200000, CRC(f9d3e052) SHA1(4cdde756b24ee980f3c79a35a1fe071861fdeef9) )
4181 	ROM_LOAD( "ms-c1.bin", 0x700000, 0x080000, CRC(7f910c5a) SHA1(23ea13b6c07d3d31a25c21704d6a3e506578b199) )
4182 
4183 	ROM_FILL(              0x780000, 0x280000, 0          )
4184 
4185 	ROM_REGION16_BE( 0x400000, REGION_SOUND1, ROMREGION_SOUNDONLY )	/* Samples */
4186 	ROM_LOAD16_WORD_SWAP( "ms-snd0.bin", 0x000000, 0x200000, CRC(cda6e3a5) SHA1(28ad8f34bc4f907654582f3522b377b97234eba8) )
4187 	ROM_LOAD16_WORD_SWAP( "ms-snd1.bin", 0x200000, 0x200000, CRC(8f484b35) SHA1(cbf3ee7ec6337915f9d90a5b43d2de1eaa5537d0) )
4188 ROM_END
4189 
4190 
4191 /***************************************************************************
4192 
4193 					Gourmet Battle Quiz Ryohrioh CooKing (Japan)
4194 
4195 (c)1998 Visco, SSV System
4196 
4197 ***************************************************************************/
4198 
4199 ROM_START( ryorioh )
4200 	ROM_REGION16_LE( 0x400000, REGION_USER1, 0 )		/* V60 Code */
4201 	ROM_LOAD( "ryorioh.dat",      0x000000, 0x200000, CRC(d1335a6a) SHA1(a5670ab3c399736232baaabc59573bdb3bf762da) )
4202 	ROM_LOAD16_BYTE( "ryorioh.l", 0x200000, 0x080000, CRC(9ad60e7d) SHA1(572b84bab08eb8293d93e03182d9871d8973b7dd) )
4203 	ROM_RELOAD(                   0x300000, 0x080000             )
4204 	ROM_LOAD16_BYTE( "ryorioh.h", 0x200001, 0x080000, CRC(0655fcff) SHA1(2c088e42323f87e01b65f9f523e258f881d4e773) )
4205 	ROM_RELOAD(                   0x300001, 0x080000             )
4206 
4207 	ROM_REGION( 0x2000000, REGION_GFX1, ROMREGION_DISPOSE )	/* Sprites */
4208 	ROM_LOAD( "ryorioh.a0", 0x0000000, 0x400000, CRC(f76ee003) SHA1(04022238dcfd5cf0e4f97c3c3b24df574ec6b609) )
4209 	ROM_LOAD( "ryorioh.a1", 0x0400000, 0x400000, CRC(ca44d66d) SHA1(d5ed2bbc9831182b212533bd67bb3831f655110a) )
4210 
4211 	ROM_LOAD( "ryorioh.b0", 0x0800000, 0x400000, CRC(daa134f4) SHA1(c3dce66b2c67061ae980374f7559b2bb8ef2502d) )
4212 	ROM_LOAD( "ryorioh.b1", 0x0c00000, 0x400000, CRC(7611697c) SHA1(febb0bc5f3bc8766be4377092c8443a489379bca) )
4213 
4214 	ROM_LOAD( "ryorioh.c0", 0x1000000, 0x400000, CRC(20eb49cf) SHA1(13c201e28be17cdfc7e6266a6d1fb41cfbe04b53) )
4215 	ROM_LOAD( "ryorioh.c1", 0x1400000, 0x400000, CRC(1370c75e) SHA1(30dfe37f3fab0e3e94df4a6d45f1291ad41e0147) )
4216 
4217 	ROM_LOAD( "ryorioh.d0", 0x1800000, 0x400000, CRC(ffa14ef1) SHA1(22a6992f6217d8ef2140e72063290fa34cb45683) )
4218 	ROM_LOAD( "ryorioh.d1", 0x1c00000, 0x400000, CRC(ae6055e8) SHA1(ee20a7b3c4f899404ca259991509728d3a0f96b9) )
4219 
4220 	ROM_REGION16_BE( 0x400000, REGION_SOUND1, ROMREGION_ERASE | ROMREGION_SOUNDONLY )	/* Samples */
4221 	ROM_LOAD16_BYTE( "ryorioh.snd", 0x000000, 0x200000, CRC(7bd38b76) SHA1(d8490b4af839ef0802b8b2a47277fcd4091e4d37) )
4222 ROM_END
4223 
4224 
4225 /***************************************************************************
4226 
4227 							Super Real Mahjong PIV
4228 
4229 (c)SETA 1993, System SSV
4230 
4231 CPU        : V60 (12MHz)
4232 Sound      : Ensoniq OTTO
4233 Work RAM   : 256Kbit (expandable to 1Mbitx2. SRMP7 requires this)
4234 Object RAM : 1Mbitx2
4235 Palette RAM: 256Kbitx3 (expandable to 1Mbitx3)
4236 
4237 sx001-01.a0 \
4238 sx001-02.b0 |
4239 sx001-03.c0 |
4240 sx001-04.a1 |
4241 sx001-05.b1 |- Graphics (16M Mask)
4242 sx001-06.c1 |
4243 sx001-07.a2 |
4244 sx001-08.b2 |
4245 sx001-09.c2 /
4246 
4247 sx001-10.sd0 - Sound - 16M Mask
4248 
4249 sx001-11.prl - Main program (low)  - 27c040
4250 sx001-12.prh - Main program (high) - 27c040
4251 
4252 Custom chips
4253 ST-0004 (Video DAC)
4254 ST-0005 (Parallel I/O)
4255 ST-0006 (Video controller - 32768 palettes from 24bit color)
4256 ST-0007 (System controller)
4257 
4258 ***************************************************************************/
4259 
4260 ROM_START( srmp4 )
4261 	ROM_REGION16_LE( 0x100000, REGION_USER1, 0 )		/* V60 Code */
4262 	ROM_LOAD16_BYTE( "sx001-14.prl", 0x000000, 0x080000, CRC(19aaf46e) SHA1(0c0f5acc1880971c56e7e2c2e3ad7c2932b82d4b) )
4263 	ROM_LOAD16_BYTE( "sx001-15.prh", 0x000001, 0x080000, CRC(dbd31399) SHA1(a77dc85f481454b10223d7f4e0395e07d2f8d4f3) )
4264 
4265 	ROM_REGION( 0x1800000, REGION_GFX1, ROMREGION_DISPOSE )	/* Sprites */
4266 	ROM_LOAD( "sx001-01.a0", 0x0000000, 0x200000, CRC(94ee9203) SHA1(a0e944a375f94e9dd668b06f15580384902d0fe1) )
4267 	ROM_LOAD( "sx001-04.a1", 0x0200000, 0x200000, CRC(38c9c49a) SHA1(c392d1cf5d16a348bdaa7222f2420a61a831a50a) )
4268 	ROM_LOAD( "sx001-07.a2", 0x0400000, 0x200000, CRC(ee66021e) SHA1(f4df2bdf8100a3bd39bb61f9bb4807ca9e13537a) )
4269 
4270 	ROM_LOAD( "sx001-02.b0", 0x0600000, 0x200000, CRC(adffb598) SHA1(fab372aebfbb12feaf7a7716a780cf2e5cc60731) )
4271 	ROM_LOAD( "sx001-05.b1", 0x0800000, 0x200000, CRC(4c400a38) SHA1(42623d6134fb6d8ce9059f7774c6bf4d2ea5d2d9) )
4272 	ROM_LOAD( "sx001-08.b2", 0x0a00000, 0x200000, CRC(36efd52c) SHA1(f51c6d9ceff02b9ee3f8e4ffa17f6c00ee9de905) )
4273 
4274 	ROM_LOAD( "sx001-03.c0", 0x0c00000, 0x200000, CRC(4336b037) SHA1(f42c5622e141e384efb52955f7f6a58a8ba8fc2c) )
4275 	ROM_LOAD( "sx001-06.c1", 0x0e00000, 0x200000, CRC(6fe7229e) SHA1(e1432aa500460f79b5b78ee4b249d8fc9f566ce1) )
4276 	ROM_LOAD( "sx001-09.c2", 0x1000000, 0x200000, CRC(91dd8218) SHA1(a500dca9eefbf93187b1dfde7ddff1d22b886d44) )
4277 
4278 	ROM_FILL(                0x1200000, 0x600000, 0          )
4279 
4280 	ROM_REGION16_BE( 0x400000, REGION_SOUND1, ROMREGION_SOUNDONLY )	/* Samples */
4281 	ROM_LOAD16_WORD_SWAP( "sx001-10.sd0", 0x000000, 0x200000, CRC(45409ef1) SHA1(327d0a63deac6f0f8b9a408a321c03dd4e965569) )
4282 	ROM_RELOAD(                           0x200000, 0x200000             )
4283 ROM_END
4284 
4285 ROM_START( srmp4o )
4286 	ROM_REGION16_LE( 0x100000, REGION_USER1, 0 )		/* V60 Code */
4287 	ROM_LOAD16_BYTE( "sx001-11.prl", 0x000000, 0x080000, CRC(dede3e64) SHA1(6fe998babfd2ad8f268c59bd365115a2d7cfc8f9) )
4288 	ROM_LOAD16_BYTE( "sx001-12.prh", 0x000001, 0x080000, CRC(739c53c3) SHA1(68f12cf42177df208ff6499ccc7ccc1423e3ad5f) )
4289 
4290 	ROM_REGION( 0x1800000, REGION_GFX1, ROMREGION_DISPOSE )	/* Sprites */
4291 	ROM_LOAD( "sx001-01.a0", 0x0000000, 0x200000, CRC(94ee9203) SHA1(a0e944a375f94e9dd668b06f15580384902d0fe1) )
4292 	ROM_LOAD( "sx001-04.a1", 0x0200000, 0x200000, CRC(38c9c49a) SHA1(c392d1cf5d16a348bdaa7222f2420a61a831a50a) )
4293 	ROM_LOAD( "sx001-07.a2", 0x0400000, 0x200000, CRC(ee66021e) SHA1(f4df2bdf8100a3bd39bb61f9bb4807ca9e13537a) )
4294 
4295 	ROM_LOAD( "sx001-02.b0", 0x0600000, 0x200000, CRC(adffb598) SHA1(fab372aebfbb12feaf7a7716a780cf2e5cc60731) )
4296 	ROM_LOAD( "sx001-05.b1", 0x0800000, 0x200000, CRC(4c400a38) SHA1(42623d6134fb6d8ce9059f7774c6bf4d2ea5d2d9) )
4297 	ROM_LOAD( "sx001-08.b2", 0x0a00000, 0x200000, CRC(36efd52c) SHA1(f51c6d9ceff02b9ee3f8e4ffa17f6c00ee9de905) )
4298 
4299 	ROM_LOAD( "sx001-03.c0", 0x0c00000, 0x200000, CRC(4336b037) SHA1(f42c5622e141e384efb52955f7f6a58a8ba8fc2c) )
4300 	ROM_LOAD( "sx001-06.c1", 0x0e00000, 0x200000, CRC(6fe7229e) SHA1(e1432aa500460f79b5b78ee4b249d8fc9f566ce1) )
4301 	ROM_LOAD( "sx001-09.c2", 0x1000000, 0x200000, CRC(91dd8218) SHA1(a500dca9eefbf93187b1dfde7ddff1d22b886d44) )
4302 
4303 	ROM_FILL(                0x1200000, 0x600000, 0          )
4304 
4305 	ROM_REGION16_BE( 0x400000, REGION_SOUND1, ROMREGION_SOUNDONLY )	/* Samples */
4306 	ROM_LOAD16_WORD_SWAP( "sx001-10.sd0", 0x000000, 0x200000, CRC(45409ef1) SHA1(327d0a63deac6f0f8b9a408a321c03dd4e965569) )
4307 	ROM_RELOAD(                           0x200000, 0x200000             )
4308 ROM_END
4309 
4310 
4311 /***************************************************************************
4312 
4313 							Super Real Mahjong P7 (Japan)
4314 
4315 (c)1997 Seta, SSV system
4316 
4317 ***************************************************************************/
4318 
4319 ROM_START( srmp7 )
4320 	ROM_REGION16_LE( 0x400000, REGION_USER1, 0 )		/* V60 Code */
4321 	ROM_LOAD16_WORD( "sx015-10.dat", 0x000000, 0x200000, CRC(fad3ac6a) SHA1(9a4695c06bc74ca4de0c1a83bdf38f6651c0e2a1) )
4322 	ROM_LOAD16_BYTE( "sx015-07.pr0", 0x200000, 0x080000, CRC(08d7f841) SHA1(67567acff0ce278576290a896005de0397605eef) )
4323 	ROM_RELOAD(                      0x300000, 0x080000             )
4324 	ROM_LOAD16_BYTE( "sx015-08.pr1", 0x200001, 0x080000, CRC(90307825) SHA1(13b3f82c8854808684bd41deb0bbd442efe7b685) )
4325 	ROM_RELOAD(                      0x300001, 0x080000             )
4326 
4327 	ROM_REGION( 0x4000000, REGION_GFX1, ROMREGION_DISPOSE )	/* Sprites */
4328 	ROM_LOAD( "sx015-26.a0", 0x0000000, 0x400000, CRC(a997be9d) SHA1(37470af24531557113f953f727f6b8cab602a7d3) )
4329 	ROM_LOAD( "sx015-25.a1", 0x0400000, 0x400000, CRC(29ac4211) SHA1(32edf3982b0e27077cc17cd38b67a27d36dc3ad8) )
4330 	ROM_LOAD( "sx015-24.a2", 0x0800000, 0x400000, CRC(b8fea3da) SHA1(9c3a53348f72f39d84d078068c62b10920854cd0) )
4331 	ROM_LOAD( "sx015-23.a3", 0x0c00000, 0x400000, CRC(9ec0b81e) SHA1(fe9550592852db8a0fc38f8af444c4c137b803eb) )
4332 
4333 	ROM_LOAD( "sx015-22.b0", 0x1000000, 0x400000, CRC(62c3df07) SHA1(2c2b7ccc53d0ccc78f599d0789d38296935c0316) )
4334 	ROM_LOAD( "sx015-21.b1", 0x1400000, 0x400000, CRC(55b8a431) SHA1(ccdc70b27c7fc9efe2c20df23f01b96f3b542d72) )
4335 	ROM_LOAD( "sx015-20.b2", 0x1800000, 0x400000, CRC(e84a64d7) SHA1(af7a04cebb1ccbbd76812f7b6f7bb79023aff291) )
4336 	ROM_LOAD( "sx015-19.b3", 0x1c00000, 0x400000, CRC(994b5063) SHA1(0c44e94773160e75ef03f7ceb95ab1b123ae3ecf) )
4337 
4338 	ROM_LOAD( "sx015-18.c0", 0x2000000, 0x400000, CRC(72d43fd4) SHA1(96582adae0bf1cc8359dd1ecc0d00a42d306c565) )
4339 	ROM_LOAD( "sx015-17.c1", 0x2400000, 0x400000, CRC(fdfd82f1) SHA1(005b60fd7bf9f61ecd16daa6e6bb213ed6a9875b) )
4340 	ROM_LOAD( "sx015-16.c2", 0x2800000, 0x400000, CRC(86aa314b) SHA1(5cd238785f683d3a33f36c5a326d350805ef21ff) )
4341 	ROM_LOAD( "sx015-15.c3", 0x2c00000, 0x400000, CRC(11f50e16) SHA1(4e26aa84bea8b7e73056b0cc70661332fa7d9473) )
4342 
4343 	ROM_LOAD( "sx015-14.d0", 0x3000000, 0x400000, CRC(186f83fa) SHA1(6f03056b766c223fef639627706c2476f9af378d) )
4344 	ROM_LOAD( "sx015-13.d1", 0x3400000, 0x400000, CRC(ea6e5329) SHA1(614dd8d36d94a4c8b2b0c30ec96c6d183065561e) )
4345 	ROM_LOAD( "sx015-12.d2", 0x3800000, 0x400000, CRC(80336523) SHA1(ec66e21fe1401fdb438e03657542a7b6b0cbc5ce) )
4346 	ROM_LOAD( "sx015-11.d3", 0x3c00000, 0x400000, CRC(134c8e28) SHA1(669118b58f27d5e2e08052debe904f95d9ab32a3) )
4347 
4348 	ROM_REGION16_BE( 0x400000, REGION_SOUND1, ROMREGION_ERASE | ROMREGION_SOUNDONLY )	/* Samples */
4349 	ROM_LOAD16_BYTE( "sx015-06.s0", 0x000000, 0x200000, CRC(0d5a206c) SHA1(2fdaf2a56b6608f20a788eb79a8426102ff33e14) )
4350 
4351 	ROM_REGION16_BE( 0x400000, REGION_SOUND2, ROMREGION_ERASE | ROMREGION_SOUNDONLY )	/* Samples */
4352 	ROM_LOAD16_BYTE( "sx015-05.s1", 0x000000, 0x200000, CRC(bb8cebe2) SHA1(3691e5fb4e963f69c1fe01cb5d968433029c4833) )
4353 
4354 	ROM_REGION16_BE( 0x800000, REGION_SOUND3, ROMREGION_ERASE | ROMREGION_SOUNDONLY )	/* Samples */
4355 	ROM_LOAD16_BYTE( "sx015-04.s2", 0x000000, 0x200000, CRC(f6e933df) SHA1(7cb69515a0ffc62fbac2be3a5fb322538560bd38) )
4356 	ROM_LOAD16_BYTE( "sx015-02.s4", 0x400000, 0x200000, CRC(6567bc3e) SHA1(e902f22f1499edc6a0e2c8b6cc26460d66a3bdbe) )
4357 
4358 	ROM_REGION16_BE( 0x800000, REGION_SOUND4, ROMREGION_ERASE | ROMREGION_SOUNDONLY )	/* Samples */
4359 	ROM_LOAD16_BYTE( "sx015-03.s3", 0x000000, 0x200000, CRC(5b51ab21) SHA1(cf3e86e41f7984208984d6486b04cec117dadc18) )
4360 	ROM_LOAD16_BYTE( "sx015-01.s5", 0x400000, 0x200000, CRC(481b00ed) SHA1(2c3d158dd5be9af0ee57fd5dd94d2ec75e28b182) )
4361 ROM_END
4362 
4363 
4364 /***************************************************************************
4365 
4366          Survival Arts
4367 
4368  Manufacturer: Sammy USA
4369  System Type: System SSV
4370 
4371  ----------------------
4372  System SSV (STA-0001)
4373  ----------------------
4374  CPU  : NEC D70615GD-16 (V60)
4375  Sound: Ensoniq ES5506 (OTTOR2)
4376  OSC  : 42.9545MHz(X2) 48.0000MHz(X3)
4377 
4378  Custom chips:
4379  ST-0004 (Video DAC)
4380  ST-0005 (Parallel I/O)
4381  ST-0006 (Video controller)
4382  ST-0007 (System controller)
4383 
4384  Program Work RAM  : 256Kbitx2 (expandable to 1Mx2)
4385  Object Work RAM   : 1Mbitx2
4386  Color Palette RAM : 256Kbitx3 (expandable to 1Mx3)
4387 
4388  -------------------------
4389  SSV Subboard (SAM-5127)
4390  -------------------------
4391  ROMs:
4392  USA-PR-H.u3 - V60 Program (27C4001)
4393  USA-PR-L.u4 /
4394 
4395  si001-10.s0 - Samples (16M-Mask)
4396  si001-12.s2 /
4397 
4398  si001-11.s1 - Samples (8M-Mask)
4399  si001-13.s3 /
4400 
4401  si001-01.a0 - Graphics (16M-Mask)
4402  si001-04.a1 |
4403  si001-05.a2 |
4404  si001-02.b0 |
4405  si001-05.b1 |
4406  si001-07.b2 |
4407  si001-03.c0 |
4408  si001-06.c1 |
4409  si001-09.c2 /
4410 
4411  Empty Sockets:
4412  DATA --- 16M-Mask
4413  A3     |
4414  B3     |
4415  C3     |
4416  D0-D3 /
4417 
4418  GAL:
4419  si003-14.u5 (16V8B)
4420 
4421  MISC:
4422  Pin Header for P3 (used)
4423  Pin Header for P4 (unused)
4424 
4425 ***************************************************************************/
4426 
4427 ROM_START( survarts )
4428 	ROM_REGION16_LE( 0x100000, REGION_USER1, 0 )		/* V60 Code */
4429 	ROM_LOAD16_BYTE( "usa-pr-l.u4", 0x000000, 0x080000, CRC(fa328673) SHA1(f7217eaa2a8d3fb7f706fa1aecaaa5b1b8d5e32c) )
4430 	ROM_LOAD16_BYTE( "usa-pr-h.u3", 0x000001, 0x080000, CRC(6bee2635) SHA1(a2d0517bf599331ef47beb8a902589039e4502e0) )
4431 
4432 	ROM_REGION( 0x1800000, REGION_GFX1, ROMREGION_DISPOSE )	/* Sprites */
4433 	ROM_LOAD( "si001-01.a0", 0x0000000, 0x200000, CRC(8b38fbab) SHA1(c4a67b24b33d4eef7b0f885bd69cae6c67bd3981) )
4434 	ROM_LOAD( "si001-04.a1", 0x0200000, 0x200000, CRC(34248b54) SHA1(077198f8de1622b71c580e34d5ad1b6bf3229fe9) )
4435 	ROM_LOAD( "si001-07.a2", 0x0400000, 0x200000, CRC(497d6151) SHA1(a9860c75943c0fd2991660ce2a9505edc6c2fa46) )
4436 
4437 	ROM_LOAD( "si001-02.b0", 0x0600000, 0x200000, CRC(cb4a2dbd) SHA1(26cdd1b54a3fa1dc3c3a8945d1a3562e9c62ace6) )
4438 	ROM_LOAD( "si001-05.b1", 0x0800000, 0x200000, CRC(8f092381) SHA1(6c49f1f5b3c31bd7c6a93ba0450d9f64fd512633) )
4439 	ROM_LOAD( "si001-08.b2", 0x0a00000, 0x200000, CRC(182b88c4) SHA1(a5b6a3e1fd67f036b1255385e81b6a3eb69f9f3f) )
4440 
4441 	ROM_LOAD( "si001-03.c0", 0x0c00000, 0x200000, CRC(92fdf652) SHA1(cf7aeb3a1e8ffe34cf24cb919a0ab3cc90202fa9) )
4442 	ROM_LOAD( "si001-06.c1", 0x0e00000, 0x200000, CRC(9a62f532) SHA1(7e7ba1224e52b33a9bd14058230efc871178c4f8) )
4443 	ROM_LOAD( "si001-09.c2", 0x1000000, 0x200000, CRC(0955e393) SHA1(0be9134190706eaee49177034b0536b05c4bc7ac) )
4444 
4445 	ROM_FILL(                0x1200000, 0x600000, 0          )
4446 
4447 /*	The chip seems to use REGION1 too, but produces no sound from there.*/
4448 
4449 	ROM_REGION16_BE( 0x400000, REGION_SOUND3, ROMREGION_SOUNDONLY )	/* Samples */
4450 	ROM_LOAD16_WORD_SWAP( "si001-10.s0", 0x000000, 0x100000, CRC(5642b333) SHA1(84936af8b3882e116b279e422075f35aabdd232f) )
4451 	ROM_LOAD16_WORD_SWAP( "si001-11.s1", 0x100000, 0x100000, CRC(a81e6ea6) SHA1(499f070500895ed7b6785b42fb6bbf973fc6dc04) )
4452 	ROM_LOAD16_WORD_SWAP( "si001-12.s2", 0x200000, 0x100000, CRC(e9b2b45b) SHA1(17fd27cdb8a0b9932cb1e71e0547c0d9d6fc7d06) )
4453 	ROM_LOAD16_WORD_SWAP( "si001-13.s3", 0x300000, 0x100000, CRC(d66a7e26) SHA1(57b659daef00421b6742963f792bd5e020f625c9) )
4454 ROM_END
4455 
4456 /*
4457 
4458 Dynagears
4459 Sammy, 1993
4460 
4461 This game runs on SSV hardware.
4462 
4463 Game PCB Layout
4464 ---------------
4465 
4466 SAM-5127
4467 |----------------------------------------|
4468 | SI002-10.U6                            |
4469 |                                        |
4470 | SI002-09.U7                            |
4471 |                                        |
4472 | SI002-08.U8                            |
4473 |                                        |
4474 | SI002-07.U9                            |
4475 |                                        |
4476 |                                        |
4477 |                                        |
4478 |                                        |
4479 |                                        |
4480 |                                        |
4481 |                                        |
4482 |                                        |
4483 |                           SI002-05.U22 |
4484 |                                        |
4485 |                           SI002-02.U23 |
4486 |                                        |
4487 |                                        |
4488 |SI002-PRH.U3                            |
4489 |                                        |
4490 |SI002-PRL.U4                            |
4491 |                                        |
4492 |             SI002-06.U16  SI002-04.U26 |
4493 |PAL                                     |
4494 |(SI002-14)   SI002-03.U17  SI002-01.U27 |
4495 |                                        |
4496 |----------------------------------------|
4497 
4498 */
4499 
4500 ROM_START( dynagear )
4501 	ROM_REGION16_LE( 0x200000, REGION_USER1, 0 )		/* V60 Code */
4502 	ROM_LOAD16_BYTE( "si002-prl.u4", 0x000000, 0x080000, CRC(71ba29c6) SHA1(ef43ab665daa4fc9ee01996d03f2f0b4c74c8435) )
4503 	ROM_LOAD16_BYTE( "si002-prh.u3", 0x000001, 0x080000, CRC(d0947a12) SHA1(95b54ed9dc51c952ad123103b8633a821cde05e9) )
4504 	ROM_LOAD16_BYTE( "si002-prl.u4", 0x100000, 0x080000, CRC(71ba29c6) SHA1(ef43ab665daa4fc9ee01996d03f2f0b4c74c8435) )
4505 	ROM_LOAD16_BYTE( "si002-prh.u3", 0x100001, 0x080000, CRC(d0947a12) SHA1(95b54ed9dc51c952ad123103b8633a821cde05e9) )
4506 
4507 	ROM_REGION( 0x1000000, REGION_GFX1, ROMREGION_DISPOSE )	/* Sprites */
4508 	ROM_LOAD( "si002-01.u27", 0x0000000, 0x200000, CRC(0060a521) SHA1(10cdb967e6cb4fc7c23c1ac40b24e35262060f5c) )
4509 	ROM_LOAD( "si002-04.u26", 0x0200000, 0x200000, CRC(6140f47d) SHA1(49dcebe724990acdac76746886efe88b68ce956f) )
4510 
4511 	ROM_LOAD( "si002-02.u23", 0x0400000, 0x200000, CRC(c22f2a41) SHA1(969affc8bac9a6024e7e5103384a40a6a2acf653) )
4512 	ROM_LOAD( "si002-05.u22", 0x0600000, 0x200000, CRC(482412fd) SHA1(dfb896631b6999ce8ac6aeef84ff44150d67739a) )
4513 
4514 	ROM_LOAD( "si002-03.u17", 0x0800000, 0x200000, CRC(4261a6b8) SHA1(df163faa84a86f126d5d405aef316ff9dd3c05eb) )
4515 	ROM_LOAD( "si002-06.u16", 0x0a00000, 0x200000, CRC(0e1f23f6) SHA1(ea35c75776b75131ef9133a16a36d95132dc6776) )
4516 
4517 	ROM_FILL(                0xc00000, 0x400000, 0          )
4518 
4519 /*	The chip seems to use REGION1 too, but produces no sound from there.*/
4520 
4521 	ROM_REGION16_BE( 0x400000, REGION_SOUND3, ROMREGION_SOUNDONLY )	/* Samples */
4522 	ROM_LOAD16_WORD_SWAP( "si002-07.u9", 0x000000, 0x100000, CRC(30d2bf11) SHA1(263e9a4e6a77aa451daf6d1225071cc1147a6541) )
4523 	ROM_LOAD16_WORD_SWAP( "si002-08.u8", 0x100000, 0x100000, CRC(253704ee) SHA1(887ebca2af497fc59b274838cdf284223cc92c97) )
4524 	ROM_LOAD16_WORD_SWAP( "si002-09.u7", 0x200000, 0x100000, CRC(1ea86db7) SHA1(e887ea5be99f753e73355a45e37dfddb2a1d6cf6) )
4525 	ROM_LOAD16_WORD_SWAP( "si002-10.u6", 0x300000, 0x100000, CRC(e369c177) SHA1(646aad00a8f9eda847e9a51fb0a511bf49eb9fe2) )
4526 ROM_END
4527 
4528 
4529 /***************************************************************************
4530 
4531 						Pachinko Sexy Reaction (Japan)
4532 
4533 (c)1998 Sammy, SSV system
4534 
4535 P1-112C (ROM board)
4536 
4537 Chips:	DX-102 x2
4538 		uPD7001C (ADC?)
4539 		64k NVRAM
4540 
4541 ***************************************************************************/
4542 
4543 ROM_START( sxyreact )
4544 	ROM_REGION16_LE( 0x200000, REGION_USER1, 0 )		/* V60 Code */
4545 	ROM_LOAD16_BYTE( "ac414e00.u2",  0x000000, 0x080000, CRC(d5dd7593) SHA1(ad1c7c2f27e0423ab346172a5c91316c9c0b3620) )
4546 	ROM_LOAD16_BYTE( "ac413e00.u1",  0x000001, 0x080000, CRC(f46aee4a) SHA1(8336304797987321903977373dec027cfca2e211) )
4547 	ROM_LOAD16_BYTE( "ac416e00.u47", 0x100000, 0x080000, CRC(e0f7bba9) SHA1(5eafd72c9fa4588f18fa02113a93abdcaf8d8693) )
4548 	ROM_LOAD16_BYTE( "ac415e00.u46", 0x100001, 0x080000, CRC(92de1b5f) SHA1(69e30ffc0c59e7dafe3f9c76bfee782028dab042) )
4549 
4550 	ROM_REGION( 0x2800000, REGION_GFX1, ROMREGION_DISPOSE )	/* Sprites */
4551 	ROM_LOAD( "ac1401m0.u6",  0x0000000, 0x400000, CRC(0b7b693c) SHA1(1e65c3f55cf3aa63d4229d30b5894c89b83cdf3e) )
4552 	ROM_LOAD( "ac1402m0.u9",  0x0400000, 0x400000, CRC(9d593303) SHA1(c02037fabe8a74f01a25357ffdd3ce01b930008b) )
4553 	ROM_LOAD( "ac1403m0.u12", 0x0800000, 0x200000, CRC(af433eca) SHA1(dfd83eba390171d93bc6888cc1d24a9a38d900bd) )
4554 
4555 	ROM_LOAD( "ac1404m0.u7",  0x0a00000, 0x400000, CRC(cdda2ccb) SHA1(c22ff59e1cf621e0288537be567e0b42bf8e9bcf) )
4556 	ROM_LOAD( "ac1405m0.u10", 0x0e00000, 0x400000, CRC(e5e7a5df) SHA1(9ab32f2a1ef055825b6cd3f643af1bd62c53f46a) )
4557 	ROM_LOAD( "ac1406m0.u13", 0x1200000, 0x200000, CRC(c7053409) SHA1(468527a24ea592dbd884431ca57d43790cbc2456) )
4558 
4559 	ROM_LOAD( "ac1407m0.u8",  0x1400000, 0x400000, CRC(28c83d5e) SHA1(abf4f0c1e2caa5cfa5a18fc95c025d73d6a8bc95) )
4560 	ROM_LOAD( "ac1408m0.u11", 0x1800000, 0x400000, CRC(c45bab47) SHA1(d00802005e091088eabeb672a6428417db43cb66) )
4561 	ROM_LOAD( "ac1409m0.u14", 0x1c00000, 0x200000, CRC(be1c66c2) SHA1(6d7b60d3b4286a768eac122c3d163e6e5287adc3) )
4562 
4563 	ROM_FILL(                 0x1e00000, 0xa00000, 0          )
4564 
4565 	ROM_REGION16_BE( 0x400000, REGION_SOUND1, ROMREGION_SOUNDONLY )	/* Samples */
4566 	ROM_LOAD16_WORD_SWAP( "ac1410m0.u41", 0x000000, 0x400000, CRC(2a880afc) SHA1(193235bccde28a7d693a1a1f0159260a3a63a7d5) )
4567 
4568 	ROM_REGION16_BE( 0x400000, REGION_SOUND2, ROMREGION_SOUNDONLY ) /* Samples */
4569 	ROM_LOAD16_WORD_SWAP( "ac1411m0.u42", 0x200000, 0x200000, CRC(2ba4ca43) SHA1(9cddf57094e68d3840a37f44fbdf2f43f539ba11) )
4570 	ROM_CONTINUE( 0x000000, 0x200000 )	/* this will go in region 3*/
4571 
4572 	/* a few sparse samples are played from here*/
4573 	ROM_REGION16_BE( 0x400000, REGION_SOUND3, ROMREGION_SOUNDONLY )	/* Samples */
4574 	ROM_COPY( REGION_SOUND2, 0x000000,    0x200000, 0x200000 )
4575 ROM_END
4576 
4577 
4578 /***************************************************************************
4579 
4580 								Storm Blade
4581 CPU  : NEC D70615GD-16-S (V60)
4582 Sound: Ensoniq ES5506 (OTTOR2)
4583 
4584 
4585 Rom board  001B
4586 SSV mother board
4587 
4588 U37, U33 = 27c040
4589 U22, U41, U35, U25, U21, U11, U7  = 16 MEG MASK ROMS
4590 U32, U18, U4 = 4 MEG MASK ROMS
4591 U26 = 8 MEG MASK ROM
4592 
4593 There is a battery on the rom board @ BT1 (battery # CR2032 - 3 volts)
4594 
4595 ***************************************************************************/
4596 
4597 ROM_START( stmblade )
4598 	ROM_REGION16_LE( 0x400000, REGION_USER1, 0 )		/* V60 Code */
4599 	ROM_LOAD16_WORD( "sb-pd0.u26",  0x000000, 0x100000, CRC(91c4fbf7) SHA1(68e57ea2a9756a95a81c6688905352d631e9f2de) )
4600 	ROM_LOAD16_BYTE( "s-blade.u37", 0x200000, 0x080000, CRC(a6a42cc7) SHA1(4bff79ff03b81a7ed96d3ad285242580146976be) )
4601 	ROM_RELOAD(                     0x300000, 0x080000             )
4602 	ROM_LOAD16_BYTE( "s-blade.u33", 0x200001, 0x080000, CRC(16104ca6) SHA1(63835051c358dce33d92974d1de911b98835a3d9) )
4603 	ROM_RELOAD(                     0x300001, 0x080000             )
4604 
4605 	ROM_REGION( 0x1800000, REGION_GFX1, ROMREGION_DISPOSE ) /* Sprites */
4606 	ROM_LOAD( "sb-a0.u41", 0x0000000, 0x200000, CRC(2a327b51) SHA1(fb1e92b7f740a80cb0c977e106d0c4bfee092dad) )
4607 	ROM_LOAD( "sb-a1.u35", 0x0200000, 0x200000, CRC(246f6f28) SHA1(09171f04452fbcf9e3333c135288fd6e5b8244f7) )
4608 	ROM_LOAD( "sb-a2.u32", 0x0400000, 0x080000, CRC(2049acf3) SHA1(3982b4650921da0563336060887767627f8679ab) )
4609 	ROM_LOAD( "sb-b0.u25", 0x0600000, 0x200000, CRC(b3aa3e68) SHA1(990be5925b6c8c0d0e83ca9064425d93853fe206) )
4610 	ROM_LOAD( "sb-b1.u21", 0x0800000, 0x200000, CRC(e95b38e7) SHA1(9256f027e4c496e3bf96ecb65c0f3e69791e2755) )
4611 	ROM_LOAD( "sb-b2.u18", 0x0a00000, 0x080000, CRC(d080e620) SHA1(a262b42214c09fccb8f4878d8566e2acd87dbd23) )
4612 	ROM_LOAD( "sb-c0.u11", 0x0c00000, 0x200000, CRC(825dd8f1) SHA1(39d32f54c97e21f92598442f05fd91ae2403a0d2) )
4613 	ROM_LOAD( "sb-c1.u7",  0x0e00000, 0x200000, CRC(744afcd7) SHA1(db716a1a2ad5864ebdb4865430cb637fb94ed34f) )
4614 	ROM_LOAD( "sb-c2.u4",  0x1000000, 0x080000, CRC(fd1d2a92) SHA1(957a8a52b79e252c7f1a4b6383107ae609dce5ef) )
4615 	ROM_FILL(              0x1200000, 0x600000, 0          )
4616 
4617 	ROM_REGION16_BE( 0x400000, REGION_SOUND1, ROMREGION_ERASE | ROMREGION_SOUNDONLY )	/* Samples */
4618 	ROM_LOAD16_BYTE( "sb-snd0.u22", 0x000000, 0x200000, CRC(4efd605b) SHA1(9c97be105c923c7db847d9b9aea37025edb685a0) )
4619 ROM_END
4620 
4621 
4622 /***************************************************************************
4623 
4624 								Twin Eagle II
4625 
4626 ***************************************************************************/
4627 
4628 ROM_START( twineag2 )
4629 	ROM_REGION16_LE( 0x200000, REGION_USER1, 0 )		/* V60 Code */
4630 	ROM_LOAD16_WORD( "sx002_12", 0x000000, 0x200000, CRC(846044dc) SHA1(c1c85de1c466fb7c3580824baa1571cd0fed6ec6) )
4631 
4632 	ROM_REGION( 0x1800000, REGION_GFX1, ROMREGION_DISPOSE )	/* Sprites */
4633 	ROM_LOAD( "sx002_01", 0x0000000, 0x200000, CRC(6d6896b5) SHA1(e8efd29b9f951bff6664e47cb5fd67f1d8f40608) )
4634 	ROM_LOAD( "sx002_02", 0x0200000, 0x200000, CRC(3f47e97a) SHA1(5b0fdc762cf704c8bd92c4a4a42dba4a127b3d49) )
4635 	ROM_LOAD( "sx002_03", 0x0400000, 0x200000, CRC(544f18bf) SHA1(539e6df1ded4e9ac8974c697215cc1e5c5a40cda) )
4636 
4637 	ROM_LOAD( "sx002_04", 0x0600000, 0x200000, CRC(58c270e2) SHA1(7629ba978b18252f375bdc16ed62388d64a35ca1) )
4638 	ROM_LOAD( "sx002_05", 0x0800000, 0x200000, CRC(3c310229) SHA1(9a8b81d5f17ce3078627a697aaf07f1b3ba6e08c) )
4639 	ROM_LOAD( "sx002_06", 0x0a00000, 0x200000, CRC(46d5b1f3) SHA1(3ec03eddb159eb391ccdce5a0a867a54b3350150) )
4640 
4641 	ROM_LOAD( "sx002_07", 0x0c00000, 0x200000, CRC(c30fa397) SHA1(d4575868c1b63f9e94bf24539a3fd8a85df93d0b) )
4642 	ROM_LOAD( "sx002_08", 0x0e00000, 0x200000, CRC(64edcefa) SHA1(55a71afe87da93e35c5ba291e970bdcd91b52a7a) )
4643 	ROM_LOAD( "sx002_09", 0x1000000, 0x200000, CRC(51527c56) SHA1(378155a585e5b847bd8ae1f17cb651138d844e33) )
4644 
4645 	ROM_FILL(             0x1200000, 0x600000, 0          )
4646 
4647 	ROM_REGION16_BE( 0x400000, REGION_SOUND1, ROMREGION_ERASE | ROMREGION_SOUNDONLY ) /* Samples */
4648 	ROM_LOAD16_BYTE( "sx002_10", 0x000000, 0x200000, CRC(b0669dfa) SHA1(ff805f59864ac4ccee3e249c06804d844d3df59c) )
4649 
4650 	ROM_REGION16_BE( 0x400000, REGION_SOUND2, ROMREGION_ERASE | ROMREGION_SOUNDONLY ) /* Samples */
4651 	ROM_LOAD16_BYTE( "sx002_11", 0x000000, 0x200000, CRC(b8dd621a) SHA1(f9b43e018f2bb121e4f4e9554419cd32b870556b) )
4652 
4653 	ROM_REGION16_BE( 0x400000, REGION_SOUND3, ROMREGION_SOUNDONLY ) /* Samples */
4654 	ROM_COPY( REGION_SOUND1, 0x000000, 0x000000, 0x400000 )
4655 
4656 	ROM_REGION16_BE( 0x400000, REGION_SOUND4, ROMREGION_SOUNDONLY ) /* Samples */
4657 	ROM_COPY( REGION_SOUND2, 0x000000, 0x000000, 0x400000 )
4658 ROM_END
4659 
4660 
4661 /***************************************************************************
4662 
4663 				Ultra Keibitai / Ultra X Weapon
4664 
4665 (c)1995 Banpresto (developed by Seta)
4666 Hardware is almost identical to SSV system
4667 
4668 ****************************************************************************/
4669 
4670 ROM_START( ultrax )
4671 	ROM_REGION16_LE( 0x200000, REGION_USER1, 0 )  /* V60 Code */
4672 	ROM_LOAD16_BYTE( "71047-11.u64", 0x000000, 0x080000, CRC(593b2678) SHA1(3b24b59a21386a4688502c5f0a2dd4eb0ec92544) )
4673 	ROM_LOAD16_BYTE( "71047-09.u65", 0x000001, 0x080000, CRC(08ea8d91) SHA1(5d2672f6c96fbbe9d80bd6539c1400b62745892a) )
4674 	ROM_LOAD16_BYTE( "71047-12.u62", 0x100000, 0x080000, CRC(76a77ab2) SHA1(0cf2f293defc23c807556ff92ea99f963fafed40) )
4675 	ROM_LOAD16_BYTE( "71047-10.u63", 0x100001, 0x080000, CRC(7c79faf9) SHA1(40c1420eeae355efa628bbcfd69e0dd18d343fd9) )
4676 
4677 	ROM_REGION( 0xc00000, REGION_GFX1, ROMREGION_DISPOSE ) /* Sprites */
4678 	ROM_LOAD( "71047-01.u73", 0x0000000, 0x200000, CRC(66662b08) SHA1(0cb683e5f85ffe21bd3367af4d3e48a484dbd4c3) )
4679 	ROM_LOAD( "71047-02.u74", 0x0200000, 0x100000, CRC(6b00dc0c) SHA1(6af8ceed72d13f9979175c0d907a4a8c127ca1ad) )
4680 	ROM_LOAD( "71047-03.u76", 0x0300000, 0x200000, CRC(00fcd6c2) SHA1(61d13cbafbc0fd6ff62cd08aa88591ed0fd0b182) )
4681 	ROM_LOAD( "71047-04.u77", 0x0500000, 0x100000, CRC(d9e710d1) SHA1(063459a247f9ff81cb558802e9943b3ea8a2ea3a) )
4682 	ROM_LOAD( "71047-05.u75", 0x0600000, 0x200000, CRC(10848193) SHA1(40b7ebb6011dc703bbf620cd22cd678c10ec67a4) )
4683 	ROM_LOAD( "71047-06.u88", 0x0800000, 0x100000, CRC(b8ac2942) SHA1(3e85e8f5669d469dd3114455248546d32a642315) )
4684 	ROM_FILL(                 0x0900000, 0x300000, 0 )
4685 
4686 	ROM_REGION16_BE( 0x400000, REGION_SOUND1, ROMREGION_ERASE | ROMREGION_SOUNDONLY ) /* Samples */
4687 	ROM_LOAD16_BYTE( "71047-07.u59", 0x000000, 0x200000, CRC(d9828b62) SHA1(f66a388d7a00b3a45d386671c061f5b840453451) )
4688 
4689 	ROM_REGION16_BE( 0x400000, REGION_SOUND2, ROMREGION_ERASE | ROMREGION_SOUNDONLY ) /* Samples */
4690 	ROM_LOAD16_BYTE( "71047-08.u60", 0x000000, 0x200000, CRC(30ebff6d) SHA1(53824c1fc37e22b545fd68b59722f7968f0ca1e2) )
4691 
4692 	ROM_REGION16_BE( 0x400000, REGION_SOUND3, ROMREGION_SOUNDONLY ) /* Samples */
4693 	ROM_COPY( REGION_SOUND1, 0x000000, 0x000000, 0x400000 )
4694 
4695 	ROM_REGION16_BE( 0x400000, REGION_SOUND4, ROMREGION_SOUNDONLY ) /* Samples */
4696 	ROM_COPY( REGION_SOUND2, 0x000000, 0x000000, 0x400000 )
4697 ROM_END
4698 
4699 
4700 /***************************************************************************
4701 
4702 							Vasara / Vasara 2
4703 Visco Games, 2000 / 2001
4704 (info from the vasara 2 board but vasara should be the same)
4705 
4706 This is a sub board that fits any standard SSV main board.
4707 
4708 There's very little on the ROM board. Just 2x 27C040 EPROMs,
4709 4x 64Mbit SOP44 MASK ROMs, 3x 16Mbit SOP44 MASK ROMs,
4710 some logic and 2 PALs near the PROG & DATA ROMs.
4711 
4712 The actual ROM PCB has the capability to accept SOP44 and
4713 TSOP48 type 1 SMT ROMs though many of the positions are unpopulated.
4714 It's likely this same ROM board could be used for other Visco games.
4715 
4716 ROM PCB (PCB Number: SSV_SUB)
4717 
4718 File Name     Labeled as        Loc. Printed*      ROM Type
4719 -----------------------------------------------------------------------
4720 prg-h.u31     PRG-H U31         U31  PRG H       | 27C040
4721 prg-l.u30     PRG-L U20         U30  PRG L      /
4722 s1.u37        C DAT VASARA-1    U37  S1         \
4723 s0.u36        B DAT VASARA-1    U36  S0          | Surface Mounted 16Mbit SOP44 MASK ROMs
4724 data.u34      A SND 1 VASARA-1  U34  DATA ROM   /
4725 d0.u4         VASARA-2-D0       U4   D0.D1      \
4726 c0.u3         VASARA-2-C0       U3   C0.C1       | Surface Mounted 64Mbit SOP44 MASK ROMs
4727 b0.u2         VASARA-2-B0       U2   B0.B1       |
4728 a0.u1         VASARA-2-A0       U1   A0.A1      /
4729 
4730 2x GAL16V8D
4731 
4732 Printed = Info silk-screened/printed on the actual PCB
4733 
4734 ****************************************************************************/
4735 
4736 ROM_START( vasara )
4737 	ROM_REGION16_LE( 0x400000, REGION_USER1, 0 )		/* V60 Code */
4738 	ROM_LOAD16_WORD( "data.u34",  0x000000, 0x200000, CRC(7704cc7e) SHA1(62bb018b7f0c7ee67fee37de17bb22a73bb9e420) )
4739 	ROM_LOAD16_BYTE( "prg-l.u30", 0x200000, 0x080000, CRC(f0547886) SHA1(6a3717f8b89575d3cb4c7d56dd9df5052faa3c7f) )
4740 	ROM_RELOAD(                   0x300000, 0x080000             )
4741 	ROM_LOAD16_BYTE( "prg-h.u31", 0x200001, 0x080000, CRC(6a39bba9) SHA1(05ede167150307d7bf59037f264b1d140f6646da) )
4742 	ROM_RELOAD(                   0x300001, 0x080000             )
4743 
4744 	ROM_REGION( 0x2000000, REGION_GFX1, ROMREGION_DISPOSE ) /* Sprites */
4745 	ROM_LOAD( "a0.u1", 0x0000000, 0x800000, CRC(673230a6) SHA1(a9d1a108c0737b709854bae199499577f5ae359e) )
4746 	ROM_LOAD( "b0.u2", 0x0800000, 0x800000, CRC(31a2da7f) SHA1(5efec60affb2ed2b73a6694ac794d41375220609) )
4747 	ROM_LOAD( "c0.u3", 0x1000000, 0x800000, CRC(d110dacf) SHA1(6f33bf6ce8c06f0b823b5478a56dc95095385181) )
4748 	ROM_LOAD( "d0.u4", 0x1800000, 0x800000, CRC(82d0ca55) SHA1(5ac07df713504329fbc8e8b5374c04e53745230e) )
4749 
4750 	ROM_REGION16_BE( 0x400000, REGION_SOUND1, ROMREGION_ERASE | ROMREGION_SOUNDONLY )	/* Samples */
4751 	ROM_LOAD16_BYTE( "s0.u36", 0x000000, 0x200000, CRC(754fca02) SHA1(5b2810a36183e0d4f42f0fb4a09be033ad0db40d) )
4752 
4753 	ROM_REGION16_BE( 0x400000, REGION_SOUND2, ROMREGION_ERASE | ROMREGION_SOUNDONLY )	/* Samples */
4754 	ROM_LOAD16_BYTE( "s1.u37", 0x000000, 0x200000, CRC(5f303698) SHA1(bd6495f912aa9d761d245ef0a1566d9d7bdbb2ad) )
4755 ROM_END
4756 
4757 ROM_START( vasara2 )
4758 	ROM_REGION16_LE( 0x400000, REGION_USER1, 0 )		/* V60 Code */
4759 	ROM_LOAD16_WORD( "data.u34",  0x000000, 0x200000, CRC(493d0103) SHA1(fda68fb089328cabb3bbd52f8703b445a9509bf1) )
4760 	ROM_LOAD16_BYTE( "prg-l.u30", 0x200000, 0x080000, CRC(40e6f5f6) SHA1(05fee4535ffe8403e86ba92a58e5f2d040489c8e) )
4761 	ROM_RELOAD(                   0x300000, 0x080000             )
4762 	ROM_LOAD16_BYTE( "prg-h.u31", 0x200001, 0x080000, CRC(c958e146) SHA1(568878526cef76ac0ce4feeaa46e7039291e5f77) )
4763 	ROM_RELOAD(                   0x300001, 0x080000             )
4764 
4765 	ROM_REGION( 0x2000000, REGION_GFX1, ROMREGION_DISPOSE ) /* Sprites */
4766 	ROM_LOAD( "a0.u1", 0x0000000, 0x800000, CRC(a6306c75) SHA1(bad715e53426a295d3571c025e0539d5f81ce5ab) )
4767 	ROM_LOAD( "b0.u2", 0x0800000, 0x800000, CRC(227cbd9f) SHA1(a02787943b659508ce1589cdc7a372cc02826a10) )
4768 	ROM_LOAD( "c0.u3", 0x1000000, 0x800000, CRC(54ede017) SHA1(4a7ff7ff8ec5843837016f35a588983b5ace06ff) )
4769 	ROM_LOAD( "d0.u4", 0x1800000, 0x800000, CRC(4be8479d) SHA1(cbb5943dfae86f4d571459263199a63399dedc20) )
4770 
4771 	ROM_REGION16_BE( 0x400000, REGION_SOUND1, ROMREGION_ERASE | ROMREGION_SOUNDONLY )	/* Samples */
4772 	ROM_LOAD16_BYTE( "s0.u36", 0x000000, 0x200000, CRC(2b381b33) SHA1(b9dd13651e4b8d0b9e3bc4c592022f31ea634d19) )
4773 
4774 	ROM_REGION16_BE( 0x400000, REGION_SOUND2, ROMREGION_ERASE | ROMREGION_SOUNDONLY )	/* Samples */
4775 	ROM_LOAD16_BYTE( "s1.u37", 0x000000, 0x200000, CRC(11cd7098) SHA1(f75288b5c89df039dfb41d66bd275cda8605e75a) )
4776 ROM_END
4777 
4778 ROM_START( vasara2a )
4779 	ROM_REGION16_LE( 0x400000, REGION_USER1, 0 )		/* V60 Code */
4780 	ROM_LOAD16_WORD( "data.u34",     0x000000, 0x200000, CRC(493d0103) SHA1(fda68fb089328cabb3bbd52f8703b445a9509bf1) )
4781 	ROM_LOAD16_BYTE( "basara-l.u30", 0x200000, 0x080000, CRC(fd88b068) SHA1(a86e3ffc870e6f6f7f18273428b24d938d6b9c3d) )
4782 	ROM_RELOAD(                      0x300000, 0x080000             )
4783 	ROM_LOAD16_BYTE( "basara-h.u31", 0x200001, 0x080000, CRC(91d641e6) SHA1(4987d1771a90c9f1ce45c2dd2de5b2922d5d19c5) )
4784 	ROM_RELOAD(                      0x300001, 0x080000             )
4785 
4786 	ROM_REGION( 0x2000000, REGION_GFX1, ROMREGION_DISPOSE ) /* Sprites */
4787 	ROM_LOAD( "a0.u1", 0x0000000, 0x800000, CRC(a6306c75) SHA1(bad715e53426a295d3571c025e0539d5f81ce5ab) )
4788 	ROM_LOAD( "b0.u2", 0x0800000, 0x800000, CRC(227cbd9f) SHA1(a02787943b659508ce1589cdc7a372cc02826a10) )
4789 	ROM_LOAD( "c0.u3", 0x1000000, 0x800000, CRC(54ede017) SHA1(4a7ff7ff8ec5843837016f35a588983b5ace06ff) )
4790 	ROM_LOAD( "d0.u4", 0x1800000, 0x800000, CRC(4be8479d) SHA1(cbb5943dfae86f4d571459263199a63399dedc20) )
4791 
4792 	ROM_REGION16_BE( 0x400000, REGION_SOUND1, ROMREGION_ERASE | ROMREGION_SOUNDONLY )	/* Samples */
4793 	ROM_LOAD16_BYTE( "s0.u36", 0x000000, 0x200000, CRC(2b381b33) SHA1(b9dd13651e4b8d0b9e3bc4c592022f31ea634d19) )
4794 
4795 	ROM_REGION16_BE( 0x400000, REGION_SOUND2, ROMREGION_ERASE | ROMREGION_SOUNDONLY )	/* Samples */
4796 	ROM_LOAD16_BYTE( "s1.u37", 0x000000, 0x200000, CRC(11cd7098) SHA1(f75288b5c89df039dfb41d66bd275cda8605e75a) )
4797 ROM_END
4798 
4799 /***************************************************************************
4800 
4801 Mobile Suit Gundam Final Shooting
4802 Banpresto, 1995
4803 
4804 Uses main board STA-0001B SYSTEM SSV
4805 
4806 Game Board Layout
4807 -----------------
4808 
4809 VISCO (no other PCB numbers)
4810 |---------------------------------------------------------|
4811 |                 GAL16V8(2)                              |
4812 |   VG004-01.U33            VG004-07.U39                  |
4813 |      VG004-02.U34           VG004-08.U40                |
4814 |        VG004-03.U35           VG004-10.U45      TC514400|
4815 |          VG004-04.U36           VG004-09.U43            |
4816 |            VG004-05.U37           VG004-11.U48  TC514400|
4817 |D1            VG004-06.U38                               |
4818 |                                       100MHz    TC514400|
4819 |                                                         |
4820 |                                |--------------| TC514400|
4821 |      TC551001                  |              |         |
4822 |P           |-------| GAL20V8   |              | TC514400|
4823 | S2914      | SETA  | GAL20V8   |     SETA     |         |
4824 |            |ST-0009| GAL20V8   |              | TC514400|
4825 |            |       |           |   ST-0020    |         |
4826 |            |-------|           |              | TC514400|
4827 |      TC551001                  |              |         |
4828 |           SSVV7.U16            |--------------| TC514400|
4829 |               VG004-12.U4                               |
4830 |C1                 VG004-13.U5  TC514260      VG004-14.U3|
4831 | ADC0809             TC55257    GAL16V8(1) SSV2SET0.U1   |
4832 |                     TC55257           SSVSET1.U2        |
4833 |---------------------------------------------------------|
4834 Notes:
4835       D1         - 4 pin connector for power
4836       P          - 10 pin connector
4837       C1         - 10 pin connector for analog controls
4838       ADC0809    - National Semiconductor ADC0809 8-Bit Microprocessor Compatible A/D Converter with 8-Channel Multiplexer (DIP28)
4839       S2914      - Seiko S2914 EEPROM (DIP8)
4840       TC551001   - Toshiba TC551001BFL-70L 128K x8 SRAM (SOP32)
4841       TC55257    - Toshiba TC55257N-70L 32K x8 SRAM (SOP28)
4842       TC514260   - Toshiba TC514260BJ-70 256K x16 DRAM (SOJ40)
4843       GAL16V8(1) - Lattice GAL16V8B stamped 'VG004-18' (DIP20)
4844       GAL16V8(2) - Lattice GAL16V8B stamped 'VG004-19' (DIP20)
4845       GAL20V8    - Lattice GAL20V8B all 3 stamped 'VG004-20' and have identical contents (DIP24)
4846       U16,U2,U1  - 4M MaskROM (DIP32)
4847       All other ROMs are 8M/16M MaskROM (DIP42)
4848       Custom Seta ICs -
4849                        ST-0009 (QFP176)
4850                        ST-0020 (QFP304, heatsinked)
4851 
4852 ****************************************************************************/
4853 
4854 ROM_START( gdfs )
4855 	ROM_REGION16_LE( 0x400000, REGION_USER1, 0 )		/* V60 Code */
4856 	ROM_LOAD16_WORD( "vg004-14.u3",   0x000000, 0x100000, CRC(d88254df) SHA1(ccdfd42e4ce3941018f83e300da8bf7a5950f65c) )
4857 	ROM_RELOAD(0x100000,0x100000)
4858 	ROM_LOAD16_BYTE( "ssv2set0.u1",   0x200000, 0x080000, CRC(c23b9e2c) SHA1(9026e065252981fb403255ddc5782359c0088e8a) )
4859 	ROM_RELOAD(0x300000,0x80000)
4860 	ROM_LOAD16_BYTE( "ssv2set1.u2",   0x200001, 0x080000, CRC(d7d52570) SHA1(12e7531519a0a4331e409991265908fb518286ef) )
4861 	ROM_RELOAD(0x300001,0x80000)
4862 
4863 	ROM_REGION( 0x800000, REGION_GFX1, ROMREGION_DISPOSE )
4864 	ROM_LOAD( "vg004-09.u43", 0x000000, 0x200000, CRC(b7382cfa) SHA1(df735470181c16f8aac0e3be76e1ed53a32dbb9c) )
4865 	ROM_LOAD( "vg004-10.u45", 0x200000, 0x200000, CRC(b3c6b1cb) SHA1(c601213e35d8dfd1244921da5c093f82145706d2) )
4866 	ROM_LOAD( "vg004-11.u48", 0x400000, 0x200000, CRC(1491def1) SHA1(344043302c81b4118cac4f692375b8af7ea68570) )
4867 
4868 	ROM_REGION( 0x1000000, REGION_GFX2, /*ROMREGION_DISPOSE*/ 0)	/* Zooming Sprites, read by a blitter */
4869 	ROM_LOAD( "vg004-01.u33", 0x0000000, 0x200000, CRC(aa9a81c2) SHA1(a7d005f9be199e317aa4c6aed8a2ab322fe82119) )
4870 	ROM_LOAD( "vg004-02.u34", 0x0200000, 0x200000, CRC(fa40ecb4) SHA1(0513f3b6879dc7d207646d949d6ddb7251f77bcc) )
4871 	ROM_LOAD( "vg004-03.u35", 0x0400000, 0x200000, CRC(90004023) SHA1(041edb77b34e6677ac5b85ce542d87a9bb1baf31) )
4872 	ROM_LOAD( "vg004-04.u36", 0x0600000, 0x200000, CRC(fdafd289) SHA1(3ff1969a176d13bfa68a48c9ed582f5789b1047f) )
4873 	ROM_LOAD( "vg004-06.u38", 0x0a00000, 0x200000, CRC(3402325f) SHA1(7ea169c1f8b01a37bd7dbb4d486d38bdac62be5b) )
4874 	ROM_LOAD( "vg004-05.u37", 0x0800000, 0x200000, CRC(9ae488b0) SHA1(7823cc689c588f3dbcafe9bdc94c094d6e9cd605) )
4875 	ROM_LOAD( "vg004-07.u39", 0x0c00000, 0x200000, CRC(5e89fcf9) SHA1(db727ec8117e84c98037c756715e28fd5e39972a) )
4876 	ROM_LOAD( "vg004-08.u40", 0x0e00000, 0x200000, CRC(6b1746dc) SHA1(35e5ee02975474985a4a611dcc439fc3050b7f94) )
4877 
4878 	ROM_REGION( 0x80000, REGION_GFX3, ROMREGION_DISPOSE )	/* Tilemap */
4879 	ROM_LOAD( "ssvv7.u16",    0x0000000, 0x080000, CRC(f1c3ab6f) SHA1(b7f54f7ae60650fee7570aa4dd4266c629149673) )
4880 
4881 	ROM_REGION16_BE( 0x400000, REGION_SOUND1, ROMREGION_SOUNDONLY )	/* Samples */
4882 	ROM_LOAD16_BYTE( "vg004-12.u4", 0x000000, 0x200000, CRC(eb41a4ef) SHA1(f4d0844a3c00cf90faa59ae982744b7f0bcbe218) )
4883 	ROM_LOAD16_BYTE( "vg004-13.u5", 0x000001, 0x200000, CRC(a4ed3977) SHA1(5843d56f69789e70ce0201a693ffae322b628459) )
4884 
4885 	ROM_REGION16_BE( 0x400000, REGION_SOUND2, ROMREGION_SOUNDONLY )	/* Samples */
4886 	ROM_COPY( REGION_SOUND1, 0x000000, 0x000000, 0x400000 )
4887 
4888 	ROM_REGION16_BE( 0x400000, REGION_SOUND3, ROMREGION_SOUNDONLY ) /* Samples */
4889 	ROM_COPY( REGION_SOUND1, 0x000000, 0x000000, 0x400000 )
4890 
4891 	ROM_REGION16_BE( 0x400000, REGION_SOUND4, ROMREGION_SOUNDONLY ) /* Samples */
4892 	ROM_COPY( REGION_SOUND1, 0x000000, 0x000000, 0x400000 )
4893 ROM_END
4894 
4895 
4896 /***************************************************************************
4897 
4898 
4899 								Game Drivers
4900 
4901 
4902 ***************************************************************************/
4903 
4904 /*     year   rom       clone     machine   inputs    init      monitor manufacturer          title                                               flags*/
4905 
4906 GAMEX( 1993,  keithlcy, 0,        keithlcy, keithlcy, keithlcy, ROT0,   "Visco",              "Dramatic Adventure Quiz Keith and Lucy (Japan)",     GAME_NO_COCKTAIL )
4907 GAMEX( 1993,  srmp4,    0,        srmp4,    srmp4,    srmp4,    ROT0,   "Seta",               "Super Real Mahjong PIV (Japan)",                   GAME_NO_COCKTAIL )
4908 GAMEX( 1993,  srmp4o,   srmp4,    srmp4,    srmp4,    srmp4,    ROT0,   "Seta",               "Super Real Mahjong PIV (Japan, older set)",        GAME_NO_COCKTAIL ) /* by the numbering of the program roms this should be older*/
4909 GAMEX( 1993,  survarts, 0,        survarts, survarts, survarts, ROT0,   "American Sammy",     "Survival Arts (USA)",                              GAME_NO_COCKTAIL )
4910 GAMEX( 1994,  dynagear, 0,        dynagear, dynagear, dynagear, ROT0,   "Sammy"         ,     "Dyna Gears",                                       GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
4911 GAMEX( 1994,  drifto94, 0,        drifto94, drifto94, drifto94, ROT0,   "Visco",              "Drift Out '94 - The Hard Order (Japan)",           GAME_NO_COCKTAIL )
4912 GAMEX( 1995,  hypreact, 0,        hypreact, hypreact, hypreact, ROT0,   "Sammy",              "Mahjong Hyper Reaction (Japan)",                   GAME_NO_COCKTAIL | GAME_NOT_WORKING )
4913 GAMEX( 1994,  twineag2, 0,        twineag2, twineag2, twineag2, ROT270, "Seta",               "Twin Eagle II - The Rescue Mission",               GAME_NO_COCKTAIL )
4914 GAMEX( 1996,  janjans1, 0,        janjans1, janjans1, janjans1, ROT0,   "Visco",              "Lovely Pop Mahjong Jan Jan Shimasyo (Japan)",      GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
4915 GAMEX( 1996,  meosism,  0,        meosism,  meosism,  meosism,  ROT0,   "Sammy",              "Meosis Magic (Japan)",                             GAME_NO_COCKTAIL )
4916 GAMEX( 1997,  mslider,  0,        mslider,  mslider,  mslider,  ROT0,   "Visco / Datt Japan", "Monster Slider (Japan)",                           GAME_NO_COCKTAIL )
4917 GAMEX( 1996,  stmblade, 0,        stmblade, stmblade, stmblade, ROT270, "Visco",              "Storm Blade (US)",                                 GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
4918 GAMEX( 1997,  hypreac2, 0,        hypreac2, hypreac2, hypreac2, ROT0,   "Sammy",              "Mahjong Hyper Reaction 2 (Japan)",                 GAME_NO_COCKTAIL )
4919 GAMEX( 1997,  koikois2, 0,        janjans1, koikois2, janjans1, ROT0,   "Visco",              "Koi Koi Shimasyo 2 - Super Real Hanafuda (Japan)", GAME_NO_COCKTAIL )
4920 GAMEX( 1997,  srmp7,    0,        srmp7,    srmp7,    srmp7,    ROT0,   "Seta",               "Super Real Mahjong P7 (Japan)",                    GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND )
4921 GAMEX( 1998,  ryorioh,  0,        ryorioh,  ryorioh,  ryorioh,  ROT0,   "Visco",              "Gourmet Battle Quiz Ryohrioh CooKing (Japan)",     GAME_NO_COCKTAIL )
4922 GAMEX( 1998,  sxyreact, 0,        sxyreact, sxyreact, sxyreact, ROT0,   "Sammy",              "Pachinko Sexy Reaction (Japan)",                   GAME_NO_COCKTAIL )
4923 GAMEX( 1999,  cairblad, 0,        sxyreact, cairblad, sxyreact, ROT270, "Sammy",              "Change Air Blade (Japan)",                         GAME_NO_COCKTAIL )
4924 GAMEX( 2000,  vasara,   0,        ryorioh,  vasara,   vasara,   ROT270, "Visco",              "Vasara",                                           GAME_NO_COCKTAIL )
4925 GAMEX( 2001,  vasara2,  0,        ryorioh,  vasara2,  vasara2,  ROT270, "Visco",              "Vasara 2 (set 1)",                                 GAME_NO_COCKTAIL )
4926 GAMEX( 2001,  vasara2a, vasara2,  ryorioh,  vasara2,  vasara2,  ROT270, "Visco",              "Vasara 2 (set 2)",                                 GAME_NO_COCKTAIL )
4927 GAMEX( 1995,  ultrax,   0,        ultrax,   ultrax,   ultrax,   ROT270,	"Banpresto + Tsuburaya Prod.", "Ultra X Weapons - Ultra Keibitai",        GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
4928 GAMEX( 1995,  gdfs,     0,        gdfs,     gdfs,     gdfs,     ROT0,   "Banpresto",          "Mobile Suit Gundam Final Shooting (Japan)",                 GAME_NO_COCKTAIL ) /* title screen spells the title "Mobil" but standardized spelling is "Mobile" it also lists the company name as "Banprest" instead of "Banpresto" */
4929 GAMEX( 1994,  eaglshot, 0,        eaglshot, eaglshot, eaglshot, ROT0,   "Sammy",              "Eagle Shot Golf",                                  GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
4930 GAMEX( 1994,  eaglshta, eaglshot, eaglshot, eaglshot, eaglshot, ROT0,   "Sammy",              "Eagle Shot Golf (alt)",                            GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
4931 
4932 
4933 /*	Games not working at all:*/
4934 GAMEX( 1997,  jsk,      0,        janjans1, janjans1, janjans1, ROT0,   "Visco",              "Joryuu Syougi Kyoushitsu (Japan)",                 GAME_NO_COCKTAIL | GAME_NOT_WORKING )
4935