QuarterArcade Coin-Op Tech Net

Quick Nav: # A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Coin-Op : Arcade : Dr. Mario : VM Driver Source

Source Listing


     1: /***************************************************************************
     2: 
     3: The New Zealand Story driver, used for tnzs & tnzs2.
     4: 
     5: TODO: - Find out how the hardware credit-counter works (MPU)
     6: 	  - Verify dip switches
     7: 	  - Fix video offsets (See Dr Toppel in Flip-Screen - also
     8: 	       affects Chuka Taisen)
     9: 	  - Video scroll side flicker in Chuka Taisen, Insector X and Dr Toppel
    10: 
    11: 	Arkanoid 2:
    12: 	  - What do writes at $f400 do ?
    13: 	  - Why does the game zero the $fd00 area ?
    14: 	Extrmatn:
    15: 	  - What do reads from $f600 do ? (discarded)
    16: 	Chuka Taisen:
    17: 	  - What do writes at  $f400 do ? (value 40h)
    18: 	  - What do reads from $f600 do in service mode ?
    19: 	Dr Toppel:
    20: 	  - What do writes at  $f400 do ? (value 40h)
    21: 	  - What do reads from $f600 do in service mode ?
    22: 
    23: ****************************************************************************
    24: 
    25: extrmatn and arknoid2 have a special test mode. The correct procedure to make
    26: it succeed is as follows:
    27: - enter service mode
    28: - on the color test screen, press 2 (player 2 start)
    29: - set dip switch 1 and dip switch 2 so that they read 00000001
    30: - reset the emulation, and skip the previous step.
    31: - press 5 (coin 1). Text at the bottom will change to "CHECKING NOW".
    32: - use all the inputs, including tilt, until all inputs are OK
    33: - press 5 (coin 1) - to confirm that coin lockout 1 works
    34: - press 5 (coin 1) - to confirm that coin lockout 2 works
    35: - set dip switch 1 to 00000000
    36: - set dip switch 1 to 10101010
    37: - set dip switch 1 to 11111111
    38: - set dip switch 2 to 00000000
    39: - set dip switch 2 to 10101010
    40: - set dip switch 2 to 11111111
    41: - speaker should now output a tone
    42: - press 5 (coin 1) , to confirm that OPN works
    43: - press 5 (coin 1) , to confirm that SSGCH1 works
    44: - press 5 (coin 1) , to confirm that SSGCH2 works
    45: - press 5 (coin 1) , to confirm that SSGCH3 works
    46: - finished ("CHECK ALL OK!")
    47: 
    48: ****************************************************************************
    49: 
    50: The New Zealand Story memory map (preliminary)
    51: 
    52: CPU #1
    53: 0000-7fff ROM
    54: 8000-bfff banked - banks 0-1 RAM; banks 2-7 ROM
    55: c000-dfff object RAM, including:
    56:   c000-c1ff sprites (code, low byte)
    57:   c200-c3ff sprites (x-coord, low byte)
    58:   c400-c5ff tiles (code, low byte)
    59: 
    60:   d000-d1ff sprites (code, high byte)
    61:   d200-d3ff sprites (x-coord and colour, high byte)
    62:   d400-d5ff tiles (code, high byte)
    63:   d600-d7ff tiles (colour)
    64: e000-efff RAM shared with CPU #2
    65: f000-ffff VDC RAM, including:
    66:   f000-f1ff sprites (y-coord)
    67:   f200-f2ff scrolling info
    68:   f300-f301 vdc controller
    69:   f302-f303 scroll x-coords (high bits)
    70:   f600      bankswitch
    71:   f800-fbff palette
    72: 
    73: CPU #2
    74: 0000-7fff ROM
    75: 8000-9fff banked ROM
    76: a000      bankswitch
    77: b000-b001 YM2203 interface (with DIPs on YM2203 ports)
    78: c000-c001 I8742 MCU
    79: e000-efff RAM shared with CPU #1
    80: f000-f003 inputs (used only by Arkanoid 2)
    81: 
    82: ****************************************************************************/
    83: /***************************************************************************
    84: 
    85: 				Arkanoid 2 - Revenge of Doh!
    86: 					(C) 1987 Taito
    87: 
    88: 						driver by
    89: 
    90: 				Luca Elia (l.elia@tin.it)
    91: 				Mirko Buffoni
    92: 
    93: - The game doesn't write to f800-fbff (static palette)
    94: 
    95: 
    96: 
    97: 			Interesting routines (main cpu)
    98: 			-------------------------------
    99: 
   100: 1ed	prints the test screen (first string at 206)
   101: 
   102: 47a	prints dipsw1&2 e 1p&2p paddleL values:
   103: 	e821		IN DIPSW1		e823-4	1P PaddleL (lo-hi)
   104: 	e822		IN DIPSW2		e825-6	2P PaddleL (lo-hi)
   105: 
   106: 584	prints OK or NG on each entry:
   107: 	if (*addr)!=0 { if (*addr)!=2 OK else NG }
   108: 	e880	1P PADDLEL		e88a	IN SERVICE
   109: 	e881	1P PADDLER		e88b	IN TILT
   110: 	e882	1P BUTTON		e88c	OUT LOCKOUT1
   111: 	e883	1P START		e88d	OUT LOCKOUT2
   112: 	e884	2P PADDLEL		e88e	IN DIP-SW1
   113: 	e885	2P PADDLER		e88f	IN DIP-SW2
   114: 	e886	2P BUTTON		e890	SND OPN
   115: 	e887	2P START		e891	SND SSGCH1
   116: 	e888	IN COIN1		e892	SND SSGCH2
   117: 	e889	IN COIN2		e893	SND SSGCH3
   118: 
   119: 672	prints a char
   120: 715	prints a string (0 terminated)
   121: 
   122: 		Shared Memory (values written mainly by the sound cpu)
   123: 		------------------------------------------------------
   124: 
   125: e001=dip-sw A 	e399=coin counter value		e72c-d=1P paddle (lo-hi)
   126: e002=dip-sw B 	e3a0-2=1P score/10 (BCD)	e72e-f=2P paddle (lo-hi)
   127: e008=level=2*(shown_level-1)+x <- remember it's a binary tree (42 last)
   128: e7f0=country code(from 9fde in sound rom)
   129: e807=counter, reset by sound cpu, increased by main cpu each vblank
   130: e80b=test progress=0(start) 1(first 8) 2(all ok) 3(error)
   131: ec09-a~=ed05-6=xy pos of cursor in hi-scores
   132: ec81-eca8=hi-scores(8bytes*5entries)
   133: 
   134: addr	bit	name		active	addr	bit	name		active
   135: e72d	6	coin[1]		low		e729	1	2p select	low
   136: 		5	service		high			0	1p select	low
   137: 		4	coin[2]		low
   138: 
   139: addr	bit	name		active	addr	bit	name		active
   140: e730	7	tilt		low		e7e7	4	1p fire		low
   141: 										0	2p fire		low
   142: 
   143: 			Interesting routines (sound cpu)
   144: 			--------------------------------
   145: 
   146: 4ae	check starts	B73,B7a,B81,B99	coin related
   147: 8c1	check coins		62e lockout check		664	dsw check
   148: 
   149: 			Interesting locations (sound cpu)
   150: 			---------------------------------
   151: 
   152: d006=each bit is on if a corresponding location (e880-e887) has changed
   153: d00b=(c001)>>4=tilt if 0E (security sequence must be reset?)
   154: addr	bit	name		active
   155: d00c	7	tilt
   156: 		6	?service?
   157: 		5	coin2		low
   158: 		4	coin1		low
   159: 
   160: d00d=each bit is on if the corresponding location (e880-e887) is 1 (OK)
   161: d00e=each of the 4 MSBs is on if ..
   162: d00f=FF if tilt, 00 otherwise
   163: d011=if 00 checks counter, if FF doesn't
   164: d23f=input port 1 value
   165: 
   166: ***************************************************************************/
   167: /***************************************************************************
   168: 
   169: Kageki
   170: (c) 1988 Taito Corporation
   171: 
   172: Driver by Takahiro Nogi (nogi@kt.rim.or.jp) 1999/11/06
   173: 
   174: ***************************************************************************/
   175: 
   176: #include "driver.h" 
   177: #include "vidhrdw/generic.h" 
   178: #include "cpu/i8x41/i8x41.h" 
   179: 
   180: 
   181: 
   182: /* prototypes for functions in ../machine/tnzs.c */
   183: unsigned char *tnzs_objram, *tnzs_workram;
   184: unsigned char *tnzs_vdcram, *tnzs_scrollram;
   185: DRIVER_INIT( extrmatn );
   186: DRIVER_INIT( arknoid2 );
   187: DRIVER_INIT( drtoppel );
   188: DRIVER_INIT( chukatai );
   189: DRIVER_INIT( tnzs );
   190: DRIVER_INIT( tnzsb );
   191: DRIVER_INIT( insectx );
   192: DRIVER_INIT( kageki );
   193: READ_HANDLER( arknoid2_sh_f000_r );
   194: MACHINE_INIT( tnzs );
   195: INTERRUPT_GEN( arknoid2_interrupt );
   196: READ_HANDLER( tnzs_port1_r );
   197: READ_HANDLER( tnzs_port2_r );
   198: WRITE_HANDLER( tnzs_port2_w );
   199: READ_HANDLER( tnzs_mcu_r );
   200: READ_HANDLER( tnzs_workram_r );
   201: READ_HANDLER( tnzs_workram_sub_r );
   202: WRITE_HANDLER( tnzs_workram_w );
   203: WRITE_HANDLER( tnzs_workram_sub_w );
   204: WRITE_HANDLER( tnzs_mcu_w );
   205: WRITE_HANDLER( tnzs_bankswitch_w );
   206: WRITE_HANDLER( tnzs_bankswitch1_w );
   207: 
   208: 
   209: /* prototypes for functions in ../vidhrdw/tnzs.c */
   210: PALETTE_INIT( arknoid2 );
   211: VIDEO_UPDATE( tnzs );
   212: 
   213: 
   214: 
   215: /* max samples */
   216: #define	MAX_SAMPLES	0x2f 
   217: 
   218: int kageki_init_samples(const struct MachineSound *msound)
   219: {
   220: 	struct GameSamples *samples;
   221: 	unsigned char *scan, *src, *dest;
   222: 	int start, size;
   223: 	int i, n;
   224: 
   225: 	size = sizeof(struct GameSamples) + MAX_SAMPLES * sizeof(struct GameSamples *);
   226: 
   227: 	if ((Machine->samples = auto_malloc(size)) == NULL) return 1;
   228: 
   229: 	samples = Machine->samples;
   230: 	samples->total = MAX_SAMPLES;
   231: 
   232: 	for (i = 0; i < samples->total; i++)
   233: 	{
   234: 		src = memory_region(REGION_SOUND1) + 0x0090;
   235: 		start = (src[(i * 2) + 1] * 256) + src[(i * 2)];
   236: 		scan = &src[start];
   237: 		size = 0;
   238: 
   239: 		// check sample length
   240: 		while (1)
   241: 		{
   242: 			if (*scan++ == 0x00)
   243: 			{
   244: 				break;
   245: 			} else {
   246: 				size++;
   247: 			}
   248: 		}
   249: 		if ((samples->sample[i] = auto_malloc(sizeof(struct GameSample) + size * sizeof(unsigned char))) == NULL) return 1;
   250: 
   251: 		if (start < 0x100) start = size = 0;
   252: 
   253: 		samples->sample[i]->smpfreq = 7000;	/* 7 KHz??? */
   254: 		samples->sample[i]->resolution = 8;	/* 8 bit */
   255: 		samples->sample[i]->length = size;
   256: 
   257: 		// signed 8-bit sample to unsigned 8-bit sample convert
   258: 		dest = (unsigned char *)samples->sample[i]->data;
   259: 		scan = &src[start];
   260: 		for (n = 0; n < size; n++)
   261: 		{
   262: 			*dest++ = ((*scan++) ^ 0x80);
   263: 		}
   264: 	//	logerror("samples num:%02X ofs:%04X lng:%04X\n", i, start, size);
   265: 	}
   266: 
   267: 	return 0;
   268: }
   269: 
   270: 
   271: static int kageki_csport_sel = 0;
   272: static READ_HANDLER( kageki_csport_r )
   273: {
   274: 	int	dsw, dsw1, dsw2;
   275: 
   276: 	dsw1 = readinputport(0); 		// DSW1
   277: 	dsw2 = readinputport(1); 		// DSW2
   278: 
   279: 	switch (kageki_csport_sel)
   280: 	{
   281: 		case	0x00:			// DSW2 5,1 / DSW1 5,1
   282: 			dsw = (((dsw2 & 0x10) >> 1) | ((dsw2 & 0x01) << 2) | ((dsw1 & 0x10) >> 3) | ((dsw1 & 0x01) >> 0));
   283: 			break;
   284: 		case	0x01:			// DSW2 7,3 / DSW1 7,3
   285: 			dsw = (((dsw2 & 0x40) >> 3) | ((dsw2 & 0x04) >> 0) | ((dsw1 & 0x40) >> 5) | ((dsw1 & 0x04) >> 2));
   286: 			break;
   287: 		case	0x02:			// DSW2 6,2 / DSW1 6,2
   288: 			dsw = (((dsw2 & 0x20) >> 2) | ((dsw2 & 0x02) << 1) | ((dsw1 & 0x20) >> 4) | ((dsw1 & 0x02) >> 1));
   289: 			break;
   290: 		case	0x03:			// DSW2 8,4 / DSW1 8,4
   291: 			dsw = (((dsw2 & 0x80) >> 4) | ((dsw2 & 0x08) >> 1) | ((dsw1 & 0x80) >> 6) | ((dsw1 & 0x08) >> 3));
   292: 			break;
   293: 		default:
   294: 			dsw = 0x00;
   295: 		//	logerror("kageki_csport_sel error !! (0x%08X)\n", kageki_csport_sel);
   296: 	}
   297: 
   298: 	return (dsw & 0xff);
   299: }
   300: 
   301: static WRITE_HANDLER( kageki_csport_w )
   302: {
   303: 	char mess[80];
   304: 
   305: 	if (data > 0x3f)
   306: 	{
   307: 		// read dipsw port
   308: 		kageki_csport_sel = (data & 0x03);
   309: 	} else {
   310: 		if (data > MAX_SAMPLES)
   311: 		{
   312: 			// stop samples
   313: 			sample_stop(0);
   314: 			sprintf(mess, "VOICE:%02X STOP", data);
   315: 		} else {
   316: 			// play samples
   317: 			sample_start(0, data, 0);
   318: 			sprintf(mess, "VOICE:%02X PLAY", data);
   319: 		}
   320: 	//	usrintf_showmessage(mess);
   321: 	}
   322: }
   323: 
   324: 
   325: static MEMORY_READ_START( readmem )
   326: 	{ 0x0000, 0x7fff, MRA_ROM },
   327: 	{ 0x8000, 0xbfff, MRA_BANK1 }, /* ROM + RAM */
   328: 	{ 0xc000, 0xdfff, MRA_RAM },
   329: 	{ 0xe000, 0xefff, tnzs_workram_r },	/* WORK RAM (shared by the 2 z80's */
   330: 	{ 0xf000, 0xf1ff, MRA_RAM },	/* VDC RAM */
   331: 	{ 0xf600, 0xf600, MRA_NOP },	/* ? */
   332: 	{ 0xf800, 0xfbff, MRA_RAM },	/* not in extrmatn and arknoid2 (PROMs instead) */
   333: MEMORY_END
   334: 
   335: static MEMORY_WRITE_START( writemem )
   336: 	{ 0x0000, 0x7fff, MWA_ROM },
   337: 	{ 0x8000, 0xbfff, MWA_BANK1 },	/* ROM + RAM */
   338: 	{ 0xc000, 0xdfff, MWA_RAM, &tnzs_objram },
   339: 	{ 0xe000, 0xefff, tnzs_workram_w, &tnzs_workram },
   340: 	{ 0xf000, 0xf1ff, MWA_RAM, &tnzs_vdcram },
   341: 	{ 0xf200, 0xf3ff, MWA_RAM, &tnzs_scrollram }, /* scrolling info */
   342: 	{ 0xf400, 0xf400, MWA_NOP },	/* ? */
   343: 	{ 0xf600, 0xf600, tnzs_bankswitch_w },
   344: 	/* arknoid2, extrmatn, plumppop and drtoppel have PROMs instead of RAM */
   345: 	/* drtoppel writes here anyway! (maybe leftover from tests during development) */
   346: 	/* so the handler is patched out in init_drtopple() */
   347: 	{ 0xf800, 0xfbff, paletteram_xRRRRRGGGGGBBBBB_w, &paletteram },
   348: MEMORY_END
   349: 
   350: static MEMORY_READ_START( sub_readmem )
   351: 	{ 0x0000, 0x7fff, MRA_ROM },
   352: 	{ 0x8000, 0x9fff, MRA_BANK2 },
   353: 	{ 0xb000, 0xb000, YM2203_status_port_0_r },
   354: 	{ 0xb001, 0xb001, YM2203_read_port_0_r },
   355: 	{ 0xc000, 0xc001, tnzs_mcu_r },	/* plain input ports in insectx (memory handler */
   356: 									/* changed in insectx_init() ) */
   357: 	{ 0xd000, 0xdfff, MRA_RAM },
   358: 	{ 0xe000, 0xefff, tnzs_workram_sub_r },
   359: 	{ 0xf000, 0xf003, arknoid2_sh_f000_r },	/* paddles in arkanoid2/plumppop. The ports are */
   360: 						/* read but not used by the other games, and are not read at */
   361: 						/* all by insectx. */
   362: MEMORY_END
   363: 
   364: static MEMORY_WRITE_START( sub_writemem )
   365: 	{ 0x0000, 0x9fff, MWA_ROM },
   366: 	{ 0xa000, 0xa000, tnzs_bankswitch1_w },
   367: 	{ 0xb000, 0xb000, YM2203_control_port_0_w },
   368: 	{ 0xb001, 0xb001, YM2203_write_port_0_w },
   369: 	{ 0xc000, 0xc001, tnzs_mcu_w },	/* not present in insectx */
   370: 	{ 0xd000, 0xdfff, MWA_RAM },
   371: 	{ 0xe000, 0xefff, tnzs_workram_sub_w },
   372: MEMORY_END
   373: 
   374: static MEMORY_READ_START( kageki_sub_readmem )
   375: 	{ 0x0000, 0x7fff, MRA_ROM },
   376: 	{ 0x8000, 0x9fff, MRA_BANK2 },
   377: 	{ 0xb000, 0xb000, YM2203_status_port_0_r },
   378: 	{ 0xb001, 0xb001, YM2203_read_port_0_r },
   379: 	{ 0xc000, 0xc000, input_port_2_r },
   380: 	{ 0xc001, 0xc001, input_port_3_r },
   381: 	{ 0xc002, 0xc002, input_port_4_r },
   382: 	{ 0xd000, 0xdfff, MRA_RAM },
   383: 	{ 0xe000, 0xefff, tnzs_workram_sub_r },
   384: MEMORY_END
   385: 
   386: static MEMORY_WRITE_START( kageki_sub_writemem )
   387: 	{ 0x0000, 0x9fff, MWA_ROM },
   388: 	{ 0xa000, 0xa000, tnzs_bankswitch1_w },
   389: 	{ 0xb000, 0xb000, YM2203_control_port_0_w },
   390: 	{ 0xb001, 0xb001, YM2203_write_port_0_w },
   391: 	{ 0xd000, 0xdfff, MWA_RAM },
   392: 	{ 0xe000, 0xefff, tnzs_workram_sub_w },
   393: MEMORY_END
   394: 
   395: /* the bootleg board is different, it has a third CPU (and of course no mcu) */
   396: 
   397: static WRITE_HANDLER( tnzsb_sound_command_w )
   398: {
   399: 	soundlatch_w(offset,data);
   400: 	cpu_set_irq_line_and_vector(2,0,HOLD_LINE,0xff);
   401: }
   402: 
   403: static MEMORY_READ_START( tnzsb_readmem1 )
   404: 	{ 0x0000, 0x7fff, MRA_ROM },
   405: 	{ 0x8000, 0x9fff, MRA_BANK2 },
   406: 	{ 0xb002, 0xb002, input_port_0_r },
   407: 	{ 0xb003, 0xb003, input_port_1_r },
   408: 	{ 0xc000, 0xc000, input_port_2_r },
   409: 	{ 0xc001, 0xc001, input_port_3_r },
   410: 	{ 0xc002, 0xc002, input_port_4_r },
   411: 	{ 0xd000, 0xdfff, MRA_RAM },
   412: 	{ 0xe000, 0xefff, tnzs_workram_sub_r },
   413: 	{ 0xf000, 0xf003, MRA_RAM },
   414: MEMORY_END
   415: 
   416: static MEMORY_WRITE_START( tnzsb_writemem1 )
   417: 	{ 0x0000, 0x9fff, MWA_ROM },
   418: 	{ 0xa000, 0xa000, tnzs_bankswitch1_w },
   419: 	{ 0xb004, 0xb004, tnzsb_sound_command_w },
   420: 	{ 0xd000, 0xdfff, MWA_RAM },
   421: 	{ 0xe000, 0xefff, tnzs_workram_sub_w },
   422: 	{ 0xf000, 0xf3ff, paletteram_xRRRRRGGGGGBBBBB_w, &paletteram },
   423: MEMORY_END
   424: 
   425: static MEMORY_READ_START( tnzsb_readmem2 )
   426: 	{ 0x0000, 0x7fff, MRA_ROM },
   427: 	{ 0xc000, 0xdfff, MRA_RAM },
   428: MEMORY_END
   429: 
   430: static MEMORY_WRITE_START( tnzsb_writemem2 )
   431: 	{ 0x0000, 0x7fff, MWA_ROM },
   432: 	{ 0xc000, 0xdfff, MWA_RAM },
   433: MEMORY_END
   434: 
   435: static PORT_READ_START( tnzsb_readport )
   436: 	{ 0x00, 0x00, YM2203_status_port_0_r  },
   437: 	{ 0x02, 0x02, soundlatch_r  },
   438: PORT_END
   439: 
   440: static PORT_WRITE_START( tnzsb_writeport )
   441: 	{ 0x00, 0x00, YM2203_control_port_0_w  },
   442: 	{ 0x01, 0x01, YM2203_write_port_0_w  },
   443: PORT_END
   444: 
   445: 
   446: static MEMORY_READ_START( i8742_readmem )
   447: 	{ 0x0000, 0x07ff, MRA_ROM },
   448: 	{ 0x0800, 0x08ff, MRA_RAM },	/* Internal i8742 RAM */
   449: MEMORY_END
   450: 
   451: static MEMORY_WRITE_START( i8742_writemem )
   452: 	{ 0x0000, 0x07ff, MWA_ROM },
   453: 	{ 0x0800, 0x08ff, MWA_RAM },	/* Internal i8742 RAM */
   454: MEMORY_END
   455: 
   456: static PORT_READ_START( i8742_readport )
   457: 	{ 0x01, 0x01, tnzs_port1_r },
   458: 	{ 0x02, 0x02, tnzs_port2_r },
   459: 	{ I8X41_t0, I8X41_t0, input_port_5_r },
   460: 	{ I8X41_t1, I8X41_t1, input_port_6_r },
   461: PORT_END
   462: 
   463: static PORT_WRITE_START( i8742_writeport )
   464: 	{ 0x02, 0x02, tnzs_port2_w },
   465: PORT_END
   466: 
   467: 
   468: 
   469: INPUT_PORTS_START( extrmatn )
   470: 	PORT_START		/* DSW A */
   471: 	PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unused ) )
   472: 	PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
   473: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
   474: 	PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) )
   475: 	PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
   476: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
   477: 	PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
   478: 	PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unused ) )
   479: 	PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
   480: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
   481: 	PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) )
   482: 	PORT_DIPSETTING(    0x10, DEF_STR( 2C_1C ) )
   483: 	PORT_DIPSETTING(    0x30, DEF_STR( 1C_1C ) )
   484: 	PORT_DIPSETTING(    0x00, DEF_STR( 2C_3C ) )
   485: 	PORT_DIPSETTING(    0x20, DEF_STR( 1C_2C ) )
   486: 	PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Coin_B ) )
   487: 	PORT_DIPSETTING(    0x40, DEF_STR( 2C_1C ) )
   488: 	PORT_DIPSETTING(    0xc0, DEF_STR( 1C_1C ) )
   489: 	PORT_DIPSETTING(    0x00, DEF_STR( 2C_3C ) )
   490: 	PORT_DIPSETTING(    0x80, DEF_STR( 1C_2C ) )
   491: 
   492: 	PORT_START		/* DSW B */
   493: 	PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
   494: 	PORT_DIPSETTING(    0x02, "Easy" )
   495: 	PORT_DIPSETTING(    0x03, "Normal" )
   496: 	PORT_DIPSETTING(    0x01, "Hard" )
   497: 	PORT_DIPSETTING(    0x00, "Hardest" )
   498: 	PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unused ) )
   499: 	PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
   500: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
   501: 	PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unused ) )
   502: 	PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
   503: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
   504: 	PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unused ) )
   505: 	PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
   506: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
   507: 	PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unused ) )
   508: 	PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
   509: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
   510: 	PORT_DIPNAME( 0xc0, 0xc0, "Damage Multiplicator" )
   511: 	PORT_DIPSETTING(    0xc0, "*1" )
   512: 	PORT_DIPSETTING(    0x80, "*1.5" )
   513: 	PORT_DIPSETTING(    0x40, "*2" )
   514: 	PORT_DIPSETTING(    0x00, "*3" )
   515: 
   516: 	PORT_START		/* IN0 */
   517: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_PLAYER1 )
   518: 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER1 )
   519: 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_PLAYER1 )
   520: 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_PLAYER1 )
   521: 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
   522: 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
   523: 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
   524: 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
   525: 
   526: 	PORT_START		/* IN1 */
   527: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_PLAYER2 )
   528: 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER2 )
   529: 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_PLAYER2 )
   530: 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_PLAYER2 )
   531: 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
   532: 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
   533: 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
   534: 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
   535: 
   536: 	PORT_START		/* IN2 */
   537: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE1 )
   538: 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_TILT )
   539: 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
   540: 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
   541: 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
   542: 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
   543: 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
   544: 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
   545: 
   546: 	PORT_START		/* Coin 1 */
   547: 	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
   548: 	PORT_BIT( 0xfe, IP_ACTIVE_HIGH, IPT_UNUSED )
   549: 
   550: 	PORT_START		/* Coin 2 */
   551: 	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN2 )
   552: 	PORT_BIT( 0xfe, IP_ACTIVE_HIGH, IPT_UNUSED )
   553: INPUT_PORTS_END
   554: 
   555: INPUT_PORTS_START( arknoid2 )
   556: 	PORT_START		/* DSW1 - IN2 */
   557: 	PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) )
   558: 	PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
   559: 	PORT_DIPSETTING(    0x01, DEF_STR( Cocktail ) )
   560: 	PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) )
   561: 	PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
   562: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
   563: 	PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
   564: 	PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) )
   565: 	PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
   566: 	PORT_DIPSETTING(    0x08, DEF_STR( On ) )
   567: 	PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) )
   568: 	PORT_DIPSETTING(    0x00, DEF_STR( 4C_1C ) )
   569: 	PORT_DIPSETTING(    0x10, DEF_STR( 3C_1C ) )
   570: 	PORT_DIPSETTING(    0x20, DEF_STR( 2C_1C ) )
   571: 	PORT_DIPSETTING(    0x30, DEF_STR( 1C_1C ) )
   572: 	PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Coin_B ) )
   573: 	PORT_DIPSETTING(    0xc0, DEF_STR( 1C_2C ) )
   574: 	PORT_DIPSETTING(    0x80, DEF_STR( 1C_3C ) )
   575: 	PORT_DIPSETTING(    0x40, DEF_STR( 1C_4C ) )
   576: 	PORT_DIPSETTING(    0x00, DEF_STR( 1C_6C ) )
   577: 
   578: 	PORT_START		/* DSW2 - IN3 */
   579: 	PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
   580: 	PORT_DIPSETTING(    0x02, "Easy" )
   581: 	PORT_DIPSETTING(    0x03, "Normal" )
   582: 	PORT_DIPSETTING(    0x01, "Hard" )
   583: 	PORT_DIPSETTING(    0x00, "Very Hard" )
   584: 	PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) )
   585: 	PORT_DIPSETTING(    0x00, "50k 150k" )
   586: 	PORT_DIPSETTING(    0x0c, "100k 200k" )
   587: 	PORT_DIPSETTING(    0x04, "50k Only" )
   588: 	PORT_DIPSETTING(    0x08, "100k Only" )
   589: 	PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) )
   590: 	PORT_DIPSETTING(    0x20, "2" )
   591: 	PORT_DIPSETTING(    0x30, "3" )
   592: 	PORT_DIPSETTING(    0x10, "4" )
   593: 	PORT_DIPSETTING(    0x00, "5" )
   594: 	PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
   595: 	PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
   596: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
   597: 	PORT_DIPNAME( 0x80, 0x00, "Allow Continue" )
   598: 	PORT_DIPSETTING(    0x80, DEF_STR( No ) )
   599: 	PORT_DIPSETTING(    0x00, DEF_STR( Yes ) )
   600: 
   601: 	PORT_START		/* IN1 - read at c000 (sound cpu) */
   602: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
   603: 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
   604: 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
   605: 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START2 )
   606: 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )
   607: 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
   608: 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
   609: 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
   610: 
   611: 	PORT_START		/* empty */
   612: 
   613: 	PORT_START		/* IN2 */
   614: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE1 )
   615: 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_TILT )
   616: 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
   617: 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
   618: 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
   619: 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
   620: 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
   621: 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
   622: 
   623: 	PORT_START		/* Coin 1 */
   624: 	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
   625: 	PORT_BIT( 0xfe, IP_ACTIVE_HIGH, IPT_UNUSED )
   626: 
   627: 	PORT_START		/* Coin 2 */
   628: 	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN2 )
   629: 	PORT_BIT( 0xfe, IP_ACTIVE_HIGH, IPT_UNUSED )
   630: 
   631: 	PORT_START		/* spinner 1 - read at f000/1 */
   632: 	PORT_ANALOG( 0x0fff, 0x0000, IPT_DIAL, 70, 15, 0, 0 )
   633: 	PORT_BIT   ( 0x1000, IP_ACTIVE_LOW,  IPT_COIN2 )	/* Mirrored for service mode */
   634: 	PORT_BIT   ( 0x2000, IP_ACTIVE_HIGH, IPT_SERVICE1 )	/* Mirrored for service mode */
   635: 	PORT_BIT   ( 0x4000, IP_ACTIVE_LOW,  IPT_COIN1 )	/* Mirrored for service mode */
   636: 	PORT_BIT   ( 0x8000, IP_ACTIVE_LOW,  IPT_UNKNOWN )
   637: 
   638: 	PORT_START		/* spinner 2 - read at f002/3 */
   639: 	PORT_ANALOG( 0x0fff, 0x0000, IPT_DIAL | IPF_PLAYER2, 70, 15, 0, 0 )
   640: 	PORT_BIT   ( 0xf000, IP_ACTIVE_LOW,  IPT_UNKNOWN )
   641: INPUT_PORTS_END
   642: 
   643: INPUT_PORTS_START( arknid2u )
   644: 	PORT_START		/* DSW1 - IN2 */
   645: 	PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) )
   646: 	PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
   647: 	PORT_DIPSETTING(    0x01, DEF_STR( Cocktail ) )
   648: 	PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) )
   649: 	PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
   650: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
   651: 	PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
   652: 	PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) )
   653: 	PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
   654: 	PORT_DIPSETTING(    0x08, DEF_STR( On ) )
   655: 	PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) )
   656: 	PORT_DIPSETTING(    0x10, DEF_STR( 2C_1C ) )
   657: 	PORT_DIPSETTING(    0x30, DEF_STR( 1C_1C ) )
   658: 	PORT_DIPSETTING(    0x00, DEF_STR( 2C_3C ) )
   659: 	PORT_DIPSETTING(    0x20, DEF_STR( 1C_2C ) )
   660: 	PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Coin_B ) )
   661: 	PORT_DIPSETTING(    0x40, DEF_STR( 2C_1C ) )
   662: 	PORT_DIPSETTING(    0xc0, DEF_STR( 1C_1C ) )
   663: 	PORT_DIPSETTING(    0x00, DEF_STR( 2C_3C ) )
   664: 	PORT_DIPSETTING(    0x80, DEF_STR( 1C_2C ) )
   665: 
   666: 	PORT_START		/* DSW2 - IN3 */
   667: 	PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
   668: 	PORT_DIPSETTING(    0x02, "Easy" )
   669: 	PORT_DIPSETTING(    0x03, "Normal" )
   670: 	PORT_DIPSETTING(    0x01, "Hard" )
   671: 	PORT_DIPSETTING(    0x00, "Very Hard" )
   672: 	PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) )
   673: 	PORT_DIPSETTING(    0x00, "50k 150k" )
   674: 	PORT_DIPSETTING(    0x0c, "100k 200k" )
   675: 	PORT_DIPSETTING(    0x04, "50k Only" )
   676: 	PORT_DIPSETTING(    0x08, "100k Only" )
   677: 	PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) )
   678: 	PORT_DIPSETTING(    0x20, "2" )
   679: 	PORT_DIPSETTING(    0x30, "3" )
   680: 	PORT_DIPSETTING(    0x10, "4" )
   681: 	PORT_DIPSETTING(    0x00, "5" )
   682: 	PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
   683: 	PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
   684: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
   685: 	PORT_DIPNAME( 0x80, 0x00, "Allow Continue" )
   686: 	PORT_DIPSETTING(    0x80, DEF_STR( No ) )
   687: 	PORT_DIPSETTING(    0x00, DEF_STR( Yes ) )
   688: 
   689: 	PORT_START		/* IN1 - read at c000 (sound cpu) */
   690: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
   691: 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
   692: 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
   693: 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START2 )
   694: 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )
   695: 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
   696: 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
   697: 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
   698: 
   699: 	PORT_START		/* empty */
   700: 
   701: 	PORT_START		/* IN2 */
   702: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE1 )
   703: 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_TILT )
   704: 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
   705: 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
   706: 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
   707: 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
   708: 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
   709: 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
   710: 
   711: 	PORT_START		/* Coin 1 */
   712: 	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
   713: 	PORT_BIT( 0xfe, IP_ACTIVE_HIGH, IPT_UNUSED )
   714: 
   715: 	PORT_START		/* Coin 2 */
   716: 	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN2 )
   717: 	PORT_BIT( 0xfe, IP_ACTIVE_HIGH, IPT_UNUSED )
   718: 
   719: 	PORT_START		/* spinner 1 - read at f000/1 */
   720: 	PORT_ANALOG( 0x0fff, 0x0000, IPT_DIAL, 70, 15, 0, 0 )
   721: 	PORT_BIT   ( 0x1000, IP_ACTIVE_LOW,  IPT_COIN2 )	/* Mirrored for service mode */
   722: 	PORT_BIT   ( 0x2000, IP_ACTIVE_HIGH, IPT_SERVICE1 )	/* Mirrored for service mode */
   723: 	PORT_BIT   ( 0x4000, IP_ACTIVE_LOW,  IPT_COIN1 )	/* Mirrored for service mode */
   724: 	PORT_BIT   ( 0x8000, IP_ACTIVE_LOW,  IPT_UNKNOWN )
   725: 
   726: 	PORT_START		/* spinner 2 - read at f002/3 */
   727: 	PORT_ANALOG( 0x0fff, 0x0000, IPT_DIAL | IPF_PLAYER2, 70, 15, 0, 0 )
   728: 	PORT_BIT   ( 0xf000, IP_ACTIVE_LOW,  IPT_UNKNOWN )
   729: INPUT_PORTS_END
   730: 
   731: INPUT_PORTS_START( plumppop )
   732: 	PORT_START		/* DSW A */
   733: 	PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
   734: 	PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
   735: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
   736: 	PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) )
   737: 	PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
   738: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
   739: 	PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
   740: 	PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) )
   741: 	PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
   742: 	PORT_DIPSETTING(    0x08, DEF_STR( On ) )
   743: 	PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) )
   744: 	PORT_DIPSETTING(    0x10, DEF_STR( 2C_1C ) )
   745: 	PORT_DIPSETTING(    0x30, DEF_STR( 1C_1C ) )
   746: 	PORT_DIPSETTING(    0x00, DEF_STR( 2C_3C ) )
   747: 	PORT_DIPSETTING(    0x20, DEF_STR( 1C_2C ) )
   748: 	PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Coin_B ) )
   749: 	PORT_DIPSETTING(    0x40, DEF_STR( 2C_1C ) )
   750: 	PORT_DIPSETTING(    0xc0, DEF_STR( 1C_1C ) )
   751: 	PORT_DIPSETTING(    0x00, DEF_STR( 2C_3C ) )
   752: 	PORT_DIPSETTING(    0x80, DEF_STR( 1C_2C ) )
   753: 
   754: 	PORT_START		/* DSW B */
   755: 	PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
   756: 	PORT_DIPSETTING(    0x02, "Easy" )
   757: 	PORT_DIPSETTING(    0x03, "Medium" )
   758: 	PORT_DIPSETTING(    0x01, "Hard" )
   759: 	PORT_DIPSETTING(    0x00, "Hardest" )
   760: 	PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) )
   761: 	PORT_DIPSETTING(    0x08, "50k 150k" )
   762: 	PORT_DIPSETTING(    0x0c, "70k 200k" )
   763: 	PORT_DIPSETTING(    0x04, "100k 250k" )
   764: 	PORT_DIPSETTING(    0x00, "200k 300k" )
   765: 	PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) )
   766: 	PORT_DIPSETTING(    0x20, "2" )
   767: 	PORT_DIPSETTING(    0x30, "3" )
   768: 	PORT_DIPSETTING(    0x10, "4" )
   769: 	PORT_DIPSETTING(    0x00, "5" )
   770: 	PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
   771: 	PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
   772: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
   773: 	PORT_DIPNAME( 0x80, 0x80, "Allow Continue" )
   774: 	PORT_DIPSETTING(    0x00, DEF_STR( No ) )
   775: 	PORT_DIPSETTING(    0x80, DEF_STR( Yes ) )
   776: 
   777: 	PORT_START		/* IN0 */
   778: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
   779: 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
   780: 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
   781: 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
   782: 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )
   783: 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_CHEAT )
   784: 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
   785: 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
   786: 
   787: 	PORT_START		/* IN1 */
   788: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
   789: 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
   790: 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
   791: 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
   792: 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
   793: 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_CHEAT | IPF_PLAYER2 )
   794: 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
   795: 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
   796: 
   797: 	PORT_START		/* IN2 */
   798: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE1 )
   799: 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_TILT )
   800: 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
   801: 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
   802: 	PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_COIN1 )
   803: 	PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_COIN2 )
   804: 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
   805: 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
   806: 
   807: 	PORT_START		/* Coin 1 */
   808: 	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
   809: 	PORT_BIT( 0xfe, IP_ACTIVE_HIGH, IPT_UNUSED )
   810: 
   811: 	PORT_START		/* Coin 2 */
   812: 	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN2 )
   813: 	PORT_BIT( 0xfe, IP_ACTIVE_HIGH, IPT_UNUSED )
   814: 
   815: 	PORT_START		/* spinner 1 - read at f000/1 */
   816: 	PORT_ANALOG( 0xffff, 0x0000, IPT_DIAL, 70, 15, 0, 0 )
   817: 
   818: 	PORT_START		/* spinner 2 - read at f002/3 */
   819: 	PORT_ANALOG( 0xffff, 0x0000, IPT_DIAL | IPF_PLAYER2, 70, 15, 0, 0 )
   820: INPUT_PORTS_END
   821: 
   822: INPUT_PORTS_START( drtoppel )
   823: 	PORT_START		/* DSW A */
   824: 	PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) )
   825: 	PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
   826: 	PORT_DIPSETTING(    0x01, DEF_STR( Cocktail ) )
   827: 	PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) )
   828: 	PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
   829: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
   830: 	PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
   831: 	PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) )
   832: 	PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
   833: 	PORT_DIPSETTING(    0x08, DEF_STR( On ) )
   834: 	PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) )
   835: 	PORT_DIPSETTING(    0x00, DEF_STR( 4C_1C ) )
   836: 	PORT_DIPSETTING(    0x10, DEF_STR( 3C_1C ) )
   837: 	PORT_DIPSETTING(    0x20, DEF_STR( 2C_1C ) )
   838: 	PORT_DIPSETTING(    0x30, DEF_STR( 1C_1C ) )
   839: 	PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Coin_B ) )
   840: 	PORT_DIPSETTING(    0xc0, DEF_STR( 1C_2C ) )
   841: 	PORT_DIPSETTING(    0x80, DEF_STR( 1C_3C ) )
   842: 	PORT_DIPSETTING(    0x40, DEF_STR( 1C_4C ) )
   843: 	PORT_DIPSETTING(    0x00, DEF_STR( 1C_6C ) )
   844: 
   845: 	PORT_START		/* DSW B */
   846: 	PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
   847: 	PORT_DIPSETTING(    0x02, "Easy" )
   848: 	PORT_DIPSETTING(    0x03, "Medium" )
   849: 	PORT_DIPSETTING(    0x01, "Hard" )
   850: 	PORT_DIPSETTING(    0x00, "Hardest" )
   851: 	PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) )
   852: 	PORT_DIPSETTING(    0x0c, "30000" )
   853: 	PORT_DIPSETTING(    0x00, DEF_STR( Unknown ) )
   854: 	PORT_DIPSETTING(    0x04, DEF_STR( Unknown ) )
   855: 	PORT_DIPSETTING(    0x08, DEF_STR( Unknown ) )
   856: 	PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) )
   857: 	PORT_DIPSETTING(    0x20, "2" )
   858: 	PORT_DIPSETTING(    0x30, "3" )
   859: 	PORT_DIPSETTING(    0x10, "4" )
   860: 	PORT_DIPSETTING(    0x00, "5" )
   861: 	PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
   862: 	PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
   863: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
   864: 	PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
   865: 	PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
   866: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
   867: 
   868: 	PORT_START		/* IN0 */
   869: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )
   870: 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT )
   871: 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )
   872: 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )
   873: 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )
   874: 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 )
   875: 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
   876: 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
   877: 
   878: 	PORT_START		/* IN1 */
   879: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_PLAYER2 )
   880: 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER2 )
   881: 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_PLAYER2 )
   882: 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_PLAYER2 )
   883: 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
   884: 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
   885: 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
   886: 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
   887: 
   888: 	PORT_START		/* IN2 */
   889: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE1 )
   890: 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_TILT )
   891: 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
   892: 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
   893: 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
   894: 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
   895: 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
   896: 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
   897: 
   898: 	PORT_START		/* Coin 1 */
   899: 	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
   900: 	PORT_BIT( 0xfe, IP_ACTIVE_HIGH, IPT_UNUSED )
   901: 
   902: 	PORT_START		/* Coin 2 */
   903: 	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN2 )
   904: 	PORT_BIT( 0xfe, IP_ACTIVE_HIGH, IPT_UNUSED )
   905: INPUT_PORTS_END
   906: 
   907: INPUT_PORTS_START( drtopplu )
   908: 	PORT_START		/* DSW A */
   909: 	PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) )
   910: 	PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
   911: 	PORT_DIPSETTING(    0x01, DEF_STR( Cocktail ) )
   912: 	PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) )
   913: 	PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
   914: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
   915: 	PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
   916: 	PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) )
   917: 	PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
   918: 	PORT_DIPSETTING(    0x08, DEF_STR( On ) )
   919: 	PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) )
   920: 	PORT_DIPSETTING(    0x10, DEF_STR( 2C_1C ) )
   921: 	PORT_DIPSETTING(    0x30, DEF_STR( 1C_1C ) )
   922: 	PORT_DIPSETTING(    0x00, DEF_STR( 2C_3C ) )
   923: 	PORT_DIPSETTING(    0x20, DEF_STR( 1C_2C ) )
   924: 	PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Coin_B ) )
   925: 	PORT_DIPSETTING(    0x40, DEF_STR( 2C_1C ) )
   926: 	PORT_DIPSETTING(    0xc0, DEF_STR( 1C_1C ) )
   927: 	PORT_DIPSETTING(    0x00, DEF_STR( 2C_3C ) )
   928: 	PORT_DIPSETTING(    0x80, DEF_STR( 1C_2C ) )
   929: 
   930: 	PORT_START		/* DSW B */
   931: 	PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
   932: 	PORT_DIPSETTING(    0x02, "Easy" )
   933: 	PORT_DIPSETTING(    0x03, "Medium" )
   934: 	PORT_DIPSETTING(    0x01, "Hard" )
   935: 	PORT_DIPSETTING(    0x00, "Hardest" )
   936: 	PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) )
   937: 	PORT_DIPSETTING(    0x0c, "30000" )
   938: 	PORT_DIPSETTING(    0x00, DEF_STR( Unknown ) )
   939: 	PORT_DIPSETTING(    0x04, DEF_STR( Unknown ) )
   940: 	PORT_DIPSETTING(    0x08, DEF_STR( Unknown ) )
   941: 	PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) )
   942: 	PORT_DIPSETTING(    0x20, "2" )
   943: 	PORT_DIPSETTING(    0x30, "3" )
   944: 	PORT_DIPSETTING(    0x10, "4" )
   945: 	PORT_DIPSETTING(    0x00, "5" )
   946: 	PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
   947: 	PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
   948: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
   949: 	PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
   950: 	PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
   951: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
   952: 
   953: 	PORT_START		/* IN0 */
   954: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )
   955: 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT )
   956: 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )
   957: 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )
   958: 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )
   959: 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 )
   960: 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
   961: 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
   962: 
   963: 	PORT_START		/* IN1 */
   964: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_PLAYER2 )
   965: 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER2 )
   966: 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_PLAYER2 )
   967: 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_PLAYER2 )
   968: 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
   969: 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
   970: 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
   971: 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
   972: 
   973: 	PORT_START		/* IN2 */
   974: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE1 )
   975: 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_TILT )
   976: 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
   977: 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
   978: 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
   979: 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
   980: 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
   981: 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
   982: 
   983: 	PORT_START		/* Coin 1 */
   984: 	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
   985: 	PORT_BIT( 0xfe, IP_ACTIVE_HIGH, IPT_UNUSED )
   986: 
   987: 	PORT_START		/* Coin 2 */
   988: 	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN2 )
   989: 	PORT_BIT( 0xfe, IP_ACTIVE_HIGH, IPT_UNUSED )
   990: INPUT_PORTS_END
   991: 
   992: INPUT_PORTS_START( chukatai )
   993: 	PORT_START		/* DSW A */
   994: 	PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) )
   995: 	PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
   996: 	PORT_DIPSETTING(    0x01, DEF_STR( Cocktail ) )
   997: 	PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) )
   998: 	PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
   999: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1000: 	PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
  1001: 	PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) )
  1002: 	PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
  1003: 	PORT_DIPSETTING(    0x08, DEF_STR( On ) )
  1004: 	PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) )
  1005: 	PORT_DIPSETTING(    0x00, DEF_STR( 4C_1C ) )
  1006: 	PORT_DIPSETTING(    0x10, DEF_STR( 3C_1C ) )
  1007: 	PORT_DIPSETTING(    0x20, DEF_STR( 2C_1C ) )
  1008: 	PORT_DIPSETTING(    0x30, DEF_STR( 1C_1C ) )
  1009: 	PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Coin_B ) )
  1010: 	PORT_DIPSETTING(    0xc0, DEF_STR( 1C_2C ) )
  1011: 	PORT_DIPSETTING(    0x80, DEF_STR( 1C_3C ) )
  1012: 	PORT_DIPSETTING(    0x40, DEF_STR( 1C_4C ) )
  1013: 	PORT_DIPSETTING(    0x00, DEF_STR( 1C_6C ) )
  1014: 
  1015: 	PORT_START		/* DSW B */
  1016: 	PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
  1017: 	PORT_DIPSETTING(    0x02, "Easy" )
  1018: 	PORT_DIPSETTING(    0x03, "Medium" )
  1019: 	PORT_DIPSETTING(    0x01, "Hard" )
  1020: 	PORT_DIPSETTING(    0x00, "Hardest" )
  1021: 	PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) )
  1022: 	PORT_DIPSETTING(    0x08, "100k 300k 440k" )
  1023: 	PORT_DIPSETTING(    0x00, "100k 300k 500k" )
  1024: 	PORT_DIPSETTING(    0x0c, "100k 400k" )
  1025: 	PORT_DIPSETTING(    0x04, "100k 500k" )
  1026: 	PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) )
  1027: 	PORT_DIPSETTING(    0x00, "1" )
  1028: 	PORT_DIPSETTING(    0x10, "2" )
  1029: 	PORT_DIPSETTING(    0x30, "3" )
  1030: 	PORT_DIPSETTING(    0x20, "4" )
  1031: 	PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
  1032: 	PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
  1033: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1034: 	PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
  1035: 	PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
  1036: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1037: 
  1038: 	PORT_START		/* IN0 */
  1039: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )
  1040: 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT )
  1041: 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )
  1042: 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )
  1043: 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )
  1044: 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 )
  1045: 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1046: 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
  1047: 
  1048: 	PORT_START		/* IN1 */
  1049: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_PLAYER2 )
  1050: 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER2 )
  1051: 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_PLAYER2 )
  1052: 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_PLAYER2 )
  1053: 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
  1054: 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
  1055: 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1056: 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
  1057: 
  1058: 	PORT_START		/* IN2 */
  1059: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE1 )
  1060: 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_TILT )
  1061: 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1062: 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1063: 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1064: 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1065: 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1066: 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1067: 
  1068: 	PORT_START		/* Coin 1 */
  1069: 	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
  1070: 	PORT_BIT( 0xfe, IP_ACTIVE_HIGH, IPT_UNUSED )
  1071: 
  1072: 	PORT_START		/* Coin 2 */
  1073: 	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN2 )
  1074: 	PORT_BIT( 0xfe, IP_ACTIVE_HIGH, IPT_UNUSED )
  1075: INPUT_PORTS_END
  1076: 
  1077: INPUT_PORTS_START( chukatau )
  1078: 	PORT_START		/* DSW A */
  1079: 	PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) )
  1080: 	PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
  1081: 	PORT_DIPSETTING(    0x01, DEF_STR( Cocktail ) )
  1082: 	PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) )
  1083: 	PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
  1084: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1085: 	PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
  1086: 	PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) )
  1087: 	PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
  1088: 	PORT_DIPSETTING(    0x08, DEF_STR( On ) )
  1089: 	PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) )
  1090: 	PORT_DIPSETTING(    0x10, DEF_STR( 2C_1C ) )
  1091: 	PORT_DIPSETTING(    0x30, DEF_STR( 1C_1C ) )
  1092: 	PORT_DIPSETTING(    0x00, DEF_STR( 2C_3C ) )
  1093: 	PORT_DIPSETTING(    0x20, DEF_STR( 1C_2C ) )
  1094: 	PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Coin_B ) )
  1095: 	PORT_DIPSETTING(    0x40, DEF_STR( 2C_1C ) )
  1096: 	PORT_DIPSETTING(    0xc0, DEF_STR( 1C_1C ) )
  1097: 	PORT_DIPSETTING(    0x00, DEF_STR( 2C_3C ) )
  1098: 	PORT_DIPSETTING(    0x80, DEF_STR( 1C_2C ) )
  1099: 
  1100: 	PORT_START		/* DSW B */
  1101: 	PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
  1102: 	PORT_DIPSETTING(    0x02, "Easy" )
  1103: 	PORT_DIPSETTING(    0x03, "Medium" )
  1104: 	PORT_DIPSETTING(    0x01, "Hard" )
  1105: 	PORT_DIPSETTING(    0x00, "Hardest" )
  1106: 	PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) )
  1107: 	PORT_DIPSETTING(    0x08, "100k 300k 440k" )
  1108: 	PORT_DIPSETTING(    0x00, "100k 300k 500k" )
  1109: 	PORT_DIPSETTING(    0x0c, "100k 400k" )
  1110: 	PORT_DIPSETTING(    0x04, "100k 500k" )
  1111: 	PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) )
  1112: 	PORT_DIPSETTING(    0x00, "1" )
  1113: 	PORT_DIPSETTING(    0x10, "2" )
  1114: 	PORT_DIPSETTING(    0x30, "3" )
  1115: 	PORT_DIPSETTING(    0x20, "4" )
  1116: 	PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
  1117: 	PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
  1118: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1119: 	PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
  1120: 	PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
  1121: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1122: 
  1123: 	PORT_START		/* IN0 */
  1124: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )
  1125: 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT )
  1126: 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )
  1127: 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )
  1128: 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )
  1129: 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 )
  1130: 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1131: 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
  1132: 
  1133: 	PORT_START		/* IN1 */
  1134: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_PLAYER2 )
  1135: 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER2 )
  1136: 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_PLAYER2 )
  1137: 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_PLAYER2 )
  1138: 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
  1139: 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
  1140: 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1141: 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
  1142: 
  1143: 	PORT_START		/* IN2 */
  1144: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE1 )
  1145: 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_TILT )
  1146: 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1147: 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1148: 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1149: 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1150: 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1151: 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1152: 
  1153: 	PORT_START		/* Coin 1 */
  1154: 	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
  1155: 	PORT_BIT( 0xfe, IP_ACTIVE_HIGH, IPT_UNUSED )
  1156: 
  1157: 	PORT_START		/* Coin 2 */
  1158: 	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN2 )
  1159: 	PORT_BIT( 0xfe, IP_ACTIVE_HIGH, IPT_UNUSED )
  1160: INPUT_PORTS_END
  1161: 
  1162: INPUT_PORTS_START( tnzs )
  1163: 	PORT_START		/* DSW A */
  1164: 	PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) )
  1165: 	PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
  1166: 	PORT_DIPSETTING(    0x01, DEF_STR( Cocktail ) )
  1167: 	PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) )
  1168: 	PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
  1169: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1170: 	PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
  1171: 	PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
  1172: 	PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
  1173: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1174: 	PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) )
  1175: 	PORT_DIPSETTING(    0x10, DEF_STR( 2C_1C ) )
  1176: 	PORT_DIPSETTING(    0x30, DEF_STR( 1C_1C ) )
  1177: 	PORT_DIPSETTING(    0x00, DEF_STR( 2C_3C ) )
  1178: 	PORT_DIPSETTING(    0x20, DEF_STR( 1C_2C ) )
  1179: 	PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Coin_B ) )
  1180: 	PORT_DIPSETTING(    0x40, DEF_STR( 2C_1C ) )
  1181: 	PORT_DIPSETTING(    0xc0, DEF_STR( 1C_1C ) )
  1182: 	PORT_DIPSETTING(    0x00, DEF_STR( 2C_3C ) )
  1183: 	PORT_DIPSETTING(    0x80, DEF_STR( 1C_2C ) )
  1184: 
  1185: 	PORT_START		/* DSW B */
  1186: 	PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
  1187: 	PORT_DIPSETTING(    0x02, "Easy" )
  1188: 	PORT_DIPSETTING(    0x03, "Medium" )
  1189: 	PORT_DIPSETTING(    0x01, "Hard" )
  1190: 	PORT_DIPSETTING(    0x00, "Hardest" )
  1191: 	PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) )
  1192: 	PORT_DIPSETTING(    0x00, "50000 150000" )
  1193: 	PORT_DIPSETTING(    0x0c, "70000 200000" )
  1194: 	PORT_DIPSETTING(    0x04, "100000 250000" )
  1195: 	PORT_DIPSETTING(    0x08, "200000 300000" )
  1196: 	PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) )
  1197: 	PORT_DIPSETTING(    0x20, "2" )
  1198: 	PORT_DIPSETTING(    0x30, "3" )
  1199: 	PORT_DIPSETTING(    0x00, "4" )
  1200: 	PORT_DIPSETTING(    0x10, "5" )
  1201: 	PORT_DIPNAME( 0x40, 0x40, "Allow Continue" )
  1202: 	PORT_DIPSETTING(    0x00, DEF_STR( No ) )
  1203: 	PORT_DIPSETTING(    0x40, DEF_STR( Yes ) )
  1204: 	PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
  1205: 	PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
  1206: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1207: 
  1208: 	PORT_START		/* IN0 */
  1209: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )
  1210: 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT )
  1211: 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )
  1212: 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )
  1213: 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )
  1214: 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 )
  1215: 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1216: 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
  1217: 
  1218: 	PORT_START		/* IN1 */
  1219: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_PLAYER2 )
  1220: 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER2 )
  1221: 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_PLAYER2 )
  1222: 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_PLAYER2 )
  1223: 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
  1224: 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
  1225: 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1226: 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
  1227: 
  1228: 	PORT_START		/* IN2 */
  1229: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE1 )
  1230: 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_TILT )
  1231: 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1232: 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1233: 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1234: 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1235: 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1236: 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1237: 
  1238: 	PORT_START		/* Coin 1 */
  1239: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
  1240: 	PORT_BIT( 0xfe, IP_ACTIVE_HIGH, IPT_UNUSED )
  1241: 
  1242: 	PORT_START		/* Coin 2 */
  1243: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN2 )
  1244: 	PORT_BIT( 0xfe, IP_ACTIVE_HIGH, IPT_UNUSED )
  1245: INPUT_PORTS_END
  1246: 
  1247: INPUT_PORTS_START( tnzsb )
  1248: 	PORT_START		/* DSW A */
  1249: 	PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) )
  1250: 	PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
  1251: 	PORT_DIPSETTING(    0x01, DEF_STR( Cocktail ) )
  1252: 	PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) )
  1253: 	PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
  1254: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1255: 	PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
  1256: 	PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
  1257: 	PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
  1258: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1259: 	PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) )
  1260: 	PORT_DIPSETTING(    0x00, DEF_STR( 4C_1C ) )
  1261: 	PORT_DIPSETTING(    0x10, DEF_STR( 3C_1C ) )
  1262: 	PORT_DIPSETTING(    0x20, DEF_STR( 2C_1C ) )
  1263: 	PORT_DIPSETTING(    0x30, DEF_STR( 1C_1C ) )
  1264: 	PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Coin_B ) )
  1265: 	PORT_DIPSETTING(    0xc0, DEF_STR( 1C_2C ) )
  1266: 	PORT_DIPSETTING(    0x80, DEF_STR( 1C_3C ) )
  1267: 	PORT_DIPSETTING(    0x40, DEF_STR( 1C_4C ) )
  1268: 	PORT_DIPSETTING(    0x00, DEF_STR( 1C_6C ) )
  1269: 
  1270: 	PORT_START		/* DSW B */
  1271: 	PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
  1272: 	PORT_DIPSETTING(    0x02, "Easy" )
  1273: 	PORT_DIPSETTING(    0x03, "Medium" )
  1274: 	PORT_DIPSETTING(    0x01, "Hard" )
  1275: 	PORT_DIPSETTING(    0x00, "Hardest" )
  1276: 	PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) )
  1277: 	PORT_DIPSETTING(    0x00, "50000 150000" )
  1278: 	PORT_DIPSETTING(    0x0c, "70000 200000" )
  1279: 	PORT_DIPSETTING(    0x04, "100000 250000" )
  1280: 	PORT_DIPSETTING(    0x08, "200000 300000" )
  1281: 	PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) )
  1282: 	PORT_DIPSETTING(    0x20, "2" )
  1283: 	PORT_DIPSETTING(    0x30, "3" )
  1284: 	PORT_DIPSETTING(    0x00, "4" )
  1285: 	PORT_DIPSETTING(    0x10, "5" )
  1286: 	PORT_DIPNAME( 0x40, 0x40, "Allow Continue" )
  1287: 	PORT_DIPSETTING(    0x00, DEF_STR( No ) )
  1288: 	PORT_DIPSETTING(    0x40, DEF_STR( Yes ) )
  1289: 	PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
  1290: 	PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
  1291: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1292: 
  1293: 	PORT_START		/* IN0 */
  1294: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )
  1295: 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT )
  1296: 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )
  1297: 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )
  1298: 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )
  1299: 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 )
  1300: 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1301: 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
  1302: 
  1303: 	PORT_START		/* IN1 */
  1304: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_COCKTAIL )
  1305: 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_COCKTAIL )
  1306: 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_COCKTAIL )
  1307: 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_COCKTAIL )
  1308: 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
  1309: 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_COCKTAIL )
  1310: 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1311: 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
  1312: 
  1313: 	PORT_START		/* IN2 */
  1314: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE1 )
  1315: 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_TILT )
  1316: 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1317: 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1318: 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN1 )
  1319: 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 )
  1320: 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1321: 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1322: INPUT_PORTS_END
  1323: 
  1324: INPUT_PORTS_START( tnzs2 )
  1325: 	PORT_START		/* DSW A */
  1326: 	PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) )
  1327: 	PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
  1328: 	PORT_DIPSETTING(    0x01, DEF_STR( Cocktail ) )
  1329: 	PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) )
  1330: 	PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
  1331: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1332: 	PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
  1333: 	PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
  1334: 	PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
  1335: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1336: 	PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) )
  1337: 	PORT_DIPSETTING(    0x00, DEF_STR( 4C_1C ) )
  1338: 	PORT_DIPSETTING(    0x10, DEF_STR( 3C_1C ) )
  1339: 	PORT_DIPSETTING(    0x20, DEF_STR( 2C_1C ) )
  1340: 	PORT_DIPSETTING(    0x30, DEF_STR( 1C_1C ) )
  1341: 	PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Coin_B ) )
  1342: 	PORT_DIPSETTING(    0xc0, DEF_STR( 1C_2C ) )
  1343: 	PORT_DIPSETTING(    0x80, DEF_STR( 1C_3C ) )
  1344: 	PORT_DIPSETTING(    0x40, DEF_STR( 1C_4C ) )
  1345: 	PORT_DIPSETTING(    0x00, DEF_STR( 1C_6C ) )
  1346: 
  1347: 	PORT_START		/* DSW B */
  1348: 	PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
  1349: 	PORT_DIPSETTING(    0x02, "Easy" )
  1350: 	PORT_DIPSETTING(    0x03, "Medium" )
  1351: 	PORT_DIPSETTING(    0x01, "Hard" )
  1352: 	PORT_DIPSETTING(    0x00, "Hardest" )
  1353: 	PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) )
  1354: 	PORT_DIPSETTING(    0x00, "10000 100000" )
  1355: 	PORT_DIPSETTING(    0x0c, "10000 150000" )
  1356: 	PORT_DIPSETTING(    0x08, "10000 200000" )
  1357: 	PORT_DIPSETTING(    0x04, "10000 300000" )
  1358: 	PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) )
  1359: 	PORT_DIPSETTING(    0x20, "2" )
  1360: 	PORT_DIPSETTING(    0x30, "3" )
  1361: 	PORT_DIPSETTING(    0x00, "4" )
  1362: 	PORT_DIPSETTING(    0x10, "5" )
  1363: 	PORT_DIPNAME( 0x40, 0x40, "Allow Continue" )
  1364: 	PORT_DIPSETTING(    0x00, DEF_STR( No ) )
  1365: 	PORT_DIPSETTING(    0x40, DEF_STR( Yes ) )
  1366: 	PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
  1367: 	PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
  1368: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1369: 
  1370: 	PORT_START		/* IN0 */
  1371: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )
  1372: 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT )
  1373: 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )
  1374: 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )
  1375: 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )
  1376: 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 )
  1377: 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1378: 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
  1379: 
  1380: 	PORT_START		/* IN1 */
  1381: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_PLAYER2 )
  1382: 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER2 )
  1383: 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_PLAYER2 )
  1384: 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_PLAYER2 )
  1385: 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
  1386: 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
  1387: 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1388: 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
  1389: 
  1390: 	PORT_START		/* IN2 */
  1391: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE1 )
  1392: 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_TILT )
  1393: 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1394: 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1395: 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1396: 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1397: 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1398: 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1399: 
  1400: 	PORT_START		/* Coin 1 */
  1401: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
  1402: 	PORT_BIT( 0xfe, IP_ACTIVE_HIGH, IPT_UNUSED )
  1403: 
  1404: 	PORT_START		/* Coin 2 */
  1405: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN2 )
  1406: 	PORT_BIT( 0xfe, IP_ACTIVE_HIGH, IPT_UNUSED )
  1407: INPUT_PORTS_END
  1408: 
  1409: INPUT_PORTS_START( insectx )
  1410: 	PORT_START		/* DSW A */
  1411: 	PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) )
  1412: 	PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
  1413: 	PORT_DIPSETTING(    0x01, DEF_STR( Cocktail ) )
  1414: 	PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) )
  1415: 	PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
  1416: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1417: 	PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
  1418: 	PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) )
  1419: 	PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
  1420: 	PORT_DIPSETTING(    0x08, DEF_STR( On ) )
  1421: 	PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) )
  1422: 	PORT_DIPSETTING(    0x00, DEF_STR( 4C_1C ) )
  1423: 	PORT_DIPSETTING(    0x10, DEF_STR( 3C_1C ) )
  1424: 	PORT_DIPSETTING(    0x20, DEF_STR( 2C_1C ) )
  1425: 	PORT_DIPSETTING(    0x30, DEF_STR( 1C_1C ) )
  1426: 	PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Coin_B ) )
  1427: 	PORT_DIPSETTING(    0xc0, DEF_STR( 1C_2C ) )
  1428: 	PORT_DIPSETTING(    0x80, DEF_STR( 1C_3C ) )
  1429: 	PORT_DIPSETTING(    0x40, DEF_STR( 1C_4C ) )
  1430: 	PORT_DIPSETTING(    0x00, DEF_STR( 1C_6C ) )
  1431: 
  1432: 	PORT_START		/* DSW B */
  1433: 	PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
  1434: 	PORT_DIPSETTING(    0x02, "Easy" )
  1435: 	PORT_DIPSETTING(    0x03, "Medium" )
  1436: 	PORT_DIPSETTING(    0x01, "Hard" )
  1437: 	PORT_DIPSETTING(    0x00, "Hardest" )
  1438: 	PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) )
  1439: 	PORT_DIPSETTING(    0x08, "100k 200k 300k 440k" )
  1440: 	PORT_DIPSETTING(    0x0c, "100k 400k" )
  1441: 	PORT_DIPSETTING(    0x04, "100k 500k" )
  1442: 	PORT_DIPSETTING(    0x00, "150000 Only" )
  1443: 	PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) )
  1444: 	PORT_DIPSETTING(    0x00, "1" )
  1445: 	PORT_DIPSETTING(    0x10, "2" )
  1446: 	PORT_DIPSETTING(    0x30, "3" )
  1447: 	PORT_DIPSETTING(    0x20, "4" )
  1448: 	PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
  1449: 	PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
  1450: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1451: 	PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
  1452: 	PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
  1453: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1454: 
  1455: 	PORT_START		/* IN0 */
  1456: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )
  1457: 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT )
  1458: 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )
  1459: 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )
  1460: 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )
  1461: 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 )
  1462: 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1463: 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
  1464: 
  1465: 	PORT_START		/* IN1 */
  1466: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_COCKTAIL )
  1467: 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_COCKTAIL )
  1468: 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_COCKTAIL )
  1469: 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_COCKTAIL )
  1470: 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
  1471: 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_COCKTAIL )
  1472: 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1473: 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
  1474: 
  1475: 	PORT_START		/* IN2 */
  1476: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE1 )
  1477: 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_TILT )
  1478: 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN2 )
  1479: 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN1 )
  1480: 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1481: 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1482: 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1483: 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1484: INPUT_PORTS_END
  1485: 
  1486: INPUT_PORTS_START( kageki )
  1487: 	PORT_START		/* DSW A */
  1488: 	PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) )
  1489: 	PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
  1490: 	PORT_DIPSETTING(    0x01, DEF_STR( Cocktail ) )
  1491: 	PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) )
  1492: 	PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
  1493: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1494: 	PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
  1495: 	PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) )
  1496: 	PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
  1497: 	PORT_DIPSETTING(    0x08, DEF_STR( On ) )
  1498: 	PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) )
  1499: 	PORT_DIPSETTING(    0x10, DEF_STR( 2C_1C ) )
  1500: 	PORT_DIPSETTING(    0x30, DEF_STR( 1C_1C ) )
  1501: 	PORT_DIPSETTING(    0x00, DEF_STR( 2C_3C ) )
  1502: 	PORT_DIPSETTING(    0x20, DEF_STR( 1C_2C ) )
  1503: 	PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Coin_B ) )
  1504: 	PORT_DIPSETTING(    0x40, DEF_STR( 2C_1C ) )
  1505: 	PORT_DIPSETTING(    0xc0, DEF_STR( 1C_1C ) )
  1506: 	PORT_DIPSETTING(    0x00, DEF_STR( 2C_3C ) )
  1507: 	PORT_DIPSETTING(    0x80, DEF_STR( 1C_2C ) )
  1508: 
  1509: 	PORT_START		/* DSW B */
  1510: 	PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
  1511: 	PORT_DIPSETTING(    0x02, "Easy" )
  1512: 	PORT_DIPSETTING(    0x03, "Medium" )
  1513: 	PORT_DIPSETTING(    0x01, "Hard" )
  1514: 	PORT_DIPSETTING(    0x00, "Hardest" )
  1515: 	PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
  1516: 	PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
  1517: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1518: 	PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
  1519: 	PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
  1520: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1521: 	PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
  1522: 	PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
  1523: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1524: 	PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
  1525: 	PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
  1526: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1527: 	PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
  1528: 	PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
  1529: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1530: 	PORT_DIPNAME( 0x80, 0x80, "Allow Continue" )
  1531: 	PORT_DIPSETTING(    0x00, DEF_STR( No ) )
  1532: 	PORT_DIPSETTING(    0x80, DEF_STR( Yes ) )
  1533: 
  1534: 	PORT_START		/* IN0 */
  1535: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )
  1536: 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT )
  1537: 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )
  1538: 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )
  1539: 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )
  1540: 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 )
  1541: 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1542: 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
  1543: 
  1544: 	PORT_START		/* IN1 */
  1545: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_PLAYER2 )
  1546: 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER2 )
  1547: 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_PLAYER2 )
  1548: 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_PLAYER2 )
  1549: 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
  1550: 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
  1551: 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1552: 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
  1553: 
  1554: 	PORT_START		/* IN2 */
  1555: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE1 )
  1556: 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_TILT )
  1557: 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1558: 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1559: 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN1 )
  1560: 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 )
  1561: 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1562: 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1563: INPUT_PORTS_END
  1564: 
  1565: 
  1566: static struct GfxLayout arknoid2_charlayout =
  1567: {
  1568: 	16,16,
  1569: 	4096,
  1570: 	4,
  1571: 	{ 3*4096*32*8, 2*4096*32*8, 1*4096*32*8, 0*4096*32*8 },
  1572: 	{ 0, 1, 2, 3, 4, 5, 6, 7,
  1573: 			8*8+0,8*8+1,8*8+2,8*8+3,8*8+4,8*8+5,8*8+6,8*8+7},
  1574: 	{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8,
  1575: 			16*8, 17*8, 18*8, 19*8, 20*8, 21*8, 22*8, 23*8 },
  1576: 	32*8
  1577: };
  1578: 
  1579: static struct GfxLayout tnzs_charlayout =
  1580: {
  1581: 	16,16,
  1582: 	8192,
  1583: 	4,
  1584: 	{ 3*8192*32*8, 2*8192*32*8, 1*8192*32*8, 0*8192*32*8 },
  1585: 	{ 0, 1, 2, 3, 4, 5, 6, 7,
  1586: 			8*8+0, 8*8+1, 8*8+2, 8*8+3, 8*8+4, 8*8+5, 8*8+6, 8*8+7 },
  1587: 	{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8,
  1588: 			16*8, 17*8, 18*8, 19*8, 20*8, 21*8, 22*8, 23*8 },
  1589: 	32*8
  1590: };
  1591: 
  1592: static struct GfxLayout insectx_charlayout =
  1593: {
  1594: 	16,16,
  1595: 	8192,
  1596: 	4,
  1597: 	{ 8, 0, 8192*64*8+8, 8192*64*8 },
  1598: 	{ 0, 1, 2, 3, 4, 5, 6, 7,
  1599: 			8*16+0, 8*16+1, 8*16+2, 8*16+3, 8*16+4, 8*16+5, 8*16+6, 8*16+7 },
  1600: 	{ 0*16, 1*16, 2*16, 3*16, 4*16, 5*16, 6*16, 7*16,
  1601: 		16*16, 17*16, 18*16, 19*16, 20*16, 21*16, 22*16, 23*16 },
  1602: 	64*8
  1603: };
  1604: 
  1605: static struct GfxDecodeInfo arknoid2_gfxdecodeinfo[] =
  1606: {
  1607: 	{ REGION_GFX1, 0, &arknoid2_charlayout, 0, 32 },
  1608: 	{ -1 } /* end of array */
  1609: };
  1610: 
  1611: static struct GfxDecodeInfo tnzs_gfxdecodeinfo[] =
  1612: {
  1613: 	{ REGION_GFX1, 0, &tnzs_charlayout, 0, 32 },
  1614: 	{ -1 }	/* end of array */
  1615: };
  1616: 
  1617: static struct GfxDecodeInfo insectx_gfxdecodeinfo[] =
  1618: {
  1619: 	{ REGION_GFX1, 0, &insectx_charlayout, 0, 32 },
  1620: 	{ -1 }	/* end of array */
  1621: };
  1622: 
  1623: 
  1624: 
  1625: static struct YM2203interface ym2203_interface =
  1626: {
  1627: 	1,			/* 1 chip */
  1628: 	3000000,	/* 3 MHz ??? */
  1629: 	{ YM2203_VOL(30,30) },
  1630: 	{ input_port_0_r },		/* DSW1 connected to port A */
  1631: 	{ input_port_1_r },		/* DSW2 connected to port B */
  1632: 	{ 0 },
  1633: 	{ 0 }
  1634: };
  1635: 
  1636: 
  1637: /* handler called by the 2203 emulator when the internal timers cause an IRQ */
  1638: static void irqhandler(int irq)
  1639: {
  1640: 	cpu_set_nmi_line(2,irq ? ASSERT_LINE : CLEAR_LINE);
  1641: }
  1642: 
  1643: static struct YM2203interface ym2203b_interface =
  1644: {
  1645: 	1,			/* 1 chip */
  1646: 	3000000,	/* 3 MHz ??? */
  1647: 	{ YM2203_VOL(100,100) },
  1648: 	{ 0 },
  1649: 	{ 0 },
  1650: 	{ 0 },
  1651: 	{ 0 },
  1652: 	{ irqhandler }
  1653: };
  1654: 
  1655: static struct YM2203interface kageki_ym2203_interface =
  1656: {
  1657: 	1,					/* 1 chip */
  1658: 	3000000,			/* 12000000/4 ??? */
  1659: 	{ YM2203_VOL(35, 15) },
  1660: 	{ kageki_csport_r },
  1661: 	{ 0 },
  1662: 	{ 0 },
  1663: 	{ kageki_csport_w },
  1664: };
  1665: 
  1666: static struct Samplesinterface samples_interface =
  1667: {
  1668: 	1,					/* 1 channel */
  1669: 	100					/* volume */
  1670: };
  1671: 
  1672: static struct CustomSound_interface custom_interface =
  1673: {
  1674: 	kageki_init_samples,
  1675: 	0,
  1676: 	0
  1677: };
  1678: 
  1679: 
  1680: static MACHINE_DRIVER_START( arknoid2 )
  1681: 
  1682: 	/* basic machine hardware */
  1683: 	MDRV_CPU_ADD(Z80, 8000000)	/* ?? Hz (only crystal is 12MHz) */
  1684: 								/* 8MHz is wrong, but extrmatn doesn't work properly at 6MHz */
  1685: 	MDRV_CPU_MEMORY(readmem,writemem)
  1686: 	MDRV_CPU_VBLANK_INT(arknoid2_interrupt,1)
  1687: 
  1688: 	MDRV_CPU_ADD(Z80, 6000000)	/* ?? Hz */
  1689: 	MDRV_CPU_MEMORY(sub_readmem,sub_writemem)
  1690: 	MDRV_CPU_VBLANK_INT(irq0_line_hold,1)
  1691: 
  1692: 	MDRV_FRAMES_PER_SECOND(60)
  1693: 	MDRV_VBLANK_DURATION(DEFAULT_60HZ_VBLANK_DURATION)
  1694: 	MDRV_INTERLEAVE(100)
  1695: 
  1696: 	MDRV_MACHINE_INIT(tnzs)
  1697: 
  1698: 	/* video hardware */
  1699: 	MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
  1700: 	MDRV_SCREEN_SIZE(32*8, 32*8)
  1701: 	MDRV_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
  1702: 	MDRV_GFXDECODE(arknoid2_gfxdecodeinfo)
  1703: 	MDRV_PALETTE_LENGTH(512)
  1704: 
  1705: 	MDRV_PALETTE_INIT(arknoid2)
  1706: 	MDRV_VIDEO_UPDATE(tnzs)
  1707: 
  1708: 	/* sound hardware */
  1709: 	MDRV_SOUND_ADD(YM2203, ym2203_interface)
  1710: MACHINE_DRIVER_END
  1711: 
  1712: 
  1713: static MACHINE_DRIVER_START( drtoppel )
  1714: 
  1715: 	/* basic machine hardware */
  1716: 	MDRV_CPU_ADD(Z80,12000000/2)		/* 6.0 MHz ??? - Main board Crystal is 12MHz */
  1717: 	MDRV_CPU_MEMORY(readmem,writemem)
  1718: 	MDRV_CPU_VBLANK_INT(arknoid2_interrupt,1)
  1719: 
  1720: 	MDRV_CPU_ADD(Z80,12000000/2)		/* 6.0 MHz ??? - Main board Crystal is 12MHz */
  1721: 	MDRV_CPU_MEMORY(sub_readmem,sub_writemem)
  1722: 	MDRV_CPU_VBLANK_INT(irq0_line_hold,1)
  1723: 
  1724: 	MDRV_FRAMES_PER_SECOND(60)
  1725: 	MDRV_VBLANK_DURATION(DEFAULT_60HZ_VBLANK_DURATION)
  1726: 	MDRV_INTERLEAVE(100)
  1727: 
  1728: 	MDRV_MACHINE_INIT(tnzs)
  1729: 
  1730: 	/* video hardware */
  1731: 	MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
  1732: 	MDRV_SCREEN_SIZE(32*8, 32*8)
  1733: 	MDRV_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
  1734: 	MDRV_GFXDECODE(tnzs_gfxdecodeinfo)
  1735: 	MDRV_PALETTE_LENGTH(512)
  1736: 
  1737: 	MDRV_PALETTE_INIT(arknoid2)
  1738: 	MDRV_VIDEO_UPDATE(tnzs)
  1739: 
  1740: 	/* sound hardware */
  1741: 	MDRV_SOUND_ADD(YM2203, ym2203_interface)
  1742: MACHINE_DRIVER_END
  1743: 
  1744: 
  1745: static MACHINE_DRIVER_START( tnzs )
  1746: 
  1747: 	/* basic machine hardware */
  1748: 	MDRV_CPU_ADD(Z80,12000000/2)		/* 6.0 MHz ??? - Main board Crystal is 12MHz */
  1749: 	MDRV_CPU_MEMORY(readmem,writemem)
  1750: 	MDRV_CPU_VBLANK_INT(irq0_line_hold,1)
  1751: 
  1752: 	MDRV_CPU_ADD(Z80,12000000/2)		/* 6.0 MHz ??? - Main board Crystal is 12MHz */
  1753: 	MDRV_CPU_MEMORY(sub_readmem,sub_writemem)
  1754: 	MDRV_CPU_VBLANK_INT(irq0_line_hold,1)
  1755: 
  1756: 	MDRV_CPU_ADD(I8X41,(12000000/2)/I8X41_CLOCK_DIVIDER)	/* 400KHz ??? - Main board Crystal is 12MHz */
  1757: 	MDRV_CPU_MEMORY(i8742_readmem,i8742_writemem)
  1758: 	MDRV_CPU_PORTS(i8742_readport,i8742_writeport)
  1759: 
  1760: 	MDRV_FRAMES_PER_SECOND(60)
  1761: 	MDRV_VBLANK_DURATION(DEFAULT_REAL_60HZ_VBLANK_DURATION)
  1762: 	MDRV_INTERLEAVE(500)	/* 500 CPU slices per frame - heavy sync required in order to*/
  1763: 							/* avoid crashes/hangs -kal 14 jul 2002 */
  1764: 	MDRV_MACHINE_INIT(tnzs)
  1765: 
  1766: 	/* video hardware */
  1767: 	MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
  1768: 	MDRV_SCREEN_SIZE(32*8, 32*8)
  1769: 	MDRV_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
  1770: 	MDRV_GFXDECODE(tnzs_gfxdecodeinfo)
  1771: 	MDRV_PALETTE_LENGTH(512)
  1772: 
  1773: 	MDRV_VIDEO_UPDATE(tnzs)
  1774: 
  1775: 	/* sound hardware */
  1776: 	MDRV_SOUND_ADD(YM2203, ym2203_interface)
  1777: MACHINE_DRIVER_END
  1778: 
  1779: 
  1780: static MACHINE_DRIVER_START( tnzsb )
  1781: 
  1782: 	/* basic machine hardware */
  1783: 	MDRV_CPU_ADD(Z80, 6000000)		/* 6 MHz(?) */
  1784: 	MDRV_CPU_MEMORY(readmem,writemem)
  1785: 	MDRV_CPU_VBLANK_INT(irq0_line_hold,1)
  1786: 
  1787: 	MDRV_CPU_ADD(Z80, 6000000)		/* 6 MHz(?) */
  1788: 	MDRV_CPU_MEMORY(tnzsb_readmem1,tnzsb_writemem1)
  1789: 	MDRV_CPU_VBLANK_INT(irq0_line_hold,1)
  1790: 
  1791: 	MDRV_CPU_ADD(Z80, 4000000)		/* 4 MHz??? */
  1792: 	MDRV_CPU_MEMORY(tnzsb_readmem2,tnzsb_writemem2)
  1793: 	MDRV_CPU_PORTS(tnzsb_readport,tnzsb_writeport)
  1794: 
  1795: 	MDRV_FRAMES_PER_SECOND(60)
  1796: 	MDRV_VBLANK_DURATION(DEFAULT_60HZ_VBLANK_DURATION)
  1797: 	MDRV_INTERLEAVE(200)	/* 200 CPU slices per frame - an high value to ensure proper */
  1798: 							/* synchronization of the CPUs */
  1799: 	MDRV_MACHINE_INIT(tnzs)
  1800: 
  1801: 	/* video hardware */
  1802: 	MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
  1803: 	MDRV_SCREEN_SIZE(32*8, 32*8)
  1804: 	MDRV_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
  1805: 	MDRV_GFXDECODE(tnzs_gfxdecodeinfo)
  1806: 	MDRV_PALETTE_LENGTH(512)
  1807: 
  1808: 	MDRV_VIDEO_UPDATE(tnzs)
  1809: 
  1810: 	/* sound hardware */
  1811: 	MDRV_SOUND_ADD(YM2203, ym2203b_interface)
  1812: MACHINE_DRIVER_END
  1813: 
  1814: 
  1815: static MACHINE_DRIVER_START( insectx )
  1816: 
  1817: 	/* basic machine hardware */
  1818: 	MDRV_CPU_ADD(Z80, 6000000)	/* 6 MHz(?) */
  1819: 	MDRV_CPU_MEMORY(readmem,writemem)
  1820: 	MDRV_CPU_VBLANK_INT(irq0_line_hold,1)
  1821: 
  1822: 	MDRV_CPU_ADD(Z80, 6000000)	/* 6 MHz(?) */
  1823: 	MDRV_CPU_MEMORY(sub_readmem,sub_writemem)
  1824: 	MDRV_CPU_VBLANK_INT(irq0_line_hold,1)
  1825: 
  1826: 	MDRV_FRAMES_PER_SECOND(60)
  1827: 	MDRV_VBLANK_DURATION(DEFAULT_60HZ_VBLANK_DURATION)
  1828: 	MDRV_INTERLEAVE(200)	/* 200 CPU slices per frame - an high value to ensure proper */
  1829: 							/* synchronization of the CPUs */
  1830: 	MDRV_MACHINE_INIT(tnzs)
  1831: 
  1832: 	/* video hardware */
  1833: 	MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
  1834: 	MDRV_SCREEN_SIZE(32*8, 32*8)
  1835: 	MDRV_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
  1836: 	MDRV_GFXDECODE(insectx_gfxdecodeinfo)
  1837: 	MDRV_PALETTE_LENGTH(512)
  1838: 
  1839: 	MDRV_VIDEO_UPDATE(tnzs)
  1840: 
  1841: 	/* sound hardware */
  1842: 	MDRV_SOUND_ADD(YM2203, ym2203_interface)
  1843: MACHINE_DRIVER_END
  1844: 
  1845: 
  1846: static MACHINE_DRIVER_START( kageki )
  1847: 
  1848: 	/* basic machine hardware */
  1849: 	MDRV_CPU_ADD(Z80, 6000000)		/* 12000000/2 ??? */
  1850: 	MDRV_CPU_MEMORY(readmem,writemem)
  1851: 	MDRV_CPU_VBLANK_INT(irq0_line_hold,1)
  1852: 
  1853: 	MDRV_CPU_ADD(Z80, 4000000)		/* 12000000/3 ??? */
  1854: 	MDRV_CPU_MEMORY(kageki_sub_readmem,kageki_sub_writemem)
  1855: 	MDRV_CPU_VBLANK_INT(irq0_line_hold,1)
  1856: 
  1857: 	MDRV_FRAMES_PER_SECOND(60)
  1858: 	MDRV_VBLANK_DURATION(DEFAULT_60HZ_VBLANK_DURATION)
  1859: 	MDRV_INTERLEAVE(200)	/* 200 CPU slices per frame - an high value to ensure proper */
  1860: 							/* synchronization of the CPUs */
  1861: 	MDRV_MACHINE_INIT(tnzs)
  1862: 
  1863: 	/* video hardware */
  1864: 	MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
  1865: 	MDRV_SCREEN_SIZE(32*8, 32*8)
  1866: 	MDRV_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
  1867: 	MDRV_GFXDECODE(tnzs_gfxdecodeinfo)
  1868: 	MDRV_PALETTE_LENGTH(512)
  1869: 
  1870: 	MDRV_VIDEO_UPDATE(tnzs)
  1871: 
  1872: 	/* sound hardware */
  1873: 	MDRV_SOUND_ADD(YM2203, kageki_ym2203_interface)
  1874: 	MDRV_SOUND_ADD(SAMPLES, samples_interface)
  1875: 	MDRV_SOUND_ADD(CUSTOM, custom_interface)
  1876: MACHINE_DRIVER_END
  1877: 
  1878: 
  1879: 
  1880: /***************************************************************************
  1881: 
  1882:   Game driver(s)
  1883: 
  1884: ***************************************************************************/
  1885: 
  1886: ROM_START( plumppop )
  1887: 	ROM_REGION( 0x30000, REGION_CPU1, 0 )	/* 64k + bankswitch areas for the first CPU */
  1888: 	ROM_LOAD( "a98-09.bin", 0x00000, 0x08000, CRC(107f9e06) SHA1(0aa7f32721c3cab96eccc7c831b9f57877c4e1dc) )
  1889: 	ROM_CONTINUE(           0x18000, 0x08000 )				/* banked at 8000-bfff */
  1890: 	ROM_LOAD( "a98-10.bin", 0x20000, 0x10000, CRC(df6e6af2) SHA1(792f97f587e84cdd67f0d1efe1fd13ea904d7e20) )	/* banked at 8000-bfff */
  1891: 
  1892: 	ROM_REGION( 0x18000, REGION_CPU2, 0 )	/* 64k for the second CPU */
  1893: 	ROM_LOAD( "a98-11.bin", 0x00000, 0x08000, CRC(bc56775c) SHA1(0c22c22c0e9d7ec0e34f8ab4bfe61068f65e8759) )
  1894: 	ROM_CONTINUE(           0x10000, 0x08000 )		/* banked at 8000-9fff */
  1895: 
  1896: 	ROM_REGION( 0x1000, REGION_CPU3, 0 )	/* M-Chip (i8742 internal ROM) */
  1897: 	ROM_LOAD( "plmp8742.bin", 0x0000, 0x0800, NO_DUMP )
  1898: 
  1899: 	ROM_REGION( 0x100000, REGION_GFX1, ROMREGION_DISPOSE )
  1900: 	ROM_LOAD( "a98-01.bin", 0x00000, 0x10000, CRC(f3033dca) SHA1(130744998f0531a82de2814231dddea3ad710f60) )
  1901: 	ROM_RELOAD(             0x10000, 0x10000 )
  1902: 	ROM_LOAD( "a98-02.bin", 0x20000, 0x10000, CRC(f2d17b0c) SHA1(418c8e383b8d4d54d723ae3512829a95e6897ee1) )
  1903: 	ROM_RELOAD(             0x30000, 0x10000 )
  1904: 	ROM_LOAD( "a98-03.bin", 0x40000, 0x10000, CRC(1a519b0a) SHA1(9217c6bf564ccd4a44f9cf2045102e667dc0b036) )
  1905: 	ROM_RELOAD(             0x40000, 0x10000 )
  1906: 	ROM_LOAD( "a98-04.bin", 0x60000, 0x10000, CRC(b64501a1) SHA1(6d96172b7d7d2276787013fe6b47bb7fef0a4e36) )
  1907: 	ROM_RELOAD(             0x70000, 0x10000 )
  1908: 	ROM_LOAD( "a98-05.bin", 0x80000, 0x10000, CRC(45c36963) SHA1(2f23bff22e218f542c50bf7e4ae8ab6db93180b0) )
  1909: 	ROM_RELOAD(             0x90000, 0x10000 )
  1910: 	ROM_LOAD( "a98-06.bin", 0xa0000, 0x10000, CRC(e075341b) SHA1(b5e68b5da7933c7eff21fa832e089edcbb49cdb4) )
  1911: 	ROM_RELOAD(             0xb0000, 0x10000 )
  1912: 	ROM_LOAD( "a98-07.bin", 0xc0000, 0x10000, CRC(8e16cd81) SHA1(6bc9dc8e29197b75c3c4ac4f066037bb9b8cebb4) )
  1913: 	ROM_RELOAD(             0xd0000, 0x10000 )
  1914: 	ROM_LOAD( "a98-08.bin", 0xe0000, 0x10000, CRC(bfa7609a) SHA1(0b9aa89b5954334f40dda1f14b1691852c74fc37) )
  1915: 	ROM_RELOAD(             0xf0000, 0x10000 )
  1916: 
  1917: 	ROM_REGION( 0x0400, REGION_PROMS, 0 )		/* color proms */
  1918: 	ROM_LOAD( "a98-13.bpr", 0x0000, 0x200, CRC(7cde2da5) SHA1(0cccfc35fb716ebb4cffa85c75681f33ca80a56e) )	/* hi bytes */
  1919: 	ROM_LOAD( "a98-12.bpr", 0x0200, 0x200, CRC(90dc9da7) SHA1(f719dead7f4597e5ee6f1103599505b98cb58299) )	/* lo bytes */
  1920: ROM_END
  1921: 
  1922: ROM_START( extrmatn )
  1923: 	ROM_REGION( 0x30000, REGION_CPU1, 0 )				/* Region 0 - main cpu */
  1924: 	ROM_LOAD( "b06-20.bin", 0x00000, 0x08000, CRC(04e3fc1f) SHA1(b1cf2f79f43fa33d6175368c897f84ec6aa6e746) )
  1925: 	ROM_CONTINUE(           0x18000, 0x08000 )				/* banked at 8000-bfff */
  1926: 	ROM_LOAD( "b06-21.bin", 0x20000, 0x10000, CRC(1614d6a2) SHA1(f23d465af231ab5653c55748f686d8f25f52394b) )	/* banked at 8000-bfff */
  1927: 
  1928: 	ROM_REGION( 0x18000, REGION_CPU2, 0 )				/* Region 2 - sound cpu */
  1929: 	ROM_LOAD( "b06-06.bin", 0x00000, 0x08000, CRC(744f2c84) SHA1(7565c1594c2a3bae1ae45afcbf93363fe2b12d58) )
  1930: 	ROM_CONTINUE(           0x10000, 0x08000 )	/* banked at 8000-9fff */
  1931: 
  1932: 	ROM_REGION( 0x1000, REGION_CPU3, 0 )	/* M-Chip (i8742 internal ROM) */
  1933: 	ROM_LOAD( "extr8742.bin", 0x0000, 0x0800, NO_DUMP )
  1934: 
  1935: 	ROM_REGION( 0x80000, REGION_GFX1, ROMREGION_DISPOSE )
  1936: 	ROM_LOAD( "b06-01.bin", 0x00000, 0x20000, CRC(d2afbf7e) SHA1(28b4cf94798f049a9f8375464741dbef208d7290) )
  1937: 	ROM_LOAD( "b06-02.bin", 0x20000, 0x20000, CRC(e0c2757a) SHA1(3c89044caa28b10b4d1bef1515881810c23d312a) )
  1938: 	ROM_LOAD( "b06-03.bin", 0x40000, 0x20000, CRC(ee80ab9d) SHA1(f4e4833cadff7d856b5a8075a61d902427653e16) )
  1939: 	ROM_LOAD( "b06-04.bin", 0x60000, 0x20000, CRC(3697ace4) SHA1(6d6e4e64147365bcfcf74a84eb7ae84dffedd304) )
  1940: 
  1941: 	ROM_REGION( 0x0400, REGION_PROMS, 0 )
  1942: 	ROM_LOAD( "b06-09.bin", 0x00000, 0x200, CRC(f388b361) SHA1(f00db6ad6994cfe9b7ad76e30b7049b11f8c16e4) )	/* hi bytes */
  1943: 	ROM_LOAD( "b06-08.bin", 0x00200, 0x200, CRC(10c9aac3) SHA1(09d6f791dea358e78099af7a370b00b8504ffc97) )	/* lo bytes */
  1944: ROM_END
  1945: 
  1946: ROM_START( arknoid2 )
  1947: 	ROM_REGION( 0x30000, REGION_CPU1, 0 )				/* Region 0 - main cpu */
  1948: 	ROM_LOAD( "b08_05.11c",	0x00000, 0x08000, CRC(136edf9d) SHA1(f632321650897eee585511a84f451a205d1f7704) )
  1949: 	ROM_CONTINUE(           0x18000, 0x08000 )			/* banked at 8000-bfff */
  1950: 	/* 20000-2ffff empty */
  1951: 
  1952: 	ROM_REGION( 0x18000, REGION_CPU2, 0 )				/* Region 2 - sound cpu */
  1953: 	ROM_LOAD( "b08_13.3e", 0x00000, 0x08000, CRC(e8035ef1) SHA1(9a54e952cff0036c4b6affd9ffb1097cdccbe255) )
  1954: 	ROM_CONTINUE(          0x10000, 0x08000 )			/* banked at 8000-9fff */
  1955: 
  1956: 	ROM_REGION( 0x1000, REGION_CPU3, 0 )	/* M-Chip (i8742 internal ROM) */
  1957: 	ROM_LOAD( "ark28742.bin", 0x0000, 0x0800, NO_DUMP )
  1958: 
  1959: 	ROM_REGION( 0x80000, REGION_GFX1, ROMREGION_DISPOSE )
  1960: 	ROM_LOAD( "b08-01.13a",	0x00000, 0x20000, CRC(2ccc86b4) SHA1(eced1d7e687db0331507726946b6a19a690a7604) )
  1961: 	ROM_LOAD( "b08-02.10a",	0x20000, 0x20000, CRC(056a985f) SHA1(6333b71c631d3307929aae633760870451830e10) )
  1962: 	ROM_LOAD( "b08-03.7a",	0x40000, 0x20000, CRC(274a795f) SHA1(49353590e1a418843f57c715185e407a20021936) )
  1963: 	ROM_LOAD( "b08-04.4a",	0x60000, 0x20000, CRC(9754f703) SHA1(0018ebf7da3f501345f3f5085d98d7614f8ce1b6) )
  1964: 
  1965: 	ROM_REGION( 0x0400, REGION_PROMS, 0 )
  1966: 	ROM_LOAD( "b08-08.15f",	0x00000, 0x200, CRC(a4f7ebd9) SHA1(094eb63c18898c6ee8d722492bdfd28091c61773) )	/* hi bytes */
  1967: 	ROM_LOAD( "b08-07.16f",	0x00200, 0x200, CRC(ea34d9f7) SHA1(9a46edc64f961bd96908419cabd92445d300fc19) )	/* lo bytes */
  1968: ROM_END
  1969: 
  1970: ROM_START( arknid2u )
  1971: 	ROM_REGION( 0x30000, REGION_CPU1, 0 )				/* Region 0 - main cpu */
  1972: 	ROM_LOAD( "b08_11.11c", 0x00000, 0x08000, CRC(99555231) SHA1(2798f3f5b3f1fa27598fe7a6e95c75d9142c8d34) )
  1973: 	ROM_CONTINUE(           0x18000, 0x08000 )			/* banked at 8000-bfff */
  1974: 	/* 20000-2ffff empty */
  1975: 
  1976: 	ROM_REGION( 0x18000, REGION_CPU2, 0 )				/* Region 2 - sound cpu */
  1977: 	ROM_LOAD( "b08_12.3e", 0x00000, 0x08000, CRC(dc84e27d) SHA1(d549d8c9fbec0521517f0c5f5cee763e27d48633) )
  1978: 	ROM_CONTINUE(          0x10000, 0x08000 )			/* banked at 8000-9fff */
  1979: 
  1980: 	ROM_REGION( 0x1000, REGION_CPU3, 0 )	/* M-Chip (i8742 internal ROM) */
  1981: 	ROM_LOAD( "ark28742.bin", 0x0000, 0x0800, NO_DUMP )
  1982: 
  1983: 	ROM_REGION( 0x80000, REGION_GFX1, ROMREGION_DISPOSE )
  1984: 	ROM_LOAD( "b08-01.13a",	0x00000, 0x20000, CRC(2ccc86b4) SHA1(eced1d7e687db0331507726946b6a19a690a7604) )
  1985: 	ROM_LOAD( "b08-02.10a",	0x20000, 0x20000, CRC(056a985f) SHA1(6333b71c631d3307929aae633760870451830e10) )
  1986: 	ROM_LOAD( "b08-03.7a",	0x40000, 0x20000, CRC(274a795f) SHA1(49353590e1a418843f57c715185e407a20021936) )
  1987: 	ROM_LOAD( "b08-04.4a",	0x60000, 0x20000, CRC(9754f703) SHA1(0018ebf7da3f501345f3f5085d98d7614f8ce1b6) )
  1988: 
  1989: 	ROM_REGION( 0x0400, REGION_PROMS, 0 )
  1990: 	ROM_LOAD( "b08-08.15f",	0x00000, 0x200, CRC(a4f7ebd9) SHA1(094eb63c18898c6ee8d722492bdfd28091c61773) )	/* hi bytes */
  1991: 	ROM_LOAD( "b08-07.16f",	0x00200, 0x200, CRC(ea34d9f7) SHA1(9a46edc64f961bd96908419cabd92445d300fc19) )	/* lo bytes */
  1992: ROM_END
  1993: 
  1994: ROM_START( arknid2j )
  1995: 	ROM_REGION( 0x30000, REGION_CPU1, 0 )				/* Region 0 - main cpu */
  1996: 	ROM_LOAD( "b08_05.11c", 0x00000, 0x08000, CRC(136edf9d) SHA1(f632321650897eee585511a84f451a205d1f7704) )
  1997: 	ROM_CONTINUE(           0x18000, 0x08000 )			/* banked at 8000-bfff */
  1998: 	/* 20000-2ffff empty */
  1999: 
  2000: 	ROM_REGION( 0x18000, REGION_CPU2, 0 )				/* Region 2 - sound cpu */
  2001: 	ROM_LOAD( "b08_06.3e", 0x00000, 0x08000, CRC(adfcd40c) SHA1(f91299407ed21e2dd244c9b1a315b27ed32f5514) )
  2002: 	ROM_CONTINUE(          0x10000, 0x08000 )			/* banked at 8000-9fff */
  2003: 
  2004: 	ROM_REGION( 0x1000, REGION_CPU3, 0 )	/* M-Chip (i8742 internal ROM) */
  2005: 	ROM_LOAD( "ark28742.bin", 0x0000, 0x0800, NO_DUMP )
  2006: 
  2007: 	ROM_REGION( 0x80000, REGION_GFX1, ROMREGION_DISPOSE )
  2008: 	ROM_LOAD( "b08-01.13a",	0x00000, 0x20000, CRC(2ccc86b4) SHA1(eced1d7e687db0331507726946b6a19a690a7604) )
  2009: 	ROM_LOAD( "b08-02.10a",	0x20000, 0x20000, CRC(056a985f) SHA1(6333b71c631d3307929aae633760870451830e10) )
  2010: 	ROM_LOAD( "b08-03.7a",	0x40000, 0x20000, CRC(274a795f) SHA1(49353590e1a418843f57c715185e407a20021936) )
  2011: 	ROM_LOAD( "b08-04.4a",	0x60000, 0x20000, CRC(9754f703) SHA1(0018ebf7da3f501345f3f5085d98d7614f8ce1b6) )
  2012: 
  2013: 	ROM_REGION( 0x0400, REGION_PROMS, 0 )
  2014: 	ROM_LOAD( "b08-08.15f",	0x00000, 0x200, CRC(a4f7ebd9) SHA1(094eb63c18898c6ee8d722492bdfd28091c61773) )	/* hi bytes */
  2015: 	ROM_LOAD( "b08-07.16f",	0x00200, 0x200, CRC(ea34d9f7) SHA1(9a46edc64f961bd96908419cabd92445d300fc19) )	/* lo bytes */
  2016: ROM_END
  2017: 
  2018: ROM_START( drtoppel )
  2019: 	ROM_REGION( 0x30000, REGION_CPU1, 0 )	/* 64k + bankswitch areas for the first CPU */
  2020: 	ROM_LOAD( "b19-09.bin", 0x00000, 0x08000, CRC(3e654f82) SHA1(d9e351d82546b08eb7887ea1d976fa97a259db6e) )
  2021: 	ROM_CONTINUE(           0x18000, 0x08000 )				/* banked at 8000-bfff */
  2022: 	ROM_LOAD( "b19-10.bin", 0x20000, 0x10000, CRC(7e72fd25) SHA1(6035e4db75e6dc57b13bb6e92217d1c2d0ffdfd2) )	/* banked at 8000-bfff */
  2023: 
  2024: 	ROM_REGION( 0x18000, REGION_CPU2, 0 )	/* 64k for the second CPU */
  2025: 	ROM_LOAD( "b19-11w", 0x00000, 0x08000, CRC(37a0d3fb) SHA1(f65fb9382af5f5b09725c39b660c5138b3912f53) )
  2026: 	ROM_CONTINUE(        0x10000, 0x08000 )		/* banked at 8000-9fff */
  2027: 
  2028: 	ROM_REGION( 0x1000, REGION_CPU3, 0 )	/* M-Chip (i8742 internal ROM) */
  2029: 	ROM_LOAD( "drt8742.bin", 0x0000, 0x0800, NO_DUMP )
  2030: 
  2031: 	ROM_REGION( 0x100000, REGION_GFX1, ROMREGION_DISPOSE )
  2032: 	ROM_LOAD( "b19-01.bin", 0x00000, 0x20000, CRC(a7e8a0c1) SHA1(a2f017ae5b6472d4202f126d0247b3fe4b1321d1) )
  2033: 	ROM_LOAD( "b19-02.bin", 0x20000, 0x20000, CRC(790ae654) SHA1(5fd6b89918e1539e00c918959b96d2a9394c8abe) )
  2034: 	ROM_LOAD( "b19-03.bin", 0x40000, 0x20000, CRC(495c4c5a) SHA1(a23b512cda4c0c535df5508a52faebe401c1797d) )
  2035: 	ROM_LOAD( "b19-04.bin", 0x60000, 0x20000, CRC(647007a0) SHA1(10ec35a15091967038bb26fb116c47d730f69edc) )
  2036: 	ROM_LOAD( "b19-05.bin", 0x80000, 0x20000, CRC(49f2b1a5) SHA1(5e98bb421afaa02471ad02213ea6ca23ff2f0e27) )
  2037: 	ROM_LOAD( "b19-06.bin", 0xa0000, 0x20000, CRC(2d39f1d0) SHA1(2aa89a5cc7f026c8db9922b183319ff66ac4a071) )
  2038: 	ROM_LOAD( "b19-07.bin", 0xc0000, 0x20000, CRC(8bb06f41) SHA1(a0c182d473317f2cdb31bdf39a2593c032002305) )
  2039: 	ROM_LOAD( "b19-08.bin", 0xe0000, 0x20000, CRC(3584b491) SHA1(d0aca90708be241bbd3a1097220a85083337a4bc) )
  2040: 
  2041: 	ROM_REGION( 0x0400, REGION_PROMS, 0 )		/* color proms */
  2042: 	ROM_LOAD( "b19-13.bin", 0x0000, 0x200, CRC(6a547980) SHA1(c82f8dfad028565b4b4e5be1167f2f290c929090) )	/* hi bytes */
  2043: 	ROM_LOAD( "b19-12.bin", 0x0200, 0x200, CRC(5754e9d8) SHA1(8c7d29e22c90b1f72929b95675dc15e431aae044) )	/* lo bytes */
  2044: ROM_END
  2045: 
  2046: ROM_START( drtopplu )
  2047: 	ROM_REGION( 0x30000, REGION_CPU1, 0 )	/* 64k + bankswitch areas for the first CPU */
  2048: 	ROM_LOAD( "b19-09.bin", 0x00000, 0x08000, CRC(3e654f82) SHA1(d9e351d82546b08eb7887ea1d976fa97a259db6e) )
  2049: 	ROM_CONTINUE(           0x18000, 0x08000 )				/* banked at 8000-bfff */
  2050: 	ROM_LOAD( "b19-10.bin", 0x20000, 0x10000, CRC(7e72fd25) SHA1(6035e4db75e6dc57b13bb6e92217d1c2d0ffdfd2) )	/* banked at 8000-bfff */
  2051: 
  2052: 	ROM_REGION( 0x18000, REGION_CPU2, 0 )	/* 64k for the second CPU */
  2053: 	ROM_LOAD( "b19-11u", 0x00000, 0x08000, CRC(05565b22) SHA1(d1aa47b438d3b44c5177337809e38b50f6445c36) )
  2054: 	ROM_CONTINUE(        0x10000, 0x08000 )		/* banked at 8000-9fff */
  2055: 
  2056: 	ROM_REGION( 0x1000, REGION_CPU3, 0 )	/* M-Chip (i8742 internal ROM) */
  2057: 	ROM_LOAD( "drt8742.bin", 0x0000, 0x0800, NO_DUMP )
  2058: 
  2059: 	ROM_REGION( 0x100000, REGION_GFX1, ROMREGION_DISPOSE )
  2060: 	ROM_LOAD( "b19-01.bin", 0x00000, 0x20000, CRC(a7e8a0c1) SHA1(a2f017ae5b6472d4202f126d0247b3fe4b1321d1) )
  2061: 	ROM_LOAD( "b19-02.bin", 0x20000, 0x20000, CRC(790ae654) SHA1(5fd6b89918e1539e00c918959b96d2a9394c8abe) )
  2062: 	ROM_LOAD( "b19-03.bin", 0x40000, 0x20000, CRC(495c4c5a) SHA1(a23b512cda4c0c535df5508a52faebe401c1797d) )
  2063: 	ROM_LOAD( "b19-04.bin", 0x60000, 0x20000, CRC(647007a0) SHA1(10ec35a15091967038bb26fb116c47d730f69edc) )
  2064: 	ROM_LOAD( "b19-05.bin", 0x80000, 0x20000, CRC(49f2b1a5) SHA1(5e98bb421afaa02471ad02213ea6ca23ff2f0e27) )
  2065: 	ROM_LOAD( "b19-06.bin", 0xa0000, 0x20000, CRC(2d39f1d0) SHA1(2aa89a5cc7f026c8db9922b183319ff66ac4a071) )
  2066: 	ROM_LOAD( "b19-07.bin", 0xc0000, 0x20000, CRC(8bb06f41) SHA1(a0c182d473317f2cdb31bdf39a2593c032002305) )
  2067: 	ROM_LOAD( "b19-08.bin", 0xe0000, 0x20000, CRC(3584b491) SHA1(d0aca90708be241bbd3a1097220a85083337a4bc) )
  2068: 
  2069: 	ROM_REGION( 0x0400, REGION_PROMS, 0 )		/* color proms */
  2070: 	ROM_LOAD( "b19-13.bin", 0x0000, 0x200, CRC(6a547980) SHA1(c82f8dfad028565b4b4e5be1167f2f290c929090) )	/* hi bytes */
  2071: 	ROM_LOAD( "b19-12.bin", 0x0200, 0x200, CRC(5754e9d8) SHA1(8c7d29e22c90b1f72929b95675dc15e431aae044) )	/* lo bytes */
  2072: ROM_END
  2073: 
  2074: ROM_START( drtopplj )
  2075: 	ROM_REGION( 0x30000, REGION_CPU1, 0 )	/* 64k + bankswitch areas for the first CPU */
  2076: 	ROM_LOAD( "b19-09.bin", 0x00000, 0x08000, CRC(3e654f82) SHA1(d9e351d82546b08eb7887ea1d976fa97a259db6e) )
  2077: 	ROM_CONTINUE(           0x18000, 0x08000 )				/* banked at 8000-bfff */
  2078: 	ROM_LOAD( "b19-10.bin", 0x20000, 0x10000, CRC(7e72fd25) SHA1(6035e4db75e6dc57b13bb6e92217d1c2d0ffdfd2) )	/* banked at 8000-bfff */
  2079: 
  2080: 	ROM_REGION( 0x18000, REGION_CPU2, 0 )	/* 64k for the second CPU */
  2081: 	ROM_LOAD( "b19-11j", 0x00000, 0x08000, CRC(524dc249) SHA1(158b2de0fcd17ad16ba72bb24888122bf704e216) )
  2082: 	ROM_CONTINUE(        0x10000, 0x08000 )		/* banked at 8000-9fff */
  2083: 
  2084: 	ROM_REGION( 0x1000, REGION_CPU3, 0 )	/* M-Chip (i8742 internal ROM) */
  2085: 	ROM_LOAD( "drt8742.bin", 0x0000, 0x0800, NO_DUMP )
  2086: 
  2087: 	ROM_REGION( 0x100000, REGION_GFX1, ROMREGION_DISPOSE )
  2088: 	ROM_LOAD( "b19-01.bin", 0x00000, 0x20000, CRC(a7e8a0c1) SHA1(a2f017ae5b6472d4202f126d0247b3fe4b1321d1) )
  2089: 	ROM_LOAD( "b19-02.bin", 0x20000, 0x20000, CRC(790ae654) SHA1(5fd6b89918e1539e00c918959b96d2a9394c8abe) )
  2090: 	ROM_LOAD( "b19-03.bin", 0x40000, 0x20000, CRC(495c4c5a) SHA1(a23b512cda4c0c535df5508a52faebe401c1797d) )
  2091: 	ROM_LOAD( "b19-04.bin", 0x60000, 0x20000, CRC(647007a0) SHA1(10ec35a15091967038bb26fb116c47d730f69edc) )
  2092: 	ROM_LOAD( "b19-05.bin", 0x80000, 0x20000, CRC(49f2b1a5) SHA1(5e98bb421afaa02471ad02213ea6ca23ff2f0e27) )
  2093: 	ROM_LOAD( "b19-06.bin", 0xa0000, 0x20000, CRC(2d39f1d0) SHA1(2aa89a5cc7f026c8db9922b183319ff66ac4a071) )
  2094: 	ROM_LOAD( "b19-07.bin", 0xc0000, 0x20000, CRC(8bb06f41) SHA1(a0c182d473317f2cdb31bdf39a2593c032002305) )
  2095: 	ROM_LOAD( "b19-08.bin", 0xe0000, 0x20000, CRC(3584b491) SHA1(d0aca90708be241bbd3a1097220a85083337a4bc) )
  2096: 
  2097: 	ROM_REGION( 0x0400, REGION_PROMS, 0 )		/* color proms */
  2098: 	ROM_LOAD( "b19-13.bin", 0x0000, 0x200, CRC(6a547980) SHA1(c82f8dfad028565b4b4e5be1167f2f290c929090) )	/* hi bytes */
  2099: 	ROM_LOAD( "b19-12.bin", 0x0200, 0x200, CRC(5754e9d8) SHA1(8c7d29e22c90b1f72929b95675dc15e431aae044) )	/* lo bytes */
  2100: ROM_END
  2101: 
  2102: ROM_START( kageki )
  2103: 	ROM_REGION( 0x30000, REGION_CPU1, 0 )
  2104: 	ROM_LOAD( "b35-16.11c", 0x00000, 0x08000, CRC(a4e6fd58) SHA1(7cfe5b3fa6c88cdab45719f5b58541270825ad30) )	/* US ver */
  2105: 	ROM_CONTINUE(           0x18000, 0x08000 )
  2106: 	ROM_LOAD( "b35-10.9c",  0x20000, 0x10000, CRC(b150457d) SHA1(a58e46e7dfdc93c2cc7c04d623d7754f85ba693b) )
  2107: 
  2108: 	ROM_REGION( 0x18000, REGION_CPU2, 0 )
  2109: 	ROM_LOAD( "b35-17.43e", 0x00000, 0x08000, CRC(fdd9c246) SHA1(ac7a59ed19d0d81748cabd8b77a6ba3937e3cc99) )	/* US ver */
  2110: 	ROM_CONTINUE(           0x10000, 0x08000 )
  2111: 
  2112: 	ROM_REGION( 0x100000, REGION_GFX1, ROMREGION_DISPOSE )
  2113: 	ROM_LOAD( "b35-01.13a",  0x00000, 0x20000, CRC(01d83a69) SHA1(92a84329306b58a45f7bb443a8642eeaeb04d553) )
  2114: 	ROM_LOAD( "b35-02.12a",  0x20000, 0x20000, CRC(d8af47ac) SHA1(2ef9ca991bf55ed6c12bf3a7dc4aa904d7749d5c) )
  2115: 	ROM_LOAD( "b35-03.10a",  0x40000, 0x20000, CRC(3cb68797) SHA1(e7669b1a9a26dede560cc87695004d29510bc1f5) )
  2116: 	ROM_LOAD( "b35-04.8a",   0x60000, 0x20000, CRC(71c03f91) SHA1(edce6e5a52b0c83c1c3c6bf9bc6b7957f7941521) )
  2117: 	ROM_LOAD( "b35-05.7a",   0x80000, 0x20000, CRC(a4e20c08) SHA1(5d1d23d1410fea8650b18c595b0170a17e5d89a6) )
  2118: 	ROM_LOAD( "b35-06.5a",   0xa0000, 0x20000, CRC(3f8ab658) SHA1(44de7ee2bdb89bc520ed9bc812c26789c3f31411) )
  2119: 	ROM_LOAD( "b35-07.4a",   0xc0000, 0x20000, CRC(1b4af049) SHA1(09783816d5076219d241538e2711402eb8c4cd03) )
  2120: 	ROM_LOAD( "b35-08.2a",   0xe0000, 0x20000, CRC(deb2268c) SHA1(318bf3da6cbe20758397d5f78caf3cda02f322d7) )
  2121: 
  2122: 	ROM_REGION( 0x10000, REGION_SOUND1, 0 )	/* samples */
  2123: 	ROM_LOAD( "b35-15.98g",  0x00000, 0x10000, CRC(e6212a0f) SHA1(43891f4fd141b00ed458be47a107a2550a0534c2) )	/* US ver */
  2124: ROM_END
  2125: 
  2126: ROM_START( kagekij )
  2127: 	ROM_REGION( 0x30000, REGION_CPU1, 0 )
  2128: 	ROM_LOAD( "b35-09j.11c", 0x00000, 0x08000, CRC(829637d5) SHA1(0239ae925968336a90cbe16e23519773b6f2f2ac) )	/* JP ver */
  2129: 	ROM_CONTINUE(            0x18000, 0x08000 )
  2130: 	ROM_LOAD( "b35-10.9c",   0x20000, 0x10000, CRC(b150457d) SHA1(a58e46e7dfdc93c2cc7c04d623d7754f85ba693b) )
  2131: 
  2132: 	ROM_REGION( 0x18000, REGION_CPU2, 0 )
  2133: 	ROM_LOAD( "b35-11j.43e", 0x00000, 0x08000, CRC(64d093fc) SHA1(3ca3f69d8946c453c0edb8586b92e2948a2d0b6c) )	/* JP ver */
  2134: 	ROM_CONTINUE(            0x10000, 0x08000 )
  2135: 
  2136: 	ROM_REGION( 0x100000, REGION_GFX1, ROMREGION_DISPOSE )
  2137: 	ROM_LOAD( "b35-01.13a",  0x00000, 0x20000, CRC(01d83a69) SHA1(92a84329306b58a45f7bb443a8642eeaeb04d553) )
  2138: 	ROM_LOAD( "b35-02.12a",  0x20000, 0x20000, CRC(d8af47ac) SHA1(2ef9ca991bf55ed6c12bf3a7dc4aa904d7749d5c) )
  2139: 	ROM_LOAD( "b35-03.10a",  0x40000, 0x20000, CRC(3cb68797) SHA1(e7669b1a9a26dede560cc87695004d29510bc1f5) )
  2140: 	ROM_LOAD( "b35-04.8a",   0x60000, 0x20000, CRC(71c03f91) SHA1(edce6e5a52b0c83c1c3c6bf9bc6b7957f7941521) )
  2141: 	ROM_LOAD( "b35-05.7a",   0x80000, 0x20000, CRC(a4e20c08) SHA1(5d1d23d1410fea8650b18c595b0170a17e5d89a6) )
  2142: 	ROM_LOAD( "b35-06.5a",   0xa0000, 0x20000, CRC(3f8ab658) SHA1(44de7ee2bdb89bc520ed9bc812c26789c3f31411) )
  2143: 	ROM_LOAD( "b35-07.4a",   0xc0000, 0x20000, CRC(1b4af049) SHA1(09783816d5076219d241538e2711402eb8c4cd03) )
  2144: 	ROM_LOAD( "b35-08.2a",   0xe0000, 0x20000, CRC(deb2268c) SHA1(318bf3da6cbe20758397d5f78caf3cda02f322d7) )
  2145: 
  2146: 	ROM_REGION( 0x10000, REGION_SOUND1, 0 )	/* samples */
  2147: 	ROM_LOAD( "b35-12j.98g", 0x00000, 0x10000, CRC(184409f1) SHA1(711bdd499670e86630ebb6820262b1d8d651c987) )	/* JP ver */
  2148: ROM_END
  2149: 
  2150: ROM_START( chukatai )
  2151: 	ROM_REGION( 0x30000, REGION_CPU1, 0 )	/* 64k + bankswitch areas for the first CPU */
  2152: 	ROM_LOAD( "b44-10", 0x00000, 0x08000, CRC(8c69e008) SHA1(7825965f517f3562a508345b7c0d32b8a57bd38a) )
  2153: 	ROM_CONTINUE(       0x18000, 0x08000 )				/* banked at 8000-bfff */
  2154: 	ROM_LOAD( "b44-11", 0x20000, 0x10000, CRC(32484094) SHA1(f320fea2910816b5085ca9aa37e30af665fb6be1) )	/* banked at 8000-bfff */
  2155: 
  2156: 	ROM_REGION( 0x18000, REGION_CPU2, 0 )	/* 64k for the second CPU */
  2157: 	ROM_LOAD( "b44-12w", 0x00000, 0x08000, CRC(e80ecdca) SHA1(cd96403ca97f18f630118dcb3dc2179c01147213) )
  2158: 	ROM_CONTINUE(        0x10000, 0x08000 )		/* banked at 8000-9fff */
  2159: 
  2160: 	ROM_REGION( 0x1000, REGION_CPU3, 0 )	/* M-Chip (i8742 internal ROM) */
  2161: 	ROM_LOAD( "b44-8742.mcu", 0x0000, 0x0800, CRC(7dff3f9f) SHA1(bbf4e036d025fe8179b053d639f9b8ad401e6e68) )
  2162: 
  2163: 	ROM_REGION( 0x100000, REGION_GFX1, ROMREGION_DISPOSE )
  2164: 	ROM_LOAD( "b44-01.a13", 0x00000, 0x20000, CRC(aae7b3d5) SHA1(52809ea22d98811ece2fb27e80db6ddf4fbacb07) )
  2165: 	ROM_LOAD( "b44-02.a12", 0x20000, 0x20000, CRC(7f0b9568) SHA1(415d2638d1b0eb36b2e2f63219cbc0dbebe02dc6) )
  2166: 	ROM_LOAD( "b44-03.a10", 0x40000, 0x20000, CRC(5a54a3b9) SHA1(6b219f1c3570f16eb4a06221d7e527c735437bac) )
  2167: 	ROM_LOAD( "b44-04.a08", 0x60000, 0x20000, CRC(3c5f544b) SHA1(d3b0ee18f1027483a36ef02757b62f42a086a8e2) )
  2168: 	ROM_LOAD( "b44-05.a07", 0x80000, 0x20000, CRC(d1b7e314) SHA1(8b4181caa32955b4274614a4238bb24d67ecb729) )
  2169: 	ROM_LOAD( "b44-06.a05", 0xa0000, 0x20000, CRC(269978a8) SHA1(aef7b8d3d00dcc4201e0a1e28026f6f1bdafd0b7) )
  2170: 	ROM_LOAD( "b44-07.a04", 0xc0000, 0x20000, CRC(3e0e737e) SHA1(f8d62c7b69c79da9df7ef5ce454060d3645e5884) )
  2171: 	ROM_LOAD( "b44-08.a02", 0xe0000, 0x20000, CRC(6cb1e8fc) SHA1(4ab0c2cce1de2616044a9bfb9bf17f95a49baffd) )
  2172: ROM_END
  2173: 
  2174: ROM_START( chukatau )
  2175: 	ROM_REGION( 0x30000, REGION_CPU1, 0 )	/* 64k + bankswitch areas for the first CPU */
  2176: 	ROM_LOAD( "b44-10", 0x00000, 0x08000, CRC(8c69e008) SHA1(7825965f517f3562a508345b7c0d32b8a57bd38a) )
  2177: 	ROM_CONTINUE(       0x18000, 0x08000 )				/* banked at 8000-bfff */
  2178: 	ROM_LOAD( "b44-11", 0x20000, 0x10000, CRC(32484094) SHA1(f320fea2910816b5085ca9aa37e30af665fb6be1) )  /* banked at 8000-bfff */
  2179: 
  2180: 	ROM_REGION( 0x18000, REGION_CPU2, 0 )	/* 64k for the second CPU */
  2181: 	ROM_LOAD( "b44-12u", 0x00000, 0x08000, CRC(9f09fd5c) SHA1(ae92f2e893e1e666dcabbd793f1a778c5e3d7bab) )
  2182: 	ROM_CONTINUE(        0x10000, 0x08000 )		/* banked at 8000-9fff */
  2183: 
  2184: 	ROM_REGION( 0x1000, REGION_CPU3, 0 )	/* M-Chip (i8742 internal ROM) */
  2185: 	ROM_LOAD( "b44-8742.mcu", 0x0000, 0x0800, CRC(7dff3f9f) SHA1(bbf4e036d025fe8179b053d639f9b8ad401e6e68) )
  2186: 
  2187: 	ROM_REGION( 0x100000, REGION_GFX1, ROMREGION_DISPOSE )
  2188: 	ROM_LOAD( "b44-01.a13", 0x00000, 0x20000, CRC(aae7b3d5) SHA1(52809ea22d98811ece2fb27e80db6ddf4fbacb07) )
  2189: 	ROM_LOAD( "b44-02.a12", 0x20000, 0x20000, CRC(7f0b9568) SHA1(415d2638d1b0eb36b2e2f63219cbc0dbebe02dc6) )
  2190: 	ROM_LOAD( "b44-03.a10", 0x40000, 0x20000, CRC(5a54a3b9) SHA1(6b219f1c3570f16eb4a06221d7e527c735437bac) )
  2191: 	ROM_LOAD( "b44-04.a08", 0x60000, 0x20000, CRC(3c5f544b) SHA1(d3b0ee18f1027483a36ef02757b62f42a086a8e2) )
  2192: 	ROM_LOAD( "b44-05.a07", 0x80000, 0x20000, CRC(d1b7e314) SHA1(8b4181caa32955b4274614a4238bb24d67ecb729) )
  2193: 	ROM_LOAD( "b44-06.a05", 0xa0000, 0x20000, CRC(269978a8) SHA1(aef7b8d3d00dcc4201e0a1e28026f6f1bdafd0b7) )
  2194: 	ROM_LOAD( "b44-07.a04", 0xc0000, 0x20000, CRC(3e0e737e) SHA1(f8d62c7b69c79da9df7ef5ce454060d3645e5884) )
  2195: 	ROM_LOAD( "b44-08.a02", 0xe0000, 0x20000, CRC(6cb1e8fc) SHA1(4ab0c2cce1de2616044a9bfb9bf17f95a49baffd) )
  2196: ROM_END
  2197: 
  2198: ROM_START( chukataj )
  2199: 	ROM_REGION( 0x30000, REGION_CPU1, 0 )	/* 64k + bankswitch areas for the first CPU */
  2200: 	ROM_LOAD( "b44-10", 0x00000, 0x08000, CRC(8c69e008) SHA1(7825965f517f3562a508345b7c0d32b8a57bd38a) )
  2201: 	ROM_CONTINUE(       0x18000, 0x08000 )				/* banked at 8000-bfff */
  2202: 	ROM_LOAD( "b44-11", 0x20000, 0x10000, CRC(32484094) SHA1(f320fea2910816b5085ca9aa37e30af665fb6be1) )  /* banked at 8000-bfff */
  2203: 
  2204: 	ROM_REGION( 0x18000, REGION_CPU2, 0 )	/* 64k for the second CPU */
  2205: 	ROM_LOAD( "b44-12j", 0x00000, 0x08000, CRC(0600ace6) SHA1(3d5767b91ea63128bfbff3527ddcf90fcf43af2e) )
  2206: 	ROM_CONTINUE(        0x10000, 0x08000 )		/* banked at 8000-9fff */
  2207: 
  2208: 	ROM_REGION( 0x1000, REGION_CPU3, 0 )	/* M-Chip (i8742 internal ROM) */
  2209: 	ROM_LOAD( "b44-8742.mcu", 0x0000, 0x0800, CRC(7dff3f9f) SHA1(bbf4e036d025fe8179b053d639f9b8ad401e6e68) )
  2210: 
  2211: 	ROM_REGION( 0x100000, REGION_GFX1, ROMREGION_DISPOSE )
  2212: 	ROM_LOAD( "b44-01.a13", 0x00000, 0x20000, CRC(aae7b3d5) SHA1(52809ea22d98811ece2fb27e80db6ddf4fbacb07) )
  2213: 	ROM_LOAD( "b44-02.a12", 0x20000, 0x20000, CRC(7f0b9568) SHA1(415d2638d1b0eb36b2e2f63219cbc0dbebe02dc6) )
  2214: 	ROM_LOAD( "b44-03.a10", 0x40000, 0x20000, CRC(5a54a3b9) SHA1(6b219f1c3570f16eb4a06221d7e527c735437bac) )
  2215: 	ROM_LOAD( "b44-04.a08", 0x60000, 0x20000, CRC(3c5f544b) SHA1(d3b0ee18f1027483a36ef02757b62f42a086a8e2) )
  2216: 	ROM_LOAD( "b44-05.a07", 0x80000, 0x20000, CRC(d1b7e314) SHA1(8b4181caa32955b4274614a4238bb24d67ecb729) )
  2217: 	ROM_LOAD( "b44-06.a05", 0xa0000, 0x20000, CRC(269978a8) SHA1(aef7b8d3d00dcc4201e0a1e28026f6f1bdafd0b7) )
  2218: 	ROM_LOAD( "b44-07.a04", 0xc0000, 0x20000, CRC(3e0e737e) SHA1(f8d62c7b69c79da9df7ef5ce454060d3645e5884) )
  2219: 	ROM_LOAD( "b44-08.a02", 0xe0000, 0x20000, CRC(6cb1e8fc) SHA1(4ab0c2cce1de2616044a9bfb9bf17f95a49baffd) )
  2220: ROM_END
  2221: 
  2222: ROM_START( tnzs )
  2223: 	ROM_REGION( 0x30000, REGION_CPU1, 0 )	/* 64k + bankswitch areas for the first CPU */
  2224: 	ROM_LOAD( "b53_10.32", 0x00000, 0x08000, CRC(a73745c6) SHA1(73eb38e75e08312d752332f988dc655084b4a86d) )
  2225: 	ROM_CONTINUE(          0x18000, 0x18000 )		/* banked at 8000-bfff */
  2226: 
  2227: 	ROM_REGION( 0x18000, REGION_CPU2, 0 )	/* 64k for the second CPU */
  2228: 	ROM_LOAD( "b53_11.38", 0x00000, 0x08000, CRC(9784d443) SHA1(bc3647aac9974031dbe4898417fbaa99841f9548) )
  2229: 	ROM_CONTINUE(          0x10000, 0x08000 )		/* banked at 8000-9fff */
  2230: 
  2231: 	ROM_REGION( 0x1000, REGION_CPU3, 0 )	/* M-Chip (i8742 internal ROM) */
  2232: 	ROM_LOAD( "tnzs8742.u46", 0x0000, 0x0800, CRC(a4bfce19) SHA1(9340862d5bdc1ad4799dc92cae9bce1428b47478) )
  2233: 
  2234: 	ROM_REGION( 0x100000, REGION_GFX1, ROMREGION_DISPOSE )
  2235: 	/* ROMs taken from another set (the ones from this set were read incorrectly) */
  2236: 	ROM_LOAD( "b53-08.8",	0x00000, 0x20000, CRC(c3519c2a) SHA1(30fe7946fbc95ab6b3ccb6944fb24bf47bf3d743) )
  2237: 	ROM_LOAD( "b53-07.7",	0x20000, 0x20000, CRC(2bf199e8) SHA1(4ed73e4f00ae2f5f4028a0ea5ae3cd238863a370) )
  2238: 	ROM_LOAD( "b53-06.6",	0x40000, 0x20000, CRC(92f35ed9) SHA1(5fdd8d6ddbb7be9887af3c8dea9ad3b58c4e86f9) )
  2239: 	ROM_LOAD( "b53-05.5",	0x60000, 0x20000, CRC(edbb9581) SHA1(539396a01ca0b69455f000d446759b232530b542) )
  2240: 	ROM_LOAD( "b53-04.4",	0x80000, 0x20000, CRC(59d2aef6) SHA1(b657b7603c3eb5f169000d38497ebb93f26f7832) )
  2241: 	ROM_LOAD( "b53-03.3",	0xa0000, 0x20000, CRC(74acfb9b) SHA1(90b544ed7ede7565660bdd13c94c15c54423cda9) )
  2242: 	ROM_LOAD( "b53-02.2",	0xc0000, 0x20000, CRC(095d0dc0) SHA1(ced2937d0594fa00ae344a4e3a3cba23772dc160) )
  2243: 	ROM_LOAD( "b53-01.1",	0xe0000, 0x20000, CRC(9800c54d) SHA1(761647177d621ac2cdd8b009876eed35809f3c92) )
  2244: ROM_END
  2245: 
  2246: ROM_START( tnzsb )
  2247: 	ROM_REGION( 0x30000, REGION_CPU1, 0 )	/* 64k + bankswitch areas for the first CPU */
  2248: 	ROM_LOAD( "nzsb5324.bin", 0x00000, 0x08000, CRC(d66824c6) SHA1(fd381ac0dc52ce670c3fde320ea60a209e288a52) )
  2249: 	ROM_CONTINUE(             0x18000, 0x18000 )		/* banked at 8000-bfff */
  2250: 
  2251: 	ROM_REGION( 0x18000, REGION_CPU2, 0 )	/* 64k for the second CPU */
  2252: 	ROM_LOAD( "nzsb5325.bin", 0x00000, 0x08000, CRC(d6ac4e71) SHA1(f3e71624a8a5e4e4c8a6aa01711ed26bdd5abf5a) )
  2253: 	ROM_CONTINUE(             0x10000, 0x08000 )		/* banked at 8000-9fff */
  2254: 
  2255: 	ROM_REGION( 0x10000, REGION_CPU3, 0 )	/* 64k for the third CPU */
  2256: 	ROM_LOAD( "nzsb5326.bin", 0x00000, 0x10000, CRC(cfd5649c) SHA1(4f6afccd535d39b41661dc3ccd17af125bfac015) )
  2257: 
  2258: 	ROM_REGION( 0x100000, REGION_GFX1, ROMREGION_DISPOSE )
  2259: 	/* ROMs taken from another set (the ones from this set were read incorrectly) */
  2260: 	ROM_LOAD( "b53-08.8",	0x00000, 0x20000, CRC(c3519c2a) SHA1(30fe7946fbc95ab6b3ccb6944fb24bf47bf3d743) )
  2261: 	ROM_LOAD( "b53-07.7",	0x20000, 0x20000, CRC(2bf199e8) SHA1(4ed73e4f00ae2f5f4028a0ea5ae3cd238863a370) )
  2262: 	ROM_LOAD( "b53-06.6",	0x40000, 0x20000, CRC(92f35ed9) SHA1(5fdd8d6ddbb7be9887af3c8dea9ad3b58c4e86f9) )
  2263: 	ROM_LOAD( "b53-05.5",	0x60000, 0x20000, CRC(edbb9581) SHA1(539396a01ca0b69455f000d446759b232530b542) )
  2264: 	ROM_LOAD( "b53-04.4",	0x80000, 0x20000, CRC(59d2aef6) SHA1(b657b7603c3eb5f169000d38497ebb93f26f7832) )
  2265: 	ROM_LOAD( "b53-03.3",	0xa0000, 0x20000, CRC(74acfb9b) SHA1(90b544ed7ede7565660bdd13c94c15c54423cda9) )
  2266: 	ROM_LOAD( "b53-02.2",	0xc0000, 0x20000, CRC(095d0dc0) SHA1(ced2937d0594fa00ae344a4e3a3cba23772dc160) )
  2267: 	ROM_LOAD( "b53-01.1",	0xe0000, 0x20000, CRC(9800c54d) SHA1(761647177d621ac2cdd8b009876eed35809f3c92) )
  2268: ROM_END
  2269: 
  2270: ROM_START( tnzs2 )
  2271: 	ROM_REGION( 0x30000, REGION_CPU1, 0 )	/* 64k + bankswitch areas for the first CPU */
  2272: 	ROM_LOAD( "ns_c-11.rom", 0x00000, 0x08000, CRC(3c1dae7b) SHA1(0004fccc171714c80565326f8690f9662c5b75d9) )
  2273: 	ROM_CONTINUE(            0x18000, 0x18000 )		/* banked at 8000-bfff */
  2274: 
  2275: 	ROM_REGION( 0x18000, REGION_CPU2, 0 )	/* 64k for the second CPU */
  2276: 	ROM_LOAD( "ns_e-3.rom", 0x00000, 0x08000, CRC(c7662e96) SHA1(be28298bfde4e3867cfe75633ffb0f8611dbbd8b) )
  2277: 	ROM_CONTINUE(           0x10000, 0x08000 )
  2278: 
  2279: 	ROM_REGION( 0x1000, REGION_CPU3, 0 )	/* M-Chip (i8742 internal ROM) */
  2280: 	ROM_LOAD( "tnzs8742.u46", 0x0000, 0x0800, CRC(a4bfce19) SHA1(9340862d5bdc1ad4799dc92cae9bce1428b47478) )
  2281: 
  2282: 	ROM_REGION( 0x100000, REGION_GFX1, ROMREGION_DISPOSE )
  2283: 	ROM_LOAD( "ns_a13.rom",   0x00000, 0x20000, CRC(7e0bd5bb) SHA1(95dfb00ec915778e02d8bfa996735ab817191adc) )
  2284: 	ROM_LOAD( "ns_a12.rom",   0x20000, 0x20000, CRC(95880726) SHA1(f4fdedd23e80a6ccf32f737ab4bc57f9fc0925be) )
  2285: 	ROM_LOAD( "ns_a10.rom",   0x40000, 0x20000, CRC(2bc4c053) SHA1(cd7668a7733e5e80c2c566d0cf63c4310e5743b4) )
  2286: 	ROM_LOAD( "ns_a08.rom",   0x60000, 0x20000, CRC(8ff8d88c) SHA1(31977e39ad048a077e9b5bd712ff66b14a466d27) )
  2287: 	ROM_LOAD( "ns_a07.rom",   0x80000, 0x20000, CRC(291bcaca) SHA1(4f659a0cd2ff6b4ec04ab95ee8a670222c402c2b) )
  2288: 	ROM_LOAD( "ns_a05.rom",   0xa0000, 0x20000, CRC(6e762e20) SHA1(66731fe4053b9c09bc9c95d10aba212db08b4636) )
  2289: 	ROM_LOAD( "ns_a04.rom",   0xc0000, 0x20000, CRC(e1fd1b9d) SHA1(6027491b927c2ab9c77fbf8895da1abcfbe32d62) )
  2290: 	ROM_LOAD( "ns_a02.rom",   0xe0000, 0x20000, CRC(2ab06bda) SHA1(2b208b564e55c258665e1f66b26fe14a6c68eb96) )
  2291: ROM_END
  2292: 
  2293: ROM_START( insectx )
  2294: 	ROM_REGION( 0x30000, REGION_CPU1, 0 )	/* 64k + bankswitch areas for the first CPU */
  2295: 	ROM_LOAD( "insector.u32", 0x00000, 0x08000, CRC(18eef387) SHA1(b22633930d39be1e72fbd5b080972122da3cb3ef) )
  2296: 	ROM_CONTINUE(             0x18000, 0x18000 )		/* banked at 8000-bfff */
  2297: 
  2298: 	ROM_REGION( 0x18000, REGION_CPU2, 0 )	/* 64k for the second CPU */
  2299: 	ROM_LOAD( "insector.u38", 0x00000, 0x08000, CRC(324b28c9) SHA1(db77a4ac60196d0f0f35dbc5c951ec29d6392463) )
  2300: 	ROM_CONTINUE(             0x10000, 0x08000 )		/* banked at 8000-9fff */
  2301: 
  2302: 	ROM_REGION( 0x100000, REGION_GFX1, ROMREGION_DISPOSE )
  2303: 	ROM_LOAD( "insector.r15", 0x00000, 0x80000, CRC(d00294b1) SHA1(f43a4f7d13193ddbbcdef71a5085c1db0fc062d4) )
  2304: 	ROM_LOAD( "insector.r16", 0x80000, 0x80000, CRC(db5a7434) SHA1(71fac872b19a13a7ad25c8ad895c322ec9573fdc) )
  2305: ROM_END
  2306: 
  2307: 
  2308: /*  ( YEAR  NAME      PARENT    MACHINE   INPUT     INIT      MONITOR COMPANY    FULLNAME     FLAGS ) */
  2309: GAME( 1987, plumppop, 0,        drtoppel, plumppop, drtoppel, ROT0,   "Taito Corporation", "Plump Pop (Japan)" )
  2310: GAME( 1987, extrmatn, 0,        arknoid2, extrmatn, extrmatn, ROT270, "[Taito] World Games", "Extermination (US)" )
  2311: GAME( 1987, arknoid2, 0,        arknoid2, arknoid2, arknoid2, ROT270, "Taito Corporation Japan", "Arkanoid - Revenge of DOH (World)" )
  2312: GAME( 1987, arknid2u, arknoid2, arknoid2, arknid2u, arknoid2, ROT270, "Taito America Corporation (Romstar license)", "Arkanoid - Revenge of DOH (US)" )
  2313: GAME( 1987, arknid2j, arknoid2, arknoid2, arknid2u, arknoid2, ROT270, "Taito Corporation", "Arkanoid - Revenge of DOH (Japan)" )
  2314: GAME( 1987, drtoppel, 0,        drtoppel, drtoppel, drtoppel, ROT90,  "Taito Corporation Japan", "Dr. Toppel's Adventure (World)" )
  2315: GAME( 1987, drtopplu, drtoppel, drtoppel, drtopplu, drtoppel, ROT90,  "Taito America Corporation", "Dr. Toppel's Adventure (US)" )
  2316: GAME( 1987, drtopplj, drtoppel, drtoppel, drtopplu, drtoppel, ROT90,  "Taito Corporation", "Dr. Toppel's Tankentai (Japan)" )
  2317: GAME( 1988, kageki,   0,        kageki,   kageki,   kageki,   ROT90,  "Taito America Corporation (Romstar license)", "Kageki (US)" )
  2318: GAME( 1988, kagekij,  kageki,   kageki,   kageki,   kageki,   ROT90,  "Taito Corporation", "Kageki (Japan)" )
  2319: GAME( 1988, chukatai, 0,        tnzs,     chukatai, chukatai, ROT0,   "Taito Corporation Japan", "Chuka Taisen (World)" )
  2320: GAME( 1988, chukatau, chukatai, tnzs,     chukatau, chukatai, ROT0,   "Taito America Corporation", "Chuka Taisen (US)" )
  2321: GAME( 1988, chukataj, chukatai, tnzs,     chukatau, chukatai, ROT0,   "Taito Corporation", "Chuka Taisen (Japan)" )
  2322: GAME( 1988, tnzs,     0,        tnzs,     tnzs,     tnzs,     ROT0,   "Taito Corporation", "The NewZealand Story (Japan)" )
  2323: GAME( 1988, tnzsb,    tnzs,     tnzsb,    tnzsb,    tnzsb,    ROT0,   "bootleg", "The NewZealand Story (World, bootleg)" )
  2324: GAME( 1988, tnzs2,    tnzs,     tnzs,     tnzs2,    tnzs,     ROT0,   "Taito Corporation Japan", "The NewZealand Story 2 (World)" )
  2325: GAME( 1989, insectx,  0,        insectx,  insectx,  insectx,  ROT0,   "Taito Corporation Japan", "Insector X (World)" )
  2326: 




powered by ggdb.com this page took approx. 0.009s