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 : Kyros : VM Driver Source

Source Listing


     1: /***************************************************************************
     2: 
     3: 	SNK/Alpha 68000 based games:
     4: 
     5: 	(Game)                  (PCB Number)     (Manufacturer)
     6: 
     7: 	Super Stingray          ? (Early)        Alpha 1986?
     8: 	Kyros                   ? (Early)        World Games Inc 1987
     9: 	Paddle Mania            Alpha 68K-96 I   SNK 1988
    10: 	Time Soldiers (Ver 3)   Alpha 68K-96 II  SNK/Romstar 1987
    11: 	Time Soldiers (Ver 1)   Alpha 68K-96 II  SNK/Romstar 1987
    12: 	Battlefield (Ver 1)     Alpha 68K-96 II  SNK 1987
    13: 	Sky Soldiers            Alpha 68K-96 II  SNK/Romstar 1988
    14: 	Gold Medalist           Alpha 68K-96 II  SNK 1988
    15: 	Gold Medalist           (Bootleg)        SNK 1988
    16: 	Sky Adventure           Alpha 68K-96 V   SNK 1989
    17: 	Gang Wars               Alpha 68K-96 V   Alpha 1989
    18: 	Gang Wars               (Bootleg)        Alpha 1989
    19: 	Super Champion Baseball (V board?)       SNK/Alpha/Romstar/Sega 1989
    20: 	The Next Space          A8004-1 PIC      SNK 1989
    21: 
    22: General notes:
    23: 
    24: 	All II & V games are 68000, z80 plus a custom Alpha microcontroller,
    25: 	the microcontroller is able to write to anywhere within main memory.
    26: 
    27: 	Gold Medalist (bootleg) has a 68705 in place of the Alpha controller.
    28: 
    29: 	V boards have more memory and double the amount of colours as II boards.
    30: 
    31: 	Time Soldiers - make the ROM writable and the game will enter a 'debug'
    32: 	kind of mode, probably from the development system used.
    33: 
    34: 	Time Soldiers - Title screen is corrupt when set to 'Japanese language',
    35: 	the real board does this too!  (Battlefield is corrupt when set to English
    36: 	too).
    37: 
    38: 	The Next Space is not an Alpha game, but the video hardware is identical
    39: 	to Paddlemania.
    40: 
    41: 	Emulation by Bryan McPhail, mish@tendril.co.uk
    42: 
    43: 
    44: Stephh's additional notes (based on the games M68000 code and some tests) :
    45: 
    46:  1)  'sstingry'
    47: 
    48:   - You can test the ports (inputs, Dip Switches and sound) by pressing
    49:     player 1 buttons 1 and 2 during the P.O.S.T.
    50: 
    51:  2)  'kyros'
    52: 
    53:   - You can enter sort of "test mode" by pressing player 1 buttons 1 and 2
    54:     when you reset the game.
    55: 
    56:  3)  'paddlema'
    57: 
    58:   - "Game Time" Dip Switch is the time for match type A. Here is what you
    59:     have to add for games B to E :
    60: 
    61:       Match Type       B        C        D        E
    62:       Time to add    00:10    01:00    01:30    02:00
    63: 
    64:   - When "Game Mode" Dip Switch is set to "Win Match Against CPU", this has
    65:     an effect on matches types A and B : player is awarded 99 points at the
    66:     round, which is enough to win all matches then see the ending credits.
    67: 
    68:   - "Button A" and "Button B" do the same thing : they BOTH start a game
    69:     and select difficulty/court. I've mapped them this way because you
    70:     absolutely need the 2 buttons when you are in the "test mode".
    71: 
    72:  4)  'timesold', 'timesol1' and 'btlfield'
    73: 
    74:   - The "Unused" Dip Switch is sort of "Debug Mode" Dip Switch and has an
    75:     effect ONLY if 0x008fff.b is writable (as Bryan mentioned it).
    76:     Its role seems only to be limited to display some coordonates.
    77: 
    78:  5)  'skysoldr'
    79: 
    80:   - As in "Time Soldiers / Battle Field" there is a something that is sort
    81:     of "Debug Mode" Dip Switch : this is the "Manufacturer" Dip Switch when
    82:     it is set to "Romstar". Again, it has an effect only if 0x000074.w is
    83:     writable and its role seems only to be limited to display some coordonates.
    84: 
    85:  7)  'skyadvnt', 'skyadvnu' and 'skyadvnj'
    86: 
    87:   - As in 'skysoldr', you can access to some "hidden features" if 0x000074.w
    88:     is writable :
    89: 
    90:       * bit 4 (when "Unused" Dip Switch is set to "On") determines invulnerability
    91:       * bit 6 (when "Difficulty" Dip Switch is set to "Hard" or "Hardest")
    92:         determines if some coordonates are displayed.
    93: 
    94:  8)  'gangwarb'
    95: 
    96:   - When "Coin Slots" Dip Switch is set to "Common", COIN2 only adds ONE credit
    97:     and this has nothing to do with the microcontroller stuff.
    98:   - There is no Dip Switch to determine if you are allowed to continue a game
    99:     or not, so you ALWAYS have the possibility to continue a game.
   100: 
   101:  9)  'sbasebal'
   102: 
   103:   - IMO, there must exist a Japan version of this game which is currently
   104:     undumped ! Set the SBASEBAL_HACK to 1 and you'll notice the following
   105:     differences :
   106: 
   107:       * different manufacturer (no more SNK licence)
   108:       * different coinage (check code at 0x00035c) and additional COIN2
   109:       * different game time (check code at 0x001d20)
   110:       * different table for "Unknown" Dip Switch
   111: 
   112: 
   113: Stephh's log (2002.06.19) :
   114: 
   115:   - Create macros for players inputs and "Coinage" Dip Switch
   116:   - Full check and fix of Dip Switches and Inputs in ALL games (PHEW ! :p)
   117:     Read MY additional notes for unknown issues though ...
   118:   - Improve coin handler for all games (thanks Acho A. Tang for the sample
   119:     for 'sstingry', even if I had to rewrite it !)
   120:   - Fix screen flipping in 'sbasebal' (this was a Dip Switch issue)
   121:   - Add READ16_HANDLER( *_cycle_r ) for the following games :
   122:       * timesol1  (based on the one from 'timesold')
   123:       * btlfield  (based on the one from 'timesold')
   124:       * gangwarb  (I splitted the one from 'gangwars')
   125:       * skyadvnt, skyadvnu and skyadvnj
   126:   - Change manufacturer for the following games :
   127:       * timesold
   128:       * timesol1
   129:       * btlfield
   130:       * skysoldr
   131:     I can send you the ending pics where "Alpha Denshi Co." is mentioned.
   132:   - microcontroller_id is no more static to be used in vidhrdw/alpha68k.c
   133:     (in which I've removed the no more needed 'game_id' and 'strcmp')
   134: 
   135: 
   136: Revision History:
   137: 
   138: Acho A. Tang, xx-xx-2002
   139: 
   140: [Super Stingray]
   141: - improved color, added sound, game timer and coin handler, corrected DIP settings
   142: note: CLUT and color remap PROMs missing
   143: 
   144: [Kyros]
   145: - fixed color, added sound and coin handler, corrected DIP settings
   146: 
   147: [Paddle Mania]
   148: - reactivated driver
   149: - improved color, added sound, fixed control and priority, corrected DIP settings
   150: 
   151: [Time Soldiers]
   152: - fixed priority
   153: 
   154: [Gold Medalist]
   155: - fixed gameplay, control and priority, corrected DIP settings
   156: - fixed garbled voices using sound ROMs from the bootleg set
   157: 
   158: [Sky Adventure]
   159: - fixed sprite position and priority
   160: 
   161: [Gang Wars]
   162: - fixed color in the 2nd last graphics bank
   163: 
   164: [The Next Space]
   165: - fixed color and sprite glitches, added sound, filled DIP settings
   166: 
   167: ***************************************************************************/
   168: 
   169: #include "driver.h" 
   170: #include "vidhrdw/generic.h" 
   171: #include "cpu/z80/z80.h" 
   172: 
   173: #define SBASEBAL_HACK	0 
   174: 
   175: VIDEO_START( alpha68k );
   176: VIDEO_UPDATE( kyros );
   177: VIDEO_UPDATE( sstingry );
   178: VIDEO_UPDATE( alpha68k_I );
   179: VIDEO_UPDATE( tnexspce );
   180: PALETTE_INIT( kyros );
   181: PALETTE_INIT( paddlem );
   182: VIDEO_UPDATE( alpha68k_II );
   183: WRITE16_HANDLER( alpha68k_II_video_bank_w );
   184: VIDEO_UPDATE( alpha68k_V );
   185: VIDEO_UPDATE( alpha68k_V_sb );
   186: void alpha68k_V_video_bank_w(int bank);
   187: void alpha68k_flipscreen_w(int flip);
   188: WRITE16_HANDLER( alpha68k_V_video_control_w );
   189: WRITE16_HANDLER( alpha68k_paletteram_w );
   190: WRITE16_HANDLER( alpha68k_videoram_w );
   191: 
   192: static data16_t *shared_ram;
   193: //static unsigned char *sound_ram; //AT: not needed
   194: static int invert_controls;
   195: int microcontroller_id, coin_id;
   196: 
   197: static unsigned trigstate=0, deposits1=0, deposits2=0, credits=0;
   198: 
   199: /******************************************************************************/
   200: 
   201: /* resets the values related to the microcontroller */
   202: MACHINE_INIT( common )
   203: {
   204: 	trigstate = 0;
   205: 	deposits1 = 0;
   206: 	deposits2 = 0;
   207: 	credits   = 0;
   208: }
   209: 
   210: MACHINE_INIT( tnexspce )
   211: {
   212: 	alpha68k_flipscreen_w(0);
   213: }
   214: 
   215: /******************************************************************************/
   216: 
   217: WRITE16_HANDLER( tnexspce_unknown_w )
   218: {
   219: 	logerror("tnexspce_unknown_w : PC = %04x - offset = %04x - data = %04x\n",activecpu_get_pc(),offset,data);
   220: 	if (offset==0x0000 && ACCESSING_LSB)
   221: 	{
   222: 		alpha68k_flipscreen_w(data & 1);
   223: 	}
   224: }
   225: 
   226: static WRITE16_HANDLER( alpha_microcontroller_w )
   227: {
   228: 	logerror("%04x:  Alpha write trigger at %04x (%04x)\n",activecpu_get_pc(),offset,data);
   229: 	/* 0x44 = coin clear signal to microcontroller? */
   230: 	if (offset==0x2d && ACCESSING_LSB)
   231: 		alpha68k_flipscreen_w(data & 1);
   232: }
   233: 
   234: /******************************************************************************/
   235: 
   236: static READ16_HANDLER( kyros_dip_r )
   237: {
   238: 	return readinputport(1)<<8;
   239: }
   240: 
   241: static READ16_HANDLER( control_1_r )
   242: {
   243: 	if (invert_controls)
   244: 		return ~(readinputport(0) + (readinputport(1) << 8));
   245: 
   246: 	return (readinputport(0) + (readinputport(1) << 8));
   247: }
   248: 
   249: static READ16_HANDLER( control_2_r )
   250: {
   251: 	if (invert_controls)
   252: 		return ~(readinputport(3) + ((~(1 << (readinputport(5) * 12 / 256))) << 8));
   253: 
   254: 	return readinputport(3) + /* Low byte of CN1 */
   255: 		((~(1 << (readinputport(5) * 12 / 256))) << 8);
   256: }
   257: 
   258: static READ16_HANDLER( control_2_V_r )
   259: {
   260: 	return readinputport(3);
   261: }
   262: 
   263: static READ16_HANDLER( control_3_r )
   264: {
   265: 	if (invert_controls)
   266: 		return ~((( ~(1 << (readinputport(6) * 12 / 256)) )<<8)&0xff00);
   267: 
   268: 	return (( ~(1 << (readinputport(6) * 12 / 256)) )<<8)&0xff00;
   269: }
   270: 
   271: /* High 4 bits of CN1 & CN2 */
   272: static READ16_HANDLER( control_4_r )
   273: {
   274: 	if (invert_controls)
   275: 		return ~(((( ~(1 << (readinputport(6) * 12 / 256))  ) <<4)&0xf000)
   276: 		 + ((( ~(1 << (readinputport(5) * 12 / 256))  )    )&0x0f00));
   277: 
   278: 	return ((( ~(1 << (readinputport(6) * 12 / 256))  ) <<4)&0xf000)
   279: 		 + ((( ~(1 << (readinputport(5) * 12 / 256))  )    )&0x0f00);
   280: }
   281: 
   282: /******************************************************************************/
   283: 
   284: static WRITE16_HANDLER( kyros_sound_w )
   285: {
   286: 	if(ACCESSING_MSB)
   287: 		soundlatch_w(0, (data>>8)&0xff);
   288: }
   289: 
   290: static WRITE16_HANDLER( alpha68k_II_sound_w )
   291: {
   292: 	if(ACCESSING_LSB)
   293: 		soundlatch_w(0, data&0xff);
   294: }
   295: 
   296: static WRITE16_HANDLER( alpha68k_V_sound_w )
   297: {
   298: 	/* Sound & fix bank select are in the same word */
   299: 	if(ACCESSING_LSB)
   300: 		soundlatch_w(0,data&0xff);
   301: 	if(ACCESSING_MSB)
   302: 		alpha68k_V_video_bank_w((data>>8)&0xff);
   303: }
   304: //AT
   305: static WRITE16_HANDLER( paddlema_soundlatch_w )
   306: {
   307: 	if (ACCESSING_LSB)
   308: 	{
   309: 		soundlatch_w(0, data);
   310: 		cpu_set_irq_line(1, 0, HOLD_LINE);
   311: 	}
   312: }
   313: 
   314: static WRITE16_HANDLER( tnexspce_soundlatch_w )
   315: {
   316: 	if (ACCESSING_LSB)
   317: 	{
   318: 		soundlatch_w(0, data);
   319: 		cpu_set_nmi_line(1, PULSE_LINE);
   320: 	}
   321: }
   322: //ZT
   323: /******************************************************************************/
   324: 
   325: /* Kyros, Super Stingray */
   326: static READ16_HANDLER( kyros_alpha_trigger_r )
   327: {
   328: 	/* possible jump codes:
   329:            - Kyros          : 0x22
   330: 	     - Super Stingray : 0x21,0x22,0x23,0x24,0x34,0x37,0x3a,0x3d,0x40,0x43,0x46,0x49
   331: 	*/
   332: 	static unsigned coinvalue=0, microcontroller_data=0;
   333: 	static UINT8 coinage1[8][2]={{1,1},{1,5},{1,3},{2,3},{1,2},{1,6},{1,4},{3,2}};
   334: 	static UINT8 coinage2[8][2]={{1,1},{5,1},{3,1},{7,1},{2,1},{6,1},{4,1},{8,1}};
   335: 
   336: 	static int latch;
   337: 	int source=shared_ram[offset];
   338: 
   339: 	switch (offset) {
   340: 		case 0x22: /* Coin value */
   341: 			shared_ram[0x22] = (source&0xff00)|(credits&0x00ff);	/* (source&0xff00)|0x1 */
   342: 			return 0;
   343: 		case 0x29: /* Query microcontroller for coin insert */
   344: 			trigstate++;
   345: 			if ((readinputport(2)&0x3)==3) latch=0;
   346: 			if ((readinputport(2)&0x1)==0 && !latch)
   347: 			{
   348: 				shared_ram[0x29] = (source&0xff00)|(coin_id&0xff);	// coinA
   349: 				shared_ram[0x22] = (source&0xff00)|0x0;
   350: 				latch=1;
   351: 
   352: 				coinvalue = (~readinputport(1)>>1) & 7;
   353: 				deposits1++;
   354: 				if (deposits1 == coinage1[coinvalue][0])
   355: 				{
   356: 					credits = coinage1[coinvalue][1];
   357: 					deposits1 = 0;
   358: 				}
   359: 				else
   360: 					credits = 0;
   361: 			}
   362: 			else if ((readinputport(2)&0x2)==0 && !latch)
   363: 			{
   364: 				shared_ram[0x29] = (source&0xff00)|(coin_id>>8);	// coinB
   365: 				shared_ram[0x22] = (source&0xff00)|0x0;
   366: 				latch=1;
   367: 
   368: 				coinvalue = (~readinputport(1)>>1) & 7;
   369: 				deposits2++;
   370: 				if (deposits2 == coinage2[coinvalue][0])
   371: 				{
   372: 					credits = coinage2[coinvalue][1];
   373: 					deposits2 = 0;
   374: 				}
   375: 				else
   376: 					credits = 0;
   377: 			}
   378: 			else
   379: 			{
   380: 				if (microcontroller_id == 0x00ff)		/* Super Stingry */
   381: 				{
   382: 					if (trigstate >= 12)	/* arbitrary value ! */
   383: 					{
   384: 						trigstate = 0;
   385: 						microcontroller_data = 0x21;			// timer
   386: 					}
   387: 					else
   388: 						microcontroller_data = 0x00;
   389: 				}
   390: 				else
   391: 					microcontroller_data = 0x00;
   392: 				shared_ram[0x29] = (source&0xff00)|microcontroller_data;
   393: 			}
   394: 
   395: 			return 0;
   396: 		case 0xff:  /* Custom check, only used at bootup */
   397: 			shared_ram[0xff] = (source&0xff00)|microcontroller_id;
   398: 			break;
   399: 	}
   400: 
   401: 	logerror("%04x:  Alpha read trigger at %04x\n",activecpu_get_pc(),offset);
   402: 
   403: 	return 0; /* Values returned don't matter */
   404: }
   405: 
   406: /* Time Soldiers, Sky Soldiers, Gold Medalist */
   407: static READ16_HANDLER( alpha_II_trigger_r )
   408: {
   409: 	/* possible jump codes:
   410: 	     - Time Soldiers : 0x21,0x22,0x23,0x24,0x34,0x37,0x3a,0x3d,0x40,0x43,0x46,0x49
   411: 	     - Sky Soldiers  : 0x21,0x22,0x23,0x24,0x34,0x37,0x3a,0x3d,0x40,0x43,0x46,0x49
   412: 	     - Gold Medalist : 0x21,0x23,0x24,0x5b
   413: 	*/
   414: 	static unsigned coinvalue=0, microcontroller_data=0;
   415: 	static UINT8 coinage1[8][2]={{1,1},{1,2},{1,3},{1,4},{1,5},{1,6},{2,3},{3,2}};
   416: 	static UINT8 coinage2[8][2]={{1,1},{2,1},{3,1},{4,1},{5,1},{6,1},{7,1},{8,1}};
   417: 
   418: 	static int latch;
   419: 	int source=shared_ram[offset];
   420: 
   421: 	switch (offset)
   422: 	{
   423: 		case 0: /* Dipswitch 2 */
   424: 			shared_ram[0] = (source&0xff00)|readinputport(4);
   425: 			return 0;
   426: 
   427: 		case 0x22: /* Coin value */
   428: 			shared_ram[0x22] = (source&0xff00)|(credits&0x00ff);	/* (source&0xff00)|0x1 */
   429: 			return 0;
   430: 
   431: 		case 0x29: /* Query microcontroller for coin insert */
   432: 			if ((readinputport(2)&0x3)==3) latch=0;
   433: 			if ((readinputport(2)&0x1)==0 && !latch)
   434: 			{
   435: 				shared_ram[0x29] = (source&0xff00)|(coin_id&0xff);	// coinA
   436: 				shared_ram[0x22] = (source&0xff00)|0x0;
   437: 				latch=1;
   438: 
   439: 				if ((coin_id&0xff) == 0x22)
   440: 				{
   441: 					coinvalue = (~readinputport(4)>>0) & 7;
   442: 					deposits1++;
   443: 					if (deposits1 == coinage1[coinvalue][0])
   444: 					{
   445: 						credits = coinage1[coinvalue][1];
   446: 						deposits1 = 0;
   447: 					}
   448: 					else
   449: 						credits = 0;
   450: 				}
   451: 			}
   452: 			else if ((readinputport(2)&0x2)==0 && !latch)
   453: 			{
   454: 				shared_ram[0x29] = (source&0xff00)|(coin_id>>8);	// coinB
   455: 				shared_ram[0x22] = (source&0xff00)|0x0;
   456: 				latch=1;
   457: 
   458: 				if ((coin_id>>8) == 0x22)
   459: 				{
   460: 					coinvalue = (~readinputport(4)>>0) & 7;
   461: 					deposits2++;
   462: 					if (deposits2 == coinage2[coinvalue][0])
   463: 					{
   464: 						credits = coinage2[coinvalue][1];
   465: 						deposits2 = 0;
   466: 					}
   467: 					else
   468: 						credits = 0;
   469: 				}
   470: 			}
   471: 			else
   472: 			{
   473: 				if (microcontroller_id == 0x8803)		/* Gold Medalist */
   474: 					microcontroller_data = 0x21;				// timer
   475: 				else
   476: 					microcontroller_data = 0x00;
   477: 				shared_ram[0x29] = (source&0xff00)|microcontroller_data;
   478: 			}
   479: 
   480: 			return 0;
   481: 		case 0xfe:  /* Custom ID check, same for all games */
   482: 			shared_ram[0xfe] = (source&0xff00)|0x87;
   483: 			break;
   484: 		case 0xff:  /* Custom ID check, same for all games */
   485: 			shared_ram[0xff] = (source&0xff00)|0x13;
   486: 			break;
   487: 	}
   488: 
   489: 	logerror("%04x:  Alpha read trigger at %04x\n",activecpu_get_pc(),offset);
   490: 
   491: 	return 0; /* Values returned don't matter */
   492: }
   493: 
   494: /* Sky Adventure, Gang Wars, Super Champion Baseball */
   495: static READ16_HANDLER( alpha_V_trigger_r )
   496: {
   497: 	/* possible jump codes:
   498: 	     - Sky Adventure           : 0x21,0x22,0x23,0x24,0x34,0x37,0x3a,0x3d,0x40,0x43,0x46,0x49
   499: 	     - Gang Wars               : 0x21,0x23,0x24,0x54
   500: 	     - Super Champion Baseball : 0x21,0x23,0x24
   501: 	*/
   502: 	static unsigned coinvalue=0, microcontroller_data=0;
   503: 	static UINT8 coinage1[8][2]={{1,1},{1,5},{1,3},{2,3},{1,2},{1,6},{1,4},{3,2}};
   504: 	static UINT8 coinage2[8][2]={{1,1},{5,1},{3,1},{7,1},{2,1},{6,1},{4,1},{8,1}};
   505: 
   506: 	static int latch;
   507: 	int source=shared_ram[offset];
   508: 
   509: 	switch (offset)
   510: 	{
   511: 		case 0: /* Dipswitch 1 */
   512: 			shared_ram[0] = (source&0xff00)|readinputport(4);
   513: 			return 0;
   514: 		case 0x22: /* Coin value */
   515: 			shared_ram[0x22] = (source&0xff00)|(credits&0x00ff);	/* (source&0xff00)|0x1 */
   516: 			return 0;
   517: 		case 0x29: /* Query microcontroller for coin insert */
   518: 			if ((readinputport(2)&0x3)==3) latch=0;
   519: 			if ((readinputport(2)&0x1)==0 && !latch)
   520: 			{
   521: 				shared_ram[0x29] = (source&0xff00)|(coin_id&0xff);	// coinA
   522: 				shared_ram[0x22] = (source&0xff00)|0x0;
   523: 				latch=1;
   524: 
   525: 				if ((coin_id&0xff) == 0x22)
   526: 				{
   527: 					coinvalue = (~readinputport(4)>>1) & 7;
   528: 					deposits1++;
   529: 					if (deposits1 == coinage1[coinvalue][0])
   530: 					{
   531: 						credits = coinage1[coinvalue][1];
   532: 						deposits1 = 0;
   533: 					}
   534: 					else
   535: 						credits = 0;
   536: 				}
   537: 			}
   538: 			else if ((readinputport(2)&0x2)==0 && !latch)
   539: 			{
   540: 				shared_ram[0x29] = (source&0xff00)|(coin_id>>8);	// coinB
   541: 				shared_ram[0x22] = (source&0xff00)|0x0;
   542: 				latch=1;
   543: 
   544: 				if ((coin_id>>8) == 0x22)
   545: 				{
   546: 					coinvalue = (~readinputport(4)>>1) & 7;
   547: 					deposits2++;
   548: 					if (deposits2 == coinage2[coinvalue][0])
   549: 					{
   550: 						credits = coinage2[coinvalue][1];
   551: 						deposits2 = 0;
   552: 					}
   553: 					else
   554: 						credits = 0;
   555: 				}
   556: 			}
   557: 			else
   558: 			{
   559: 				microcontroller_data = 0x00;
   560: 				shared_ram[0x29] = (source&0xff00)|microcontroller_data;
   561: 			}
   562: 
   563: 			return 0;
   564: 		case 0xfe:  /* Custom ID check */
   565: 			shared_ram[0xfe] = (source&0xff00)|(microcontroller_id>>8);
   566: 			break;
   567: 		case 0xff:  /* Custom ID check */
   568: 			shared_ram[0xff] = (source&0xff00)|(microcontroller_id&0xff);
   569: 			break;
   570: 
   571: 		case 0x1f00: /* Dipswitch 1 */
   572: 			shared_ram[0x1f00] = (source&0xff00)|readinputport(4);
   573: 			return 0;
   574: 		case 0x1f29: /* Query microcontroller for coin insert */
   575: 			if ((readinputport(2)&0x3)==3) latch=0;
   576: 			if ((readinputport(2)&0x1)==0 && !latch)
   577: 			{
   578: 				shared_ram[0x1f29] = (source&0xff00)|(coin_id&0xff);	// coinA
   579: 				shared_ram[0x1f22] = (source&0xff00)|0x0;
   580: 				latch=1;
   581: 
   582: 				if ((coin_id&0xff) == 0x22)
   583: 				{
   584: 					coinvalue = (~readinputport(4)>>1) & 7;
   585: 					deposits1++;
   586: 					if (deposits1 == coinage1[coinvalue][0])
   587: 					{
   588: 						credits = coinage1[coinvalue][1];
   589: 						deposits1 = 0;
   590: 					}
   591: 					else
   592: 						credits = 0;
   593: 				}
   594: 			}
   595: 			else if ((readinputport(2)&0x2)==0 && !latch)
   596: 			{
   597: 				shared_ram[0x1f29] = (source&0xff00)|(coin_id>>8);	// coinB
   598: 				shared_ram[0x1f22] = (source&0xff00)|0x0;
   599: 				latch=1;
   600: 
   601: 				if ((coin_id>>8) == 0x22)
   602: 				{
   603: 					coinvalue = (~readinputport(4)>>1) & 7;
   604: 					deposits2++;
   605: 					if (deposits2 == coinage2[coinvalue][0])
   606: 					{
   607: 						credits = coinage2[coinvalue][1];
   608: 						deposits2 = 0;
   609: 					}
   610: 					else
   611: 						credits = 0;
   612: 				}
   613: 			}
   614: 			else
   615: 			{
   616: 				microcontroller_data = 0x00;
   617: 				shared_ram[0x1f29] = (source&0xff00)|microcontroller_data;
   618: 			}
   619: 
   620: 			/* Gang Wars expects the first dip to appear in RAM at 0x02c6,
   621: 			   the microcontroller supplies it (it does for all the other games,
   622: 			   but usually to 0x0 in RAM) when 0x21 is read (code at 0x009332) */
   623: 			source=shared_ram[0x0163];
   624: 			shared_ram[0x0163] = (source&0x00ff)|(readinputport(4)<<8);
   625: 
   626: 			return 0;
   627: 		case 0x1ffe:  /* Custom ID check */
   628: 			shared_ram[0x1ffe] = (source&0xff00)|(microcontroller_id>>8);
   629: 			break;
   630: 		case 0x1fff:  /* Custom ID check */
   631: 			shared_ram[0x1fff] = (source&0xff00)|(microcontroller_id&0xff);
   632: 			break;
   633: 	}
   634: 
   635: 	logerror("%04x:  Alpha read trigger at %04x\n",activecpu_get_pc(),offset);
   636: 
   637: 	return 0; /* Values returned don't matter */
   638: }
   639: 
   640: /******************************************************************************/
   641: 
   642: static MEMORY_READ16_START( kyros_readmem )
   643: 	{ 0x000000, 0x01ffff, MRA16_ROM }, // main program
   644: 	{ 0x020000, 0x020fff, MRA16_RAM }, // work RAM
   645: 	{ 0x040000, 0x041fff, MRA16_RAM }, // sprite RAM
   646: 	{ 0x060000, 0x060001, MRA16_RAM }, // MSB: watchdog
   647: 	{ 0x080000, 0x0801ff, kyros_alpha_trigger_r },
   648: 	{ 0x0c0000, 0x0c0001, input_port_0_word_r },
   649: 	{ 0x0e0000, 0x0e0001, kyros_dip_r },
   650: MEMORY_END
   651: 
   652: static MEMORY_WRITE16_START( kyros_writemem )
   653: 	{ 0x000000, 0x01ffff, MWA16_ROM },
   654: 	{ 0x020000, 0x020fff, MWA16_RAM, &shared_ram },
   655: 	{ 0x040000, 0x041fff, MWA16_RAM, &spriteram16 },
   656: 	{ 0x060000, 0x060001, MWA16_RAM, &videoram16 }, // LSB: BGC
   657: 	{ 0x080000, 0x0801ff, MWA16_NOP },
   658: 	{ 0x080000, 0x0801ff, alpha_microcontroller_w },
   659: 	{ 0x0e0000, 0x0e0001, kyros_sound_w },
   660: MEMORY_END
   661: 
   662: static MEMORY_READ16_START( alpha68k_I_readmem )
   663: 	{ 0x000000, 0x03ffff, MRA16_ROM }, // main program
   664: 	{ 0x080000, 0x083fff, MRA16_RAM }, // work RAM
   665: 	{ 0x100000, 0x103fff, MRA16_RAM }, // video RAM
   666: 	{ 0x180000, 0x180001, input_port_3_word_r }, // LSB: DSW0
   667: 	{ 0x180008, 0x180009, input_port_4_word_r }, // LSB: DSW1
   668: 	{ 0x300000, 0x300001, input_port_0_word_r }, // joy1, joy2
   669: 	{ 0x340000, 0x340001, input_port_1_word_r }, // coin, start, service
   670: 	{ 0x380000, 0x380001, input_port_2_word_r }, // joy3, joy4
   671: MEMORY_END
   672: 
   673: static MEMORY_WRITE16_START( alpha68k_I_writemem )
   674: 	{ 0x000000, 0x03ffff, MWA16_NOP },
   675: 	{ 0x080000, 0x083fff, MWA16_RAM },
   676: 	{ 0x100000, 0x103fff, MWA16_RAM, &spriteram16 },
   677: 	{ 0x180000, 0x180001, MWA16_NOP }, // MSB: watchdog(?)
   678: 	{ 0x380000, 0x380001, paddlema_soundlatch_w }, // LSB: sound latch write and RST38 trigger
   679: MEMORY_END
   680: 
   681: static MEMORY_READ16_START( alpha68k_II_readmem )
   682: 	{ 0x000000, 0x03ffff, MRA16_RAM },
   683: 	{ 0x040000, 0x040fff, MRA16_RAM },
   684: 	{ 0x080000, 0x080001, control_1_r }, /* Joysticks */
   685: 	{ 0x0c0000, 0x0c0001, control_2_r }, /* CN1 & Dip 1 */
   686: 	{ 0x0c8000, 0x0c8001, control_3_r }, /* Bottom of CN2 */
   687: 	{ 0x0d0000, 0x0d0001, control_4_r }, /* Top of CN1 & CN2 */
   688: 	{ 0x0d8000, 0x0d8001, MRA16_NOP }, /* IRQ ack? */
   689: 	{ 0x0e0000, 0x0e0001, MRA16_NOP }, /* IRQ ack? */
   690: 	{ 0x0e8000, 0x0e8001, MRA16_NOP }, /* watchdog? */
   691: 	{ 0x100000, 0x100fff, MRA16_RAM },
   692: 	{ 0x200000, 0x207fff, MRA16_RAM },
   693: 	{ 0x300000, 0x3001ff, alpha_II_trigger_r },
   694: 	{ 0x400000, 0x400fff, MRA16_RAM },
   695: 	{ 0x800000, 0x83ffff, MRA16_BANK8 }, /* Extra code bank */
   696: MEMORY_END
   697: 
   698: static MEMORY_WRITE16_START( alpha68k_II_writemem )
   699: 	{ 0x000000, 0x03ffff, MWA16_NOP },
   700: 	{ 0x040000, 0x040fff, MWA16_RAM, &shared_ram },
   701: 	{ 0x080000, 0x080001, alpha68k_II_sound_w },
   702: 	{ 0x0c0000, 0x0c00ff, alpha68k_II_video_bank_w },
   703: 	{ 0x100000, 0x100fff, alpha68k_videoram_w, &videoram16 },
   704: 	{ 0x200000, 0x207fff, MWA16_RAM, &spriteram16 },
   705: 	{ 0x300000, 0x3001ff, alpha_microcontroller_w },
   706: 	{ 0x400000, 0x400fff, alpha68k_paletteram_w, &paletteram16 },
   707: MEMORY_END
   708: 
   709: static MEMORY_READ16_START( alpha68k_V_readmem )
   710: 	{ 0x000000, 0x03ffff, MRA16_ROM },
   711: 	{ 0x040000, 0x043fff, MRA16_RAM },
   712: 	{ 0x080000, 0x080001, control_1_r }, /* Joysticks */
   713: 	{ 0x0c0000, 0x0c0001, control_2_V_r }, /* Dip 2 */
   714: 	{ 0x0d8000, 0x0d8001, MRA16_NOP }, /* IRQ ack? */
   715: 	{ 0x0e0000, 0x0e0001, MRA16_NOP }, /* IRQ ack? */
   716: 	{ 0x0e8000, 0x0e8001, MRA16_NOP }, /* watchdog? */
   717: 	{ 0x100000, 0x100fff, MRA16_RAM },
   718: 	{ 0x200000, 0x207fff, MRA16_RAM },
   719: 	{ 0x300000, 0x303fff, alpha_V_trigger_r },
   720: 	{ 0x400000, 0x401fff, MRA16_RAM },
   721: 	{ 0x800000, 0x83ffff, MRA16_BANK8 },
   722: MEMORY_END
   723: 
   724: static MEMORY_WRITE16_START( alpha68k_V_writemem )
   725: 	{ 0x000000, 0x03ffff, MWA16_NOP },
   726: 	{ 0x040000, 0x043fff, MWA16_RAM, &shared_ram },
   727: 	{ 0x080000, 0x080001, alpha68k_V_sound_w },
   728: 	{ 0x0c0000, 0x0c00ff, alpha68k_V_video_control_w },
   729: 	{ 0x100000, 0x100fff, alpha68k_videoram_w, &videoram16 },
   730: 	{ 0x200000, 0x207fff, MWA16_RAM, &spriteram16 },
   731: 	{ 0x300000, 0x3001ff, alpha_microcontroller_w },
   732: 	{ 0x303e00, 0x303fff, alpha_microcontroller_w }, /* Gang Wars mirror */
   733: 	{ 0x400000, 0x401fff, alpha68k_paletteram_w, &paletteram16 },
   734: MEMORY_END
   735: 
   736: static READ16_HANDLER(sound_cpu_r) { return 1; }
   737: 
   738: static MEMORY_READ16_START( tnexspce_readmem )
   739: 	{ 0x000000, 0x03ffff, MRA16_ROM },
   740: 	{ 0x070000, 0x073fff, MRA16_RAM },
   741: 	{ 0x0a0000, 0x0a3fff, MRA16_RAM },
   742: 	{ 0x0e0000, 0x0e0001, input_port_0_word_r },
   743: 	{ 0x0e0002, 0x0e0003, input_port_1_word_r },
   744: 	{ 0x0e0004, 0x0e0005, input_port_2_word_r },
   745: 	{ 0x0e0008, 0x0e0009, input_port_3_word_r },
   746: 	{ 0x0e000a, 0x0e000b, input_port_4_word_r },
   747: 	{ 0x0e0018, 0x0e0019, sound_cpu_r },
   748: MEMORY_END
   749: 
   750: static MEMORY_WRITE16_START( tnexspce_writemem )
   751: 	{ 0x000000, 0x03ffff, MWA16_ROM },
   752: 	{ 0x070000, 0x073fff, MWA16_RAM },
   753: 	{ 0x0a0000, 0x0a3fff, MWA16_RAM, &spriteram16 },
   754: 	{ 0x0d0000, 0x0d0001, MWA16_NOP }, // unknown write port (0)
   755: 	{ 0x0e0006, 0x0e0007, MWA16_NOP }, // unknown write port (0)
   756: 	{ 0x0e000e, 0x0e000f, MWA16_NOP }, // unknown write port (0)
   757: 	{ 0x0f0008, 0x0f0009, tnexspce_soundlatch_w },
   758: 	{ 0x0f0000, 0x0f000f, tnexspce_unknown_w },
   759: MEMORY_END
   760: 
   761: /******************************************************************************/
   762: 
   763: static WRITE_HANDLER( sound_bank_w )
   764: {
   765: 	int bankaddress;
   766: 	unsigned char *RAM = memory_region(REGION_CPU2);
   767: 
   768: 	bankaddress = 0x10000 + (data) * 0x4000;
   769: 	cpu_setbank(7,&RAM[bankaddress]);
   770: }
   771: 
   772: static MEMORY_READ_START( sound_readmem )
   773: 	{ 0x0000, 0x7fff, MRA_ROM },
   774: 	{ 0x8000, 0x87ff, MRA_RAM },
   775: 	{ 0xc000, 0xffff, MRA_BANK7 },
   776: MEMORY_END
   777: 
   778: static MEMORY_WRITE_START( sound_writemem )
   779: 	{ 0x0000, 0x7fff, MWA_ROM },
   780: 	{ 0x8000, 0x87ff, MWA_RAM },
   781: MEMORY_END
   782: //AT
   783: static MEMORY_READ_START( kyros_sound_readmem )
   784: 	{ 0x0000, 0xbfff, MRA_ROM },
   785: 	{ 0xc000, 0xc7ff, MRA_RAM },
   786: 	{ 0xe000, 0xe000, soundlatch_r },
   787: MEMORY_END
   788: 
   789: static MEMORY_WRITE_START( kyros_sound_writemem )
   790: 	{ 0x0000, 0xbfff, MWA_ROM },
   791: 	{ 0xc000, 0xc7ff, MWA_RAM },
   792: 	{ 0xe002, 0xe002, soundlatch_clear_w },
   793: 	{ 0xe004, 0xe004, DAC_0_signed_data_w },
   794: 	{ 0xe006, 0xe00e, MWA_NOP }, // soundboard I/O's, ignored
   795: /* reference only
   796: 	{ 0xe006, 0xe006, MWA_NOP }, // NMI: diminishing saw-tooth
   797: 	{ 0xe008, 0xe008, MWA_NOP }, // NMI: 00
   798: 	{ 0xe00a, 0xe00a, MWA_NOP }, // RST38: 20
   799: 	{ 0xe00c, 0xe00c, MWA_NOP }, // RST30: 00 on entry
   800: 	{ 0xe00e, 0xe00e, MWA_NOP }, // RST30: 00,02,ff on exit(0x1d88)
   801: */
   802: MEMORY_END
   803: 
   804: static MEMORY_READ_START( sstingry_sound_readmem )
   805: 	{ 0x0000, 0x7fff, MRA_ROM },
   806: 	{ 0x8000, 0x87ff, MRA_RAM },
   807: 	{ 0xc100, 0xc100, soundlatch_r },
   808: MEMORY_END
   809: 
   810: static MEMORY_WRITE_START( sstingry_sound_writemem )
   811: 	{ 0x0000, 0x7fff, MWA_ROM },
   812: 	{ 0x8000, 0x87ff, MWA_RAM },
   813: 	{ 0xc102, 0xc102, soundlatch_clear_w },
   814: 	{ 0xc104, 0xc104, DAC_0_signed_data_w },
   815: 	{ 0xc106, 0xc10e, MWA_NOP }, // soundboard I/O's, ignored
   816: MEMORY_END
   817: 
   818: static MEMORY_READ_START( alpha68k_I_s_readmem )
   819: 	{ 0x0000, 0x9fff, MRA_ROM }, // sound program
   820: 	{ 0xe000, 0xe000, soundlatch_r },
   821: 	{ 0xe800, 0xe800, YM3812_status_port_0_r },
   822: 	{ 0xf000, 0xf7ff, MRA_RAM }, // work RAM
   823: 	{ 0xfc00, 0xfc00, MRA_RAM }, // unknown port
   824: MEMORY_END
   825: 
   826: static MEMORY_WRITE_START( alpha68k_I_s_writemem )
   827: 	{ 0x0000, 0x9fff, MWA_ROM },
   828: 	{ 0xe000, 0xe000, soundlatch_clear_w },
   829: 	{ 0xe800, 0xe800, YM3812_control_port_0_w },
   830: 	{ 0xec00, 0xec00, YM3812_write_port_0_w },
   831: 	{ 0xf000, 0xf7ff, MWA_RAM },
   832: 	{ 0xfc00, 0xfc00, MWA_RAM }, // unknown port
   833: MEMORY_END
   834: //ZT
   835: 
   836: static MEMORY_READ_START( tnexspce_sound_readmem )
   837: 	{ 0x0000, 0x7fff, MRA_ROM },
   838: 	{ 0xf000, 0xf7ff, MRA_RAM },
   839: 	{ 0xf800, 0xf800, soundlatch_r }, //AT
   840: MEMORY_END
   841: 
   842: static MEMORY_WRITE_START( tnexspce_sound_writemem )
   843: 	{ 0x0000, 0x7fff, MWA_ROM },
   844: 	{ 0xf000, 0xf7ff, MWA_RAM },
   845: 	{ 0xf800, 0xf800, soundlatch_clear_w }, //AT
   846: MEMORY_END
   847: 
   848: static PORT_READ_START( sound_readport )
   849: 	{ 0x00, 0x00, soundlatch_r },
   850: PORT_END
   851: 
   852: static PORT_WRITE_START( sound_writeport )
   853: 	{ 0x00, 0x00, soundlatch_clear_w },
   854: 	{ 0x08, 0x08, DAC_0_signed_data_w },
   855: 	{ 0x0a, 0x0a, YM2413_register_port_0_w },
   856: 	{ 0x0b, 0x0b, YM2413_data_port_0_w },
   857: 	{ 0x0c, 0x0c, YM2203_control_port_0_w },
   858: 	{ 0x0d, 0x0d, YM2203_write_port_0_w },
   859: 	{ 0x0e, 0x0e, sound_bank_w },
   860: PORT_END
   861: 
   862: static PORT_WRITE_START( kyros_sound_writeport )
   863: 	{ 0x10, 0x10, YM2203_control_port_0_w },
   864: 	{ 0x11, 0x11, YM2203_write_port_0_w },
   865: 	{ 0x80, 0x80, YM2203_write_port_1_w },
   866: 	{ 0x81, 0x81, YM2203_control_port_1_w },
   867: 	{ 0x90, 0x90, YM2203_write_port_2_w },
   868: 	{ 0x91, 0x91, YM2203_control_port_2_w },
   869: PORT_END
   870: 
   871: static PORT_READ_START( tnexspce_sound_readport ) //AT
   872: 	{ 0x00, 0x00, YM3812_status_port_0_r },
   873: 	{ 0x3b, 0x3b, MRA_NOP }, // unknown read port
   874: 	{ 0x3d, 0x3d, MRA_NOP }, // unknown read port
   875: 	{ 0x7b, 0x7b, MRA_NOP }, // unknown read port
   876: PORT_END
   877: 
   878: static PORT_WRITE_START( tnexspce_sound_writeport )
   879: 	{ 0x00, 0x00, YM3812_control_port_0_w },
   880: 	{ 0x20, 0x20, YM3812_write_port_0_w },
   881: PORT_END
   882: 
   883: /******************************************************************************/
   884: 
   885: #define ALPHA68K_PLAYER_INPUT_LSB( player, button3, start, active ) \ 
   886: 	PORT_BIT( 0x0001, active, IPT_JOYSTICK_UP    | player ) \
   887: 	PORT_BIT( 0x0002, active, IPT_JOYSTICK_DOWN  | player ) \
   888: 	PORT_BIT( 0x0004, active, IPT_JOYSTICK_LEFT  | player ) \
   889: 	PORT_BIT( 0x0008, active, IPT_JOYSTICK_RIGHT | player ) \
   890: 	PORT_BIT( 0x0010, active, IPT_BUTTON1        | player ) \
   891: 	PORT_BIT( 0x0020, active, IPT_BUTTON2        | player ) \
   892: 	PORT_BIT( 0x0040, active, button3            | player ) \
   893: 	PORT_BIT( 0x0080, active, start )
   894: 
   895: #define ALPHA68K_PLAYER_INPUT_MSB( player, button3, start, active ) \ 
   896: 	PORT_BIT( 0x0100, active, IPT_JOYSTICK_UP    | player ) \
   897: 	PORT_BIT( 0x0200, active, IPT_JOYSTICK_DOWN  | player ) \
   898: 	PORT_BIT( 0x0400, active, IPT_JOYSTICK_LEFT  | player ) \
   899: 	PORT_BIT( 0x0800, active, IPT_JOYSTICK_RIGHT | player ) \
   900: 	PORT_BIT( 0x1000, active, IPT_BUTTON1        | player ) \
   901: 	PORT_BIT( 0x2000, active, IPT_BUTTON2        | player ) \
   902: 	PORT_BIT( 0x4000, active, button3            | player ) \
   903: 	PORT_BIT( 0x8000, active, start )
   904: 
   905: #define ALPHA68K_PLAYER_INPUT_SWAP_LR_LSB( player, button3, start, active ) \ 
   906: 	PORT_BIT( 0x0001, active, IPT_JOYSTICK_UP    | player ) \
   907: 	PORT_BIT( 0x0002, active, IPT_JOYSTICK_DOWN  | player ) \
   908: 	PORT_BIT( 0x0004, active, IPT_JOYSTICK_RIGHT | player ) \
   909: 	PORT_BIT( 0x0008, active, IPT_JOYSTICK_LEFT  | player ) \
   910: 	PORT_BIT( 0x0010, active, IPT_BUTTON1        | player ) \
   911: 	PORT_BIT( 0x0020, active, IPT_BUTTON2        | player ) \
   912: 	PORT_BIT( 0x0040, active, button3            | player ) \
   913: 	PORT_BIT( 0x0080, active, start )
   914: 
   915: #define ALPHA68K_PLAYER_INPUT_SWAP_LR_MSB( player, button3, start, active ) \ 
   916: 	PORT_BIT( 0x0100, active, IPT_JOYSTICK_UP    | player ) \
   917: 	PORT_BIT( 0x0200, active, IPT_JOYSTICK_DOWN  | player ) \
   918: 	PORT_BIT( 0x0400, active, IPT_JOYSTICK_RIGHT | player ) \
   919: 	PORT_BIT( 0x0800, active, IPT_JOYSTICK_LEFT  | player ) \
   920: 	PORT_BIT( 0x1000, active, IPT_BUTTON1        | player ) \
   921: 	PORT_BIT( 0x2000, active, IPT_BUTTON2        | player ) \
   922: 	PORT_BIT( 0x4000, active, button3            | player ) \
   923: 	PORT_BIT( 0x8000, active, start )
   924: 
   925: #define ALPHA68K_COINAGE_BITS_0TO2 \ 
   926: 	PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coinage ) )	\
   927: 	PORT_DIPSETTING(    0x07, "A 1C/1C B 1C/1C" )	\
   928: 	PORT_DIPSETTING(    0x06, "A 1C/2C B 2C/1C" )	\
   929: 	PORT_DIPSETTING(    0x05, "A 1C/3C B 3C/1C" )	\
   930: 	PORT_DIPSETTING(    0x04, "A 1C/4C B 4C/1C" )	\
   931: 	PORT_DIPSETTING(    0x03, "A 1C/5C B 5C/1C" )	\
   932: 	PORT_DIPSETTING(    0x02, "A 1C/6C B 6C/1C" )	\
   933: 	PORT_DIPSETTING(    0x01, "A 2C/3C B 7C/1C" )	\
   934: 	PORT_DIPSETTING(    0x00, "A 3C/2C B 8C/1C" )	\
   935: 
   936: #define ALPHA68K_COINAGE_BITS_1TO3 \ 
   937: 	PORT_DIPNAME( 0x0e, 0x0e, DEF_STR( Coinage ) )	\
   938: 	PORT_DIPSETTING(    0x0e, "A 1C/1C B 1C/1C" )	\
   939: 	PORT_DIPSETTING(    0x06, "A 1C/2C B 2C/1C" )	\
   940: 	PORT_DIPSETTING(    0x0a, "A 1C/3C B 3C/1C" )	\
   941: 	PORT_DIPSETTING(    0x02, "A 1C/4C B 4C/1C" )	\
   942: 	PORT_DIPSETTING(    0x0c, "A 1C/5C B 5C/1C" )	\
   943: 	PORT_DIPSETTING(    0x04, "A 1C/6C B 6C/1C" )	\
   944: 	PORT_DIPSETTING(    0x08, "A 2C/3C B 7C/1C" )	\
   945: 	PORT_DIPSETTING(    0x00, "A 3C/2C B 8C/1C" )
   946: 
   947: #define ALPHA68K_COINAGE_BITS_2TO4 \ 
   948: 	PORT_DIPNAME( 0x1c, 0x1c, DEF_STR( Coinage ) )	\
   949: 	PORT_DIPSETTING(    0x1c, "A 1C/1C B 1C/1C" )	\
   950: 	PORT_DIPSETTING(    0x18, "A 1C/2C B 2C/1C" )	\
   951: 	PORT_DIPSETTING(    0x14, "A 1C/3C B 3C/1C" )	\
   952: 	PORT_DIPSETTING(    0x10, "A 1C/4C B 4C/1C" )	\
   953: 	PORT_DIPSETTING(    0x0c, "A 1C/5C B 5C/1C" )	\
   954: 	PORT_DIPSETTING(    0x08, "A 1C/6C B 6C/1C" )	\
   955: 	PORT_DIPSETTING(    0x04, "A 2C/3C B 7C/1C" )	\
   956: 	PORT_DIPSETTING(    0x00, "A 3C/2C B 8C/1C" )
   957: 
   958: 
   959: INPUT_PORTS_START( sstingry )
   960: 	PORT_START
   961: 	ALPHA68K_PLAYER_INPUT_SWAP_LR_LSB( IPF_PLAYER1, IPT_UNKNOWN, IPT_START1, IP_ACTIVE_HIGH )
   962: 	ALPHA68K_PLAYER_INPUT_SWAP_LR_MSB( IPF_PLAYER2, IPT_UNKNOWN, IPT_START2, IP_ACTIVE_HIGH )
   963: 
   964: 	PORT_START
   965: 	PORT_DIPNAME( 0x01, 0x01, DEF_STR( Demo_Sounds ) )
   966: 	PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
   967: 	PORT_DIPSETTING(    0x01, DEF_STR( On ) )
   968: 	ALPHA68K_COINAGE_BITS_1TO3
   969: 	PORT_DIPNAME( 0x30, 0x00, DEF_STR( Lives ) )
   970: 	PORT_DIPSETTING(    0x00, "3" )
   971: 	PORT_DIPSETTING(    0x10, "4" )
   972: 	PORT_DIPSETTING(    0x20, "5" )
   973: 	PORT_DIPSETTING(    0x30, "6" )
   974: 	PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unused ) )
   975: 	PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
   976: 	PORT_DIPSETTING(    0x40, DEF_STR( On ) )
   977: 	PORT_DIPNAME( 0x80, 0x00, DEF_STR( Cabinet ) )
   978: 	PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
   979: 	PORT_DIPSETTING(    0x80, DEF_STR( Cocktail ) )
   980: 
   981: 	PORT_START  /* Coin input to microcontroller */
   982: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
   983: 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
   984: INPUT_PORTS_END
   985: 
   986: INPUT_PORTS_START( kyros )
   987: 	PORT_START
   988: 	ALPHA68K_PLAYER_INPUT_SWAP_LR_LSB( IPF_PLAYER1, IPT_UNKNOWN, IPT_START1, IP_ACTIVE_HIGH )
   989: 	ALPHA68K_PLAYER_INPUT_SWAP_LR_MSB( IPF_PLAYER2, IPT_UNKNOWN, IPT_START2, IP_ACTIVE_HIGH )
   990: 
   991: 	PORT_START  /* dipswitches */
   992: 	PORT_DIPNAME( 0x01, 0x00, DEF_STR( Demo_Sounds ) )
   993: 	PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
   994: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
   995: 	ALPHA68K_COINAGE_BITS_1TO3
   996: 	PORT_DIPNAME( 0x30, 0x00, DEF_STR( Lives ) )
   997: 	PORT_DIPSETTING(    0x00, "3" )
   998: 	PORT_DIPSETTING(    0x10, "4" )
   999: 	PORT_DIPSETTING(    0x20, "5" )
  1000: 	PORT_DIPSETTING(    0x30, "6" )
  1001: 	PORT_DIPNAME( 0x40, 0x00, DEF_STR( Difficulty ) )
  1002: 	PORT_DIPSETTING(    0x00, "Easy" )
  1003: 	PORT_DIPSETTING(    0x40, "Hard" )
  1004: 	PORT_DIPNAME( 0x80, 0x80, DEF_STR( Cabinet ) )
  1005: 	PORT_DIPSETTING(    0x80, DEF_STR( Upright ) )
  1006: 	PORT_DIPSETTING(    0x00, DEF_STR( Cocktail ) )
  1007: 
  1008: 	PORT_START /* Coin input to microcontroller */
  1009: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
  1010: 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
  1011: INPUT_PORTS_END
  1012: 
  1013: INPUT_PORTS_START( paddlema )
  1014: 	PORT_START	// control port 0 (bottom players)
  1015: 	ALPHA68K_PLAYER_INPUT_LSB( IPF_PLAYER1, IPT_UNKNOWN, IPT_UNKNOWN, IP_ACTIVE_LOW )
  1016: 	ALPHA68K_PLAYER_INPUT_MSB( IPF_PLAYER2, IPT_UNKNOWN, IPT_UNKNOWN, IP_ACTIVE_LOW )
  1017: 
  1018: 	PORT_START	// control port 1
  1019: 	PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
  1020: 	PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
  1021: 	PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1022: 	PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1023: 	PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1024: 	PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1025: 	PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1026: 	PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1027: 	PORT_BITX(0x0100, IP_ACTIVE_LOW, IPT_START1, "Button A (Start)", IP_KEY_DEFAULT, IP_JOY_DEFAULT )
  1028: 	PORT_BITX(0x0200, IP_ACTIVE_LOW, IPT_START2, "Button B (Start)", IP_KEY_DEFAULT, IP_JOY_DEFAULT )
  1029: 	PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1030: 	PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1031: 	PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1032: 	PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_SERVICE2 )			// "Test" ?
  1033: 	PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_SERVICE1 )
  1034: 	PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1035: 
  1036: 	PORT_START	// control port 2 (top players)
  1037: 	ALPHA68K_PLAYER_INPUT_LSB( IPF_PLAYER3, IPT_UNKNOWN, IPT_UNKNOWN, IP_ACTIVE_LOW )
  1038: 	ALPHA68K_PLAYER_INPUT_MSB( IPF_PLAYER4, IPT_UNKNOWN, IPT_UNKNOWN, IP_ACTIVE_LOW )
  1039: 
  1040: 	PORT_START	// DSW0
  1041: 	PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coin_B ) )
  1042: 	PORT_DIPSETTING(    0x03, DEF_STR( 1C_2C ) )
  1043: 	PORT_DIPSETTING(    0x01, DEF_STR( 1C_3C ) )
  1044: 	PORT_DIPSETTING(    0x02, DEF_STR( 1C_4C ) )
  1045: 	PORT_DIPSETTING(    0x00, DEF_STR( 1C_6C ) )
  1046: 	PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Coin_A ) )
  1047: 	PORT_DIPSETTING(    0x0c, DEF_STR( 4C_1C ) )
  1048: 	PORT_DIPSETTING(    0x04, DEF_STR( 3C_1C ) )
  1049: 	PORT_DIPSETTING(    0x08, DEF_STR( 2C_1C ) )
  1050: 	PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
  1051: 	PORT_DIPNAME( 0x30, 0x30, "Game Time" )				// See notes
  1052: 	PORT_DIPSETTING(    0x00, "1:00" )
  1053: 	PORT_DIPSETTING(    0x20, "1:10" )
  1054: 	PORT_DIPSETTING(    0x10, "1:20" )
  1055: 	PORT_DIPSETTING(    0x30, "1:30" )
  1056: 	PORT_DIPNAME( 0xc0, 0x40, "Match Type" )
  1057: 	PORT_DIPSETTING(    0x80, "A to B" )
  1058: 	PORT_DIPSETTING(    0x00, "A to C" )
  1059: 	PORT_DIPSETTING(    0x40, "A to E" )
  1060: //	PORT_DIPSETTING(    0xc0, "A to B" )				// Possibility of "A only" in another version ?
  1061: 
  1062: 	PORT_START	// DSW1
  1063: 	PORT_SERVICE( 0x01, IP_ACTIVE_HIGH )
  1064: 	PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unused ) )
  1065: 	PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
  1066: 	PORT_DIPSETTING(    0x02, DEF_STR( On ) )
  1067: 	PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) )
  1068: 	PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
  1069: 	PORT_DIPSETTING(    0x04, DEF_STR( On ) )
  1070: 	PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unused ) )
  1071: 	PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
  1072: 	PORT_DIPSETTING(    0x08, DEF_STR( On ) )
  1073: 	PORT_DIPNAME( 0x30, 0x00, "Game Mode" )
  1074: 	PORT_DIPSETTING(    0x20, "Demo Sounds Off" )
  1075: 	PORT_DIPSETTING(    0x00, "Demo Sounds On" )
  1076: 	PORT_BITX( 0,       0x10, IPT_DIPSWITCH_SETTING | IPF_CHEAT, "Win Match Against CPU", IP_KEY_NONE, IP_JOY_NONE )
  1077: 	PORT_DIPSETTING(    0x30, "Freeze" )
  1078: 	PORT_DIPNAME( 0x40, 0x00, "Language" )
  1079: 	PORT_DIPSETTING(    0x00, "English" )
  1080: 	PORT_DIPSETTING(    0x40, "Japanese" )
  1081: 	PORT_DIPNAME( 0x80, 0x00, "Allow Continue" )
  1082: 	PORT_DIPSETTING(    0x80, DEF_STR( No ) )
  1083: 	PORT_DIPSETTING(    0x00, DEF_STR( Yes ) )
  1084: INPUT_PORTS_END
  1085: 
  1086: INPUT_PORTS_START( timesold )
  1087: 	PORT_START
  1088: 	ALPHA68K_PLAYER_INPUT_LSB( IPF_PLAYER1, IPT_UNKNOWN, IPT_START1, IP_ACTIVE_LOW )
  1089: 
  1090: 	PORT_START
  1091: 	ALPHA68K_PLAYER_INPUT_LSB( IPF_PLAYER2, IPT_UNKNOWN, IPT_START2, IP_ACTIVE_LOW )
  1092: 
  1093: 	PORT_START  /* Coin input to microcontroller */
  1094: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
  1095: 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
  1096: 
  1097: 	PORT_START  /* Service + dip */
  1098: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE1 )
  1099: 	PORT_BITX(0x02, IP_ACTIVE_LOW, IPT_SERVICE, DEF_STR( Service_Mode ), KEYCODE_F2, IP_JOY_NONE )
  1100: 
  1101: 	/* 2 physical sets of _6_ dip switches */
  1102: 	PORT_DIPNAME( 0x04, 0x04, DEF_STR( Flip_Screen ) )
  1103: 	PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
  1104: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1105: 	PORT_DIPNAME( 0x18, 0x18, DEF_STR( Difficulty ) )
  1106: 	PORT_DIPSETTING(    0x00, "Easy" )
  1107: 	PORT_DIPSETTING(    0x18, "Normal" )
  1108: //	PORT_DIPSETTING(    0x08, "Normal" )
  1109: 	PORT_DIPSETTING(    0x10, "Hard" )					// "Difficult"
  1110: 	PORT_DIPNAME( 0x20, 0x00, "Language" )
  1111: 	PORT_DIPSETTING(    0x00, "English" )
  1112: 	PORT_DIPSETTING(    0x20, "Japanese" )
  1113: 	PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unused ) )			// See notes
  1114: 	PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
  1115: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1116: 	PORT_BITX(    0x80, 0x80, IPT_DIPSWITCH_NAME | IPF_CHEAT, "Invulnerability", IP_KEY_NONE, IP_JOY_NONE )
  1117: 	PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
  1118: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1119: 
  1120: 	PORT_START /* A 6 way dip switch */
  1121: 	ALPHA68K_COINAGE_BITS_0TO2
  1122: 	PORT_DIPNAME( 0x08, 0x00, DEF_STR( Demo_Sounds ) )
  1123: 	PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
  1124: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1125: 	PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) )
  1126: 	PORT_DIPSETTING(    0x30, "3" )
  1127: 	PORT_DIPSETTING(    0x20, "4" )
  1128: 	PORT_DIPSETTING(    0x10, "5" )
  1129: 	PORT_DIPSETTING(    0x00, "6" )
  1130: 	PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
  1131: 
  1132: 	PORT_START  /* player 1 12-way rotary control - converted in controls_r() */
  1133: 	PORT_ANALOGX( 0xff, 0x00, IPT_DIAL | IPF_REVERSE, 25, 8, 0, 0, KEYCODE_Z, KEYCODE_X, 0, 0 )
  1134: 
  1135: 	PORT_START  /* player 2 12-way rotary control - converted in controls_r() */
  1136: 	PORT_ANALOGX( 0xff, 0x00, IPT_DIAL | IPF_REVERSE | IPF_PLAYER2, 25, 8, 0, 0, KEYCODE_N, KEYCODE_M, 0, 0 )
  1137: INPUT_PORTS_END
  1138: 
  1139: /* Same as 'timesold' but different default settings for the "Language" Dip Switch */
  1140: INPUT_PORTS_START( btlfield )
  1141: 	PORT_START
  1142: 	ALPHA68K_PLAYER_INPUT_LSB( IPF_PLAYER1, IPT_UNKNOWN, IPT_START1, IP_ACTIVE_LOW )
  1143: 
  1144: 	PORT_START
  1145: 	ALPHA68K_PLAYER_INPUT_LSB( IPF_PLAYER2, IPT_UNKNOWN, IPT_START2, IP_ACTIVE_LOW )
  1146: 
  1147: 	PORT_START  /* Coin input to microcontroller */
  1148: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
  1149: 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
  1150: 
  1151: 	PORT_START  /* Service + dip */
  1152: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE1 )
  1153: 	PORT_BITX(0x02, IP_ACTIVE_LOW, IPT_SERVICE, DEF_STR( Service_Mode ), KEYCODE_F2, IP_JOY_NONE )
  1154: 
  1155: 	/* 2 physical sets of _6_ dip switches */
  1156: 	PORT_DIPNAME( 0x04, 0x04, DEF_STR( Flip_Screen ) )
  1157: 	PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
  1158: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1159: 	PORT_DIPNAME( 0x18, 0x18, DEF_STR( Difficulty ) )
  1160: 	PORT_DIPSETTING(    0x00, "Easy" )
  1161: 	PORT_DIPSETTING(    0x18, "Normal" )
  1162: //	PORT_DIPSETTING(    0x08, "Normal" )
  1163: 	PORT_DIPSETTING(    0x10, "Hard" )					// "Difficult"
  1164: 	PORT_DIPNAME( 0x20, 0x20, "Language" )
  1165: 	PORT_DIPSETTING(    0x00, "English" )
  1166: 	PORT_DIPSETTING(    0x20, "Japanese" )
  1167: 	PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unused ) )			// See notes
  1168: 	PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
  1169: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1170: 	PORT_BITX(    0x80, 0x80, IPT_DIPSWITCH_NAME | IPF_CHEAT, "Invulnerability", IP_KEY_NONE, IP_JOY_NONE )
  1171: 	PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
  1172: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1173: 
  1174: 	PORT_START /* A 6 way dip switch */
  1175: 	ALPHA68K_COINAGE_BITS_0TO2
  1176: 	PORT_DIPNAME( 0x08, 0x00, DEF_STR( Demo_Sounds ) )
  1177: 	PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
  1178: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1179: 	PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) )
  1180: 	PORT_DIPSETTING(    0x30, "3" )
  1181: 	PORT_DIPSETTING(    0x20, "4" )
  1182: 	PORT_DIPSETTING(    0x10, "5" )
  1183: 	PORT_DIPSETTING(    0x00, "6" )
  1184: 	PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
  1185: 
  1186: 	PORT_START  /* player 1 12-way rotary control - converted in controls_r() */
  1187: 	PORT_ANALOGX( 0xff, 0x00, IPT_DIAL | IPF_REVERSE, 25, 8, 0, 0, KEYCODE_Z, KEYCODE_X, 0, 0 )
  1188: 
  1189: 	PORT_START  /* player 2 12-way rotary control - converted in controls_r() */
  1190: 	PORT_ANALOGX( 0xff, 0x00, IPT_DIAL | IPF_REVERSE | IPF_PLAYER2, 25, 8, 0, 0, KEYCODE_N, KEYCODE_M, 0, 0 )
  1191: INPUT_PORTS_END
  1192: 
  1193: INPUT_PORTS_START( skysoldr )
  1194: 	PORT_START
  1195: 	ALPHA68K_PLAYER_INPUT_LSB( IPF_PLAYER1, IPT_UNKNOWN, IPT_START1, IP_ACTIVE_LOW )
  1196: 
  1197: 	PORT_START
  1198: 	ALPHA68K_PLAYER_INPUT_LSB( IPF_PLAYER2, IPT_UNKNOWN, IPT_START2, IP_ACTIVE_LOW )
  1199: 
  1200: 	PORT_START  /* Coin input to microcontroller */
  1201: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
  1202: 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
  1203: 
  1204: 	PORT_START  /* Service + dip */
  1205: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE1 )
  1206: 	PORT_BITX(0x02, IP_ACTIVE_LOW, IPT_SERVICE, DEF_STR( Service_Mode ), KEYCODE_F2, IP_JOY_NONE )
  1207: 
  1208: 	/* 2 physical sets of _6_ dip switches */
  1209: 	PORT_DIPNAME( 0x04, 0x04, DEF_STR( Flip_Screen ) )
  1210: 	PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
  1211: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1212: 	PORT_DIPNAME( 0x18, 0x18, DEF_STR( Difficulty ) )
  1213: 	PORT_DIPSETTING(    0x08, "Easy" )					// "1"
  1214: 	PORT_DIPSETTING(    0x10, "Normal" )				// "2"
  1215: 	PORT_DIPSETTING(    0x18, "Hard" )					// "3"
  1216: 	PORT_DIPSETTING(    0x00, "Hardest" )				// "4"
  1217: 	PORT_DIPNAME( 0x20, 0x00, "Language" )
  1218: 	PORT_DIPSETTING(    0x00, "English" )
  1219: 	PORT_DIPSETTING(    0x20, "Japanese" )
  1220: 	PORT_DIPNAME( 0x40, 0x40, "Manufacturer" )			// See notes
  1221: 	PORT_DIPSETTING(    0x40, "SNK" )
  1222: 	PORT_DIPSETTING(    0x00, "Romstar" )
  1223: 	PORT_BITX(    0x80, 0x80, IPT_DIPSWITCH_NAME | IPF_CHEAT, "Invulnerability", IP_KEY_NONE, IP_JOY_NONE )
  1224: 	PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
  1225: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1226: 
  1227: 	PORT_START /* A 6 way dip switch */
  1228: 	ALPHA68K_COINAGE_BITS_0TO2
  1229: 	PORT_DIPNAME( 0x08, 0x00, DEF_STR( Demo_Sounds ) )
  1230: 	PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
  1231: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1232: 	PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) )
  1233: 	PORT_DIPSETTING(    0x30, "3" )
  1234: 	PORT_DIPSETTING(    0x20, "4" )
  1235: 	PORT_DIPSETTING(    0x10, "5" )
  1236: 	PORT_DIPSETTING(    0x00, "6" )
  1237: 	PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
  1238: 
  1239: 	PORT_START  /* player 1 12-way rotary control */
  1240: 	PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
  1241: 
  1242: 	PORT_START  /* player 2 12-way rotary control */
  1243: 	PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
  1244: INPUT_PORTS_END
  1245: 
  1246: INPUT_PORTS_START( goldmedl )
  1247: 	PORT_START  /* 3 buttons per player, no joystick */
  1248: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
  1249: 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
  1250: 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
  1251: 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
  1252: 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER1 )
  1253: 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER2 )
  1254: 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* START3 is mapped elsewhere */
  1255: 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
  1256: 
  1257: 	PORT_START  /* 3 buttons per player, no joystick */
  1258: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER3 )
  1259: 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER3 )
  1260: 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER4 )
  1261: 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER4 )
  1262: 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER3 )
  1263: 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER4 )
  1264: 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START4 )
  1265: 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
  1266: 
  1267: 	PORT_START  /* Coin input to microcontroller */
  1268: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
  1269: 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
  1270: 
  1271: 	PORT_START  /* Service + dip */
  1272: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE1 )
  1273: 	PORT_BITX(0x02, IP_ACTIVE_LOW, IPT_SERVICE, DEF_STR( Service_Mode ), KEYCODE_F2, IP_JOY_NONE )
  1274: 
  1275: 	/* 2 physical sets of _6_ dip switches */
  1276: 	PORT_DIPNAME( 0x04, 0x00, "Event Select" )
  1277: 	PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
  1278: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1279: 	PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
  1280: 	PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
  1281: 	PORT_DIPSETTING(    0x08, DEF_STR( Cocktail ) )
  1282: 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START3 )
  1283: 	PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )		// Called before "100m Dash" - Code at 0x005860
  1284: 	PORT_DIPSETTING(    0x20, DEF_STR( Off ) )		// Table at 0x02ce34
  1285: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )			// Table at 0x02ce52
  1286: 	PORT_DIPNAME( 0x40, 0x40, "Watch Computer Play" )
  1287: 	PORT_DIPSETTING(    0x00, DEF_STR( No ) )
  1288: 	PORT_DIPSETTING(    0x40, DEF_STR( Yes ) )
  1289: 	PORT_DIPNAME( 0x80, 0x80, "Maximum Players" )
  1290: 	PORT_DIPSETTING(    0x00, "2" )
  1291: 	PORT_DIPSETTING(    0x80, "4" )
  1292: 
  1293: 	PORT_START /* A 6 way dip switch */
  1294: 	PORT_DIPNAME( 0x03, 0x02, DEF_STR( Difficulty ) )
  1295: 	PORT_DIPSETTING(    0x03, "Easy" )
  1296: 	PORT_DIPSETTING(    0x02, "Normal" )
  1297: 	PORT_DIPSETTING(    0x01, "Hard" )
  1298: 	PORT_DIPSETTING(    0x00, "Very Hard" )
  1299: 	ALPHA68K_COINAGE_BITS_2TO4
  1300: 	PORT_DIPNAME( 0x20, 0x00, DEF_STR( Demo_Sounds ) )
  1301: 	PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
  1302: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1303: 	PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
  1304: 
  1305: 	PORT_START  /* player 1 12-way rotary control */
  1306: 	PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
  1307: 
  1308: 	PORT_START  /* player 2 12-way rotary control */
  1309: 	PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
  1310: INPUT_PORTS_END
  1311: 
  1312: INPUT_PORTS_START( skyadvnt )
  1313: 	PORT_START
  1314: 	ALPHA68K_PLAYER_INPUT_LSB( IPF_PLAYER1, IPT_UNKNOWN, IPT_START1, IP_ACTIVE_LOW )
  1315: 
  1316: 	PORT_START
  1317: 	ALPHA68K_PLAYER_INPUT_LSB( IPF_PLAYER2, IPT_UNKNOWN, IPT_START2, IP_ACTIVE_LOW )
  1318: 
  1319: 	PORT_START  /* Coin input to microcontroller */
  1320: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
  1321: 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
  1322: 
  1323: 	PORT_START  /* Service + dip */
  1324: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE1 )
  1325: 	PORT_BITX(0x02, IP_ACTIVE_LOW, IPT_SERVICE, DEF_STR( Service_Mode ), KEYCODE_F2, IP_JOY_NONE )
  1326: 
  1327: 	/* 2 physical sets of _6_ dip switches */
  1328: 	PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) )
  1329: 	PORT_DIPSETTING(    0x08, "2" )
  1330: 	PORT_DIPSETTING(    0x0c, "3" )
  1331: 	PORT_DIPSETTING(    0x04, "4" )
  1332: 	PORT_DIPSETTING(    0x00, "5" )
  1333: 	PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unused ) )		// See notes
  1334: 	PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
  1335: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1336: 	PORT_DIPNAME( 0x60, 0x60, DEF_STR( Difficulty ) )	// See notes
  1337: 	PORT_DIPSETTING(    0x40, "Easy" )
  1338: 	PORT_DIPSETTING(    0x60, "Normal" )
  1339: 	PORT_DIPSETTING(    0x20, "Hard" )
  1340: 	PORT_DIPSETTING(    0x00, "Hardest" )
  1341: 	PORT_DIPNAME( 0x80, 0x80, DEF_STR( Demo_Sounds ) )
  1342: 	PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
  1343: 	PORT_DIPSETTING(    0x80, DEF_STR( On ) )
  1344: 
  1345: 	PORT_START /* A 6 way dip switch */
  1346: 	PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unused ) )
  1347: 	PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
  1348: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1349: 	ALPHA68K_COINAGE_BITS_1TO3
  1350: 	PORT_DIPNAME( 0x10, 0x10, DEF_STR( Flip_Screen ) )
  1351: 	PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
  1352: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1353: 	PORT_DIPNAME( 0x20, 0x20, "Freeze" )
  1354: 	PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
  1355: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1356: 	PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
  1357: INPUT_PORTS_END
  1358: 
  1359: /* Same as 'skyadvnt' but bits 0-3 of 2nd set of Dip Switches are different */
  1360: INPUT_PORTS_START( skyadvnu )
  1361: 	PORT_START
  1362: 	ALPHA68K_PLAYER_INPUT_LSB( IPF_PLAYER1, IPT_UNKNOWN, IPT_START1, IP_ACTIVE_LOW )
  1363: 
  1364: 	PORT_START
  1365: 	ALPHA68K_PLAYER_INPUT_LSB( IPF_PLAYER2, IPT_UNKNOWN, IPT_START2, IP_ACTIVE_LOW )
  1366: 
  1367: 	PORT_START  /* Coin input to microcontroller */
  1368: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
  1369: 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
  1370: 
  1371: 	PORT_START  /* Service + dip */
  1372: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE1 )
  1373: 	PORT_BITX(0x02, IP_ACTIVE_LOW, IPT_SERVICE, DEF_STR( Service_Mode ), KEYCODE_F2, IP_JOY_NONE )
  1374: 
  1375: 	/* 2 physical sets of _6_ dip switches */
  1376: 	PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) )
  1377: 	PORT_DIPSETTING(    0x08, "2" )
  1378: 	PORT_DIPSETTING(    0x0c, "3" )
  1379: 	PORT_DIPSETTING(    0x04, "4" )
  1380: 	PORT_DIPSETTING(    0x00, "5" )
  1381: 	PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unused ) )		// See notes
  1382: 	PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
  1383: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1384: 	PORT_DIPNAME( 0x60, 0x60, DEF_STR( Difficulty ) )	// See notes
  1385: 	PORT_DIPSETTING(    0x40, "Easy" )
  1386: 	PORT_DIPSETTING(    0x60, "Normal" )
  1387: 	PORT_DIPSETTING(    0x20, "Hard" )
  1388: 	PORT_DIPSETTING(    0x00, "Hardest" )
  1389: 	PORT_DIPNAME( 0x80, 0x80, DEF_STR( Demo_Sounds ) )
  1390: 	PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
  1391: 	PORT_DIPSETTING(    0x80, DEF_STR( On ) )
  1392: 
  1393: 	PORT_START /* A 6 way dip switch */
  1394: 	PORT_DIPNAME( 0x01, 0x00, "Price to Continue" )
  1395: 	PORT_DIPSETTING(    0x01, DEF_STR( 1C_1C ) )
  1396: 	PORT_DIPSETTING(    0x00, "Same as Start" )
  1397: 	PORT_DIPNAME( 0x02, 0x02, "Allow Continue" )
  1398: 	PORT_DIPSETTING(    0x00, DEF_STR( No ) )
  1399: 	PORT_DIPSETTING(    0x02, DEF_STR( Yes ) )
  1400: 	PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Coinage ) )
  1401: 	PORT_DIPSETTING(    0x04, DEF_STR( 2C_1C ) )
  1402: 	PORT_DIPSETTING(    0x0c, DEF_STR( 1C_1C ) )
  1403: 	PORT_DIPSETTING(    0x08, DEF_STR( 1C_2C ) )
  1404: 	PORT_DIPSETTING(    0x00, DEF_STR( Free_Play ) )
  1405: 	PORT_DIPNAME( 0x10, 0x10, DEF_STR( Flip_Screen ) )
  1406: 	PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
  1407: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1408: 	PORT_DIPNAME( 0x20, 0x20, "Freeze" )
  1409: 	PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
  1410: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1411: 	PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
  1412: INPUT_PORTS_END
  1413: 
  1414: INPUT_PORTS_START( gangwars )
  1415: 	PORT_START
  1416: 	ALPHA68K_PLAYER_INPUT_LSB( IPF_PLAYER1, IPT_BUTTON3, IPT_START1, IP_ACTIVE_LOW )
  1417: 
  1418: 	PORT_START
  1419: 	ALPHA68K_PLAYER_INPUT_LSB( IPF_PLAYER2, IPT_BUTTON3, IPT_START2, IP_ACTIVE_LOW )
  1420: 
  1421: 	PORT_START  /* Coin input to microcontroller */
  1422: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
  1423: 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
  1424: 
  1425: 	PORT_START  /* Service + dip */
  1426: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE1 )
  1427: 	PORT_BITX(0x02, IP_ACTIVE_LOW, IPT_SERVICE, DEF_STR( Service_Mode ), KEYCODE_F2, IP_JOY_NONE )
  1428: 
  1429: 	/* 2 physical sets of _6_ dip switches */
  1430: 	PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) )
  1431: 	PORT_DIPSETTING(    0x08, "2" )
  1432: 	PORT_DIPSETTING(    0x0c, "3" )
  1433: 	PORT_DIPSETTING(    0x04, "4" )
  1434: 	PORT_DIPSETTING(    0x00, "5" )
  1435: 	PORT_DIPNAME( 0x10, 0x00, "Timer Speed" )		// Check code at 0x01923a
  1436: 	PORT_DIPSETTING(    0x00, "Normal" )		// 1 second = 0x01ff
  1437: 	PORT_DIPSETTING(    0x10, "Fast" )			// 1 second = 0x013f
  1438: 	PORT_DIPNAME( 0x60, 0x60, DEF_STR( Difficulty ) )
  1439: 	PORT_DIPSETTING(    0x40, "Easy" )
  1440: 	PORT_DIPSETTING(    0x60, "Normal" )
  1441: 	PORT_DIPSETTING(    0x20, "Hard" )
  1442: 	PORT_DIPSETTING(    0x00, "Hardest" )
  1443: 	PORT_DIPNAME( 0x80, 0x80, DEF_STR( Demo_Sounds ) )
  1444: 	PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
  1445: 	PORT_DIPSETTING(    0x80, DEF_STR( On ) )
  1446: 
  1447: 	PORT_START /* A 6 way dip switch */
  1448: 	PORT_DIPNAME( 0x01, 0x00, "Price to Continue" )
  1449: 	PORT_DIPSETTING(    0x01, DEF_STR( 1C_1C ) )
  1450: 	PORT_DIPSETTING(    0x00, "Same as Start" )
  1451: 	PORT_DIPNAME( 0x02, 0x02, "Allow Continue" )
  1452: 	PORT_DIPSETTING(    0x00, DEF_STR( No ) )
  1453: 	PORT_DIPSETTING(    0x02, DEF_STR( Yes ) )
  1454: 	PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Coinage ) )
  1455: 	PORT_DIPSETTING(    0x04, DEF_STR( 2C_1C ) )
  1456: 	PORT_DIPSETTING(    0x0c, DEF_STR( 1C_1C ) )
  1457: 	PORT_DIPSETTING(    0x08, DEF_STR( 1C_2C ) )
  1458: 	PORT_DIPSETTING(    0x00, DEF_STR( Free_Play ) )
  1459: 	PORT_DIPNAME( 0x10, 0x10, DEF_STR( Flip_Screen ) )
  1460: 	PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
  1461: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1462: 	PORT_DIPNAME( 0x20, 0x20, "Freeze" )
  1463: 	PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
  1464: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1465: 	PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
  1466: INPUT_PORTS_END
  1467: 
  1468: /* Same as 'gangwars' but bits 0-3 of 2nd set of Dip Switches are different */
  1469: INPUT_PORTS_START( gangwarb )
  1470: 	PORT_START
  1471: 	ALPHA68K_PLAYER_INPUT_LSB( IPF_PLAYER1, IPT_BUTTON3, IPT_START1, IP_ACTIVE_LOW )
  1472: 
  1473: 	PORT_START
  1474: 	ALPHA68K_PLAYER_INPUT_LSB( IPF_PLAYER2, IPT_BUTTON3, IPT_START2, IP_ACTIVE_LOW )
  1475: 
  1476: 	PORT_START  /* Coin input to microcontroller */
  1477: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
  1478: 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )	// See notes
  1479: 
  1480: 	PORT_START  /* Service + dip */
  1481: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE1 )
  1482: 	PORT_BITX(0x02, IP_ACTIVE_LOW, IPT_SERVICE, DEF_STR( Service_Mode ), KEYCODE_F2, IP_JOY_NONE )
  1483: 
  1484: 	/* 2 physical sets of _6_ dip switches */
  1485: 	PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) )
  1486: 	PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
  1487: 	PORT_DIPSETTING(    0x04, DEF_STR( On ) )
  1488: 	PORT_DIPNAME( 0x08, 0x08, DEF_STR( Lives ) )
  1489: 	PORT_DIPSETTING(    0x08, "3" )
  1490: 	PORT_DIPSETTING(    0x00, "4" )
  1491: 	PORT_DIPNAME( 0x10, 0x00, "Timer Speed" )		// Check code at 0x01923a
  1492: 	PORT_DIPSETTING(    0x00, "Normal" )		// 1 second = 0x01ff
  1493: 	PORT_DIPSETTING(    0x10, "Fast" )			// 1 second = 0x013f
  1494: 	PORT_DIPNAME( 0x60, 0x60, DEF_STR( Difficulty ) )
  1495: 	PORT_DIPSETTING(    0x40, "Easy" )
  1496: 	PORT_DIPSETTING(    0x60, "Normal" )
  1497: 	PORT_DIPSETTING(    0x20, "Hard" )
  1498: 	PORT_DIPSETTING(    0x00, "Hardest" )
  1499: 	PORT_DIPNAME( 0x80, 0x80, DEF_STR( Demo_Sounds ) )
  1500: 	PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
  1501: 	PORT_DIPSETTING(    0x80, DEF_STR( On ) )
  1502: 
  1503: 	PORT_START /* A 6 way dip switch */
  1504: 	PORT_DIPNAME( 0x01, 0x00, "Coin Slots" )
  1505: 	PORT_DIPSETTING(    0x00, "Common" )
  1506: 	PORT_DIPSETTING(    0x01, "Individual" )
  1507: 	PORT_DIPNAME( 0x0e, 0x0e, DEF_STR( Coinage ) )
  1508: 	PORT_DIPSETTING(    0x00, DEF_STR( 5C_1C ) )
  1509: 	PORT_DIPSETTING(    0x02, DEF_STR( 3C_1C ) )
  1510: 	PORT_DIPSETTING(    0x04, DEF_STR( 2C_1C ) )
  1511: 	PORT_DIPSETTING(    0x0e, DEF_STR( 1C_1C ) )
  1512: 	PORT_DIPSETTING(    0x0c, DEF_STR( 1C_2C ) )
  1513: 	PORT_DIPSETTING(    0x0a, DEF_STR( 1C_3C ) )
  1514: 	PORT_DIPSETTING(    0x08, DEF_STR( 1C_4C ) )
  1515: 	PORT_DIPSETTING(    0x06, DEF_STR( 1C_5C ) )
  1516: 	PORT_DIPNAME( 0x10, 0x10, DEF_STR( Flip_Screen ) )
  1517: 	PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
  1518: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1519: 	PORT_DIPNAME( 0x20, 0x20, "Freeze" )
  1520: 	PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
  1521: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1522: 	PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
  1523: INPUT_PORTS_END
  1524: 
  1525: INPUT_PORTS_START( sbasebal )
  1526: 	PORT_START
  1527: 	ALPHA68K_PLAYER_INPUT_LSB( IPF_PLAYER1, IPT_BUTTON3, IPT_START1, IP_ACTIVE_LOW )
  1528: 
  1529: 	PORT_START
  1530: 	ALPHA68K_PLAYER_INPUT_LSB( IPF_PLAYER2, IPT_BUTTON3, IPT_START2, IP_ACTIVE_LOW )
  1531: 
  1532: 	PORT_START  /* Coin input to microcontroller */
  1533: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
  1534: #if SBASEBAL_HACK 
  1535: 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
  1536: #else 
  1537: 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )	// COIN2 - unused due to code at 0x0002b4
  1538: #endif 
  1539: 
  1540: 	PORT_START  /* Service + dip */
  1541: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE1 )
  1542: 	PORT_BITX(0x02, IP_ACTIVE_LOW, IPT_SERVICE, DEF_STR( Service_Mode ), KEYCODE_F2, IP_JOY_NONE )
  1543: 
  1544: 	/* 2 physical sets of _6_ dip switches */
  1545: 	PORT_DIPNAME( 0x04, 0x04, "Freeze" )
  1546: 	PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
  1547: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1548: 	PORT_DIPNAME( 0x08, 0x08, DEF_STR( Flip_Screen ) )
  1549: 	PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
  1550: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1551: 	PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unused ) )
  1552: 	PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
  1553: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1554: 	PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )	// Check code at 0x0089e6
  1555: 	PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
  1556: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1557: 	PORT_DIPNAME( 0xc0, 0x80, "Game Time" )
  1558: #if SBASEBAL_HACK 
  1559: 	PORT_DIPSETTING(    0x00, "4:30" )
  1560: 	PORT_DIPSETTING(    0x80, "4:00" )
  1561: 	PORT_DIPSETTING(    0x40, "3:30" )
  1562: 	PORT_DIPSETTING(    0xc0, "3:00" )
  1563: #else 
  1564: 	PORT_DIPSETTING(    0x00, "3:30" )
  1565: 	PORT_DIPSETTING(    0x80, "3:00" )
  1566: 	PORT_DIPSETTING(    0x40, "2:30" )
  1567: 	PORT_DIPSETTING(    0xc0, "2:00" )
  1568: #endif 
  1569: 
  1570: 	PORT_START /* A 6 way dip switch */
  1571: 	PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )	// Check code at 0x009d3a
  1572: 	PORT_DIPSETTING(    0x02, "Easy" )
  1573: 	PORT_DIPSETTING(    0x03, "Normal" )
  1574: 	PORT_DIPSETTING(    0x01, "Hard" )
  1575: 	PORT_DIPSETTING(    0x00, "Hardest" )
  1576: #if SBASEBAL_HACK 
  1577: 	ALPHA68K_COINAGE_BITS_2TO4
  1578: #else 
  1579: 	PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Coinage ) )
  1580: 	PORT_DIPSETTING(    0x08, DEF_STR( 2C_1C ) )
  1581: 	PORT_DIPSETTING(    0x0c, DEF_STR( 1C_1C ) )
  1582: 	PORT_DIPSETTING(    0x04, DEF_STR( 1C_2C ) )
  1583: 	PORT_DIPSETTING(    0x00, DEF_STR( Free_Play ) )
  1584: 	PORT_DIPNAME( 0x10, 0x00, "Price to Continue" )
  1585: 	PORT_DIPSETTING(    0x10, DEF_STR( 1C_1C ) )
  1586: 	PORT_DIPSETTING(    0x00, "Same as Start" )
  1587: #endif 
  1588: 	PORT_DIPNAME( 0x20, 0x00, DEF_STR( Demo_Sounds ) )
  1589: 	PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
  1590: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1591: 	PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
  1592: INPUT_PORTS_END
  1593: 
  1594: INPUT_PORTS_START( tnexspce )
  1595: 	PORT_START
  1596: 	ALPHA68K_PLAYER_INPUT_LSB( IPF_PLAYER1, IPT_UNKNOWN, IPT_START1, IP_ACTIVE_LOW )
  1597: 
  1598: 	PORT_START
  1599: 	ALPHA68K_PLAYER_INPUT_LSB( IPF_PLAYER2, IPT_UNKNOWN, IPT_START2, IP_ACTIVE_LOW )
  1600: 
  1601: 	PORT_START
  1602: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
  1603: 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
  1604: 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
  1605: 	PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1606: 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1607: 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1608: 	PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1609: 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
  1610: 
  1611: 	PORT_START
  1612: 	PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) )
  1613: 	PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
  1614: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1615: 	PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unused ) )
  1616: 	PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
  1617: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1618: 	PORT_DIPNAME( 0x04, 0x04, "Bonus Life Occurence" )
  1619: 	PORT_DIPSETTING(    0x04, "1st and 2nd only" )
  1620: 	PORT_DIPSETTING(    0x00, "1st, 2nd, then every 2nd" )
  1621: 	PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unused ) )
  1622: 	PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
  1623: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  1624: 	PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coinage ) )
  1625: 	PORT_DIPSETTING(    0x30, "A 1C/1C B 1C/2C" )
  1626: 	PORT_DIPSETTING(    0x20, "A 2C/1C B 1C/3C" )
  1627: 	PORT_DIPSETTING(    0x10, "A 3C/1C B 1C/5C" )
  1628: 	PORT_DIPSETTING(    0x00, "A 4C/1C B 1C/6C" )
  1629: 	PORT_DIPNAME( 0xc0, 0x80, DEF_STR( Lives ) )
  1630: 	PORT_DIPSETTING(    0xc0, "2" )
  1631: 	PORT_DIPSETTING(    0x80, "3" )
  1632: 	PORT_DIPSETTING(    0x40, "4" )
  1633: 	PORT_DIPSETTING(    0x00, "5" )
  1634: 
  1635: 	PORT_START
  1636: 	PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
  1637: 	PORT_DIPSETTING(    0x02, "Easy" )
  1638: 	PORT_DIPSETTING(    0x03, "Normal" )
  1639: 	PORT_DIPSETTING(    0x01, "Hard" )
  1640: 	PORT_DIPSETTING(    0x00, "Hardest" )
  1641: 	PORT_DIPNAME( 0x0c, 0x0c, "Game Mode" )
  1642: 	PORT_DIPSETTING(    0x08, "Demo Sounds Off" )
  1643: 	PORT_DIPSETTING(    0x0c, "Demo Sounds On" )
  1644: 	PORT_BITX( 0,       0x04, IPT_DIPSWITCH_SETTING | IPF_CHEAT, "Infinite Lives", IP_KEY_NONE, IP_JOY_NONE )
  1645: 	PORT_DIPSETTING(    0x00, "Freeze" )
  1646: 	PORT_DIPNAME( 0x30, 0x30, DEF_STR( Bonus_Life ) )
  1647: 	PORT_DIPSETTING(    0x30, "100000 200000" )
  1648: 	PORT_DIPSETTING(    0x20, "150000 300000" )
  1649: 	PORT_DIPSETTING(    0x10, "300000 500000" )
  1650: 	PORT_DIPSETTING(    0x00, "None" )
  1651: 	PORT_DIPNAME( 0x40, 0x40, "Allow Continue" )
  1652: 	PORT_DIPSETTING(    0x00, DEF_STR( No ) )
  1653: 	PORT_DIPSETTING(    0x40, DEF_STR( Yes ) )
  1654: 	PORT_SERVICE( 0x80, IP_ACTIVE_LOW )
  1655: INPUT_PORTS_END
  1656: 
  1657: /******************************************************************************/
  1658: 
  1659: static struct GfxLayout charlayout =
  1660: {
  1661: 	8,8,    /* 8*8 chars */
  1662: 	2048,
  1663: 	4,      /* 4 bits per pixel  */
  1664: 	{ 0, 4, 0x8000*8, (0x8000*8)+4 },
  1665: 	{ 8*8+3, 8*8+2, 8*8+1, 8*8+0, 3, 2, 1, 0 },
  1666: 	{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
  1667: 	16*8    /* every char takes 8 consecutive bytes */
  1668: };
  1669: 
  1670: /* You wouldn't believe how long it took me to figure this one out.. */
  1671: static struct GfxLayout charlayout_V =
  1672: {
  1673: 	8,8,
  1674: 	2048,
  1675: 	4,  /* 4 bits per pixel */
  1676: 	{ 0,1,2,3 },
  1677: 	{ 16*8+4, 16*8+0, 24*8+4, 24*8+0, 4, 0, 8*8+4, 8*8+0 },
  1678: 	{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
  1679: 	32*8    /* every sprite takes 16 consecutive bytes */
  1680: };
  1681: 
  1682: static struct GfxLayout spritelayout =
  1683: {
  1684: 	16,16,  /* 16*16 sprites */
  1685: 	4096*4,
  1686: 	4,      /* 4 bits per pixel */
  1687: 	{ 0, 0x80000*8, 0x100000*8, 0x180000*8 },
  1688: 	{ 16*8+7, 16*8+6, 16*8+5, 16*8+4, 16*8+3, 16*8+2, 16*8+1, 16*8+0,
  1689: 	  7, 6, 5, 4, 3, 2, 1, 0 },
  1690: 	{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8,
  1691: 	  8*8, 9*8, 10*8, 11*8, 12*8, 13*8, 14*8, 15*8 },
  1692: 	8*32    /* every sprite takes 32 consecutive bytes */
  1693: };
  1694: 
  1695: static struct GfxLayout spritelayout_V =
  1696: {
  1697: 	16,16,  /* 16*16 sprites */
  1698: 	0x5000,
  1699: 	4,      /* 4 bits per pixel */
  1700: 	{ 0, 0xa0000*8, 0x140000*8, 0x1e0000*8 },
  1701: 	{ 16*8+7, 16*8+6, 16*8+5, 16*8+4, 16*8+3, 16*8+2, 16*8+1, 16*8+0,
  1702: 	  7, 6, 5, 4, 3, 2, 1, 0 },
  1703: 	{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8,
  1704: 	  8*8, 9*8, 10*8, 11*8, 12*8, 13*8, 14*8, 15*8 },
  1705: 	8*32    /* every sprite takes 32 consecutive bytes */
  1706: };
  1707: 
  1708: static struct GfxLayout tnexspce_layout =
  1709: {
  1710: 	8,8,    /* 8x8 */
  1711: 	RGN_FRAC(1,1),  /* Number of tiles */
  1712: 	4,      /* 4 bits per pixel */
  1713: 	{ 8,12,0,4 }, //AT: changed bit plane sequence
  1714: 	{ 8*16+3, 8*16+2, 8*16+1, 8*16+0, 3, 2, 1, 0 },
  1715: 	{ 0*16, 1*16, 2*16, 3*16, 4*16, 5*16, 6*16, 7*16 },
  1716: 	32*8 /* every char takes 32 consecutive bytes */
  1717: };
  1718: 
  1719: static struct GfxLayout paddle_layout =
  1720: {
  1721: 	8,8,    /* 8*8 chars */
  1722: 	0x4000,
  1723: 	4,      /* 4 bits per pixel */
  1724: 	{ 0, 4, 0x40000*8, 0x40000*8+4 },
  1725: 	{ 8*8+3, 8*8+2, 8*8+1, 8*8+0, 3, 2, 1, 0 },
  1726: 	{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
  1727: 	16*8    /* every char takes 16 consecutive bytes */
  1728: };
  1729: 
  1730: static struct GfxLayout sting_layout1 =
  1731: {
  1732: 	8,8,    /* 8*8 chars */
  1733: 	1024,
  1734: 	3,      /* 3 bits per pixel */
  1735: 	{ 4, 4+(0x8000*8), 0+(0x10000*4) },
  1736: 	{ 8*8+3, 8*8+2, 8*8+1, 8*8+0, 3, 2, 1, 0 },
  1737: 	{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
  1738: 	16*8    /* every char takes 16 consecutive bytes */
  1739: };
  1740: 
  1741: static struct GfxLayout sting_layout2 =
  1742: {
  1743: 	8,8,    /* 8*8 chars */
  1744: 	1024,
  1745: 	3,      /* 3 bits per pixel */
  1746: 	{ 0, 0+(0x28000*8), 4+(0x28000*8) },
  1747: 	{ 8*8+3, 8*8+2, 8*8+1, 8*8+0, 3, 2, 1, 0 },
  1748: 	{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
  1749: 	16*8    /* every char takes 16 consecutive bytes */
  1750: };
  1751: 
  1752: static struct GfxLayout sting_layout3 =
  1753: {
  1754: 	8,8,    /* 8*8 chars */
  1755: 	1024,
  1756: 	3,      /* 3 bits per pixel */
  1757: 	{ 0, 0+(0x10000*8), 4+(0x10000*8) },
  1758: 	{ 8*8+3, 8*8+2, 8*8+1, 8*8+0, 3, 2, 1, 0 },
  1759: 	{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
  1760: 	16*8    /* every char takes 16 consecutive bytes */
  1761: };
  1762: 
  1763: static struct GfxLayout kyros_char_layout1 =
  1764: {
  1765: 	8,8,    /* 8*8 chars */
  1766: 	0x8000/16,
  1767: 	3,  /* 3 bits per pixel */
  1768: 	{ 4,0x8000*8,0x8000*8+4 },
  1769: 	{ 8*8+3, 8*8+2, 8*8+1, 8*8+0, 3, 2, 1, 0 },
  1770: 	{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
  1771: 	16*8    /* every char takes 16 consecutive bytes */
  1772: };
  1773: 
  1774: static struct GfxLayout kyros_char_layout2 =
  1775: {
  1776: 	8,8,    /* 8*8 chars */
  1777: 	0x8000/16,
  1778: 	3,  /* 3 bits per pixel */
  1779: 	{ 0,0x10000*8,0x10000*8+4 },
  1780: 	{ 8*8+3, 8*8+2, 8*8+1, 8*8+0, 3, 2, 1, 0 },
  1781: 	{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
  1782: 	16*8    /* every char takes 16 consecutive bytes */
  1783: };
  1784: 
  1785: /******************************************************************************/
  1786: 
  1787: static struct GfxDecodeInfo alpha68k_II_gfxdecodeinfo[] =
  1788: {
  1789: 	{ REGION_GFX1, 0, &charlayout,   0,  16 },
  1790: 	{ REGION_GFX2, 0, &spritelayout, 0, 128 },
  1791: 	{ -1 } /* end of array */
  1792: };
  1793: 
  1794: static struct GfxDecodeInfo alpha68k_V_gfxdecodeinfo[] =
  1795: {
  1796: 	{ REGION_GFX1, 0, &charlayout_V,    0,  16 },
  1797: 	{ REGION_GFX2, 0, &spritelayout_V,  0, 256 },
  1798: 	{ -1 } /* end of array */
  1799: };
  1800: 
  1801: static struct GfxDecodeInfo paddle_gfxdecodeinfo[] =
  1802: {
  1803: 	{ REGION_GFX1, 0, &paddle_layout,  0, 64 },
  1804: 	{ -1 } /* end of array */
  1805: };
  1806: 
  1807: static struct GfxDecodeInfo tnexspce_gfxdecodeinfo[] =
  1808: {
  1809: 	{ REGION_GFX1, 0, &tnexspce_layout,  0, 64 },
  1810: 	{ -1 } /* end of array */
  1811: };
  1812: 
  1813: static struct GfxDecodeInfo sstingry_gfxdecodeinfo[] =
  1814: {
  1815: 	{ REGION_GFX1, 0x00000, &sting_layout1,  0, 32 },
  1816: 	{ REGION_GFX1, 0x00000, &sting_layout2,  0, 32 },
  1817: 	{ REGION_GFX1, 0x10000, &sting_layout1,  0, 32 },
  1818: 	{ REGION_GFX1, 0x10000, &sting_layout3,  0, 32 },
  1819: 	{ -1 } /* end of array */
  1820: };
  1821: 
  1822: static struct GfxDecodeInfo kyros_gfxdecodeinfo[] =
  1823: {
  1824: 	{ REGION_GFX1, 0x00000, &kyros_char_layout1,  0, 32 },
  1825: 	{ REGION_GFX1, 0x00000, &kyros_char_layout2,  0, 32 },
  1826: 	{ REGION_GFX1, 0x18000, &kyros_char_layout1,  0, 32 },
  1827: 	{ REGION_GFX1, 0x18000, &kyros_char_layout2,  0, 32 },
  1828: 	{ REGION_GFX1, 0x30000, &kyros_char_layout1,  0, 32 },
  1829: 	{ REGION_GFX1, 0x30000, &kyros_char_layout2,  0, 32 },
  1830: 	{ REGION_GFX1, 0x48000, &kyros_char_layout1,  0, 32 },
  1831: 	{ REGION_GFX1, 0x48000, &kyros_char_layout2,  0, 32 },
  1832: 	{ -1 } /* end of array */
  1833: };
  1834: 
  1835: /******************************************************************************/
  1836: static struct YM2413interface ym2413_interface=
  1837: {
  1838: 	1,
  1839: 	8000000,    /* ??? */
  1840: 	{ YM2413_VOL(100,MIXER_PAN_CENTER,100,MIXER_PAN_CENTER) }
  1841: };
  1842: 
  1843: static struct YM2203interface ym2203_interface =
  1844: {
  1845: 	1,
  1846: 	3000000,    /* ??? */
  1847: 	{ YM2203_VOL(65,65) },
  1848: 	{ 0 },
  1849: 	{ 0 },
  1850: 	{ 0 },
  1851: 	{ 0 },
  1852: 	{ 0 }
  1853: };
  1854: //AT
  1855: #if 0 // not needed 
  1856: static struct AY8910interface ay8910_interface =
  1857: {
  1858: 	2, /* 2 chips */
  1859: 	1500000,
  1860: 	{ 60, 60 },
  1861: 	{ 0 },
  1862: 	{ 0 },
  1863: 	{ 0 },
  1864: 	{ 0 }
  1865: };
  1866: #endif 
  1867: 
  1868: static struct YM2203interface kyros_ym2203_interface =
  1869: {
  1870: 	3,
  1871: 	3000000,
  1872: 	{ YM2203_VOL(35,35), YM2203_VOL(35,35), YM2203_VOL(90,90) },
  1873: 	{ 0 },
  1874: 	{ 0 },
  1875: 	{ 0 },
  1876: 	{ 0 },
  1877: 	{ 0 }
  1878: };
  1879: 
  1880: static struct YM2203interface sstingry_ym2203_interface =
  1881: {
  1882: 	3,
  1883: 	3000000,
  1884: 	{ YM2203_VOL(35,35), YM2203_VOL(35,35), YM2203_VOL(50,50) },
  1885: 	{ 0 },
  1886: 	{ 0 },
  1887: 	{ 0 },
  1888: 	{ 0 },
  1889: 	{ 0 }
  1890: };
  1891: 
  1892: static void YM3812_irq(int param)
  1893: {
  1894: 	logerror("irq\n");
  1895: 
  1896: 	cpu_set_irq_line(1, 0, (param) ? HOLD_LINE : CLEAR_LINE);
  1897: }
  1898: 
  1899: static struct YM3812interface ym3812_interface =
  1900: {
  1901: 	1,
  1902: 	4000000,
  1903: 	{ 100 },
  1904: 	{ YM3812_irq },
  1905: };
  1906: 
  1907: static INTERRUPT_GEN( goldmedl_interrupt )
  1908: {
  1909: 	if (cpu_getiloops() == 0)
  1910: 		cpu_set_irq_line(0, 1, HOLD_LINE);
  1911: 	else
  1912: 		cpu_set_irq_line(0, 2, HOLD_LINE);
  1913: }
  1914: //ZT
  1915: 
  1916: static struct DACinterface dac_interface =
  1917: {
  1918: 	1,
  1919: 	{ 75 }
  1920: };
  1921: 
  1922: static INTERRUPT_GEN( kyros_interrupt )
  1923: {
  1924: 	if (cpu_getiloops() == 0)
  1925: 		cpu_set_irq_line(0, 1, HOLD_LINE);
  1926: 	else
  1927: 		cpu_set_irq_line(0, 2, HOLD_LINE);
  1928: }
  1929: 
  1930: /******************************************************************************/
  1931: 
  1932: 
  1933: static MACHINE_DRIVER_START( sstingry )
  1934: 
  1935: 	/* basic machine hardware */
  1936: 	MDRV_CPU_ADD(M68000, 6000000) /* 24MHz/4? */
  1937: 	MDRV_CPU_MEMORY(kyros_readmem,kyros_writemem)
  1938: 	MDRV_CPU_VBLANK_INT(kyros_interrupt,2)
  1939: 
  1940: 	MDRV_CPU_ADD(Z80, 3579545)
  1941: 	MDRV_CPU_FLAGS(CPU_AUDIO_CPU) /* ? */
  1942: 	MDRV_CPU_MEMORY(sstingry_sound_readmem,sstingry_sound_writemem)
  1943: 	MDRV_CPU_PORTS(0,kyros_sound_writeport)
  1944: //AT
  1945: 	//MDRV_CPU_VBLANK_INT(nmi_line_pulse,32)
  1946: 	MDRV_CPU_VBLANK_INT(irq0_line_hold, 2)
  1947: 	MDRV_CPU_PERIODIC_INT(nmi_line_pulse, 4000)
  1948: //ZT
  1949: 	MDRV_FRAMES_PER_SECOND(60)
  1950: 	MDRV_VBLANK_DURATION(DEFAULT_60HZ_VBLANK_DURATION)
  1951: 
  1952: 	MDRV_MACHINE_INIT(common)
  1953: 
  1954: 	/* video hardware */
  1955: 	MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
  1956: 	MDRV_SCREEN_SIZE(32*8, 32*8)
  1957: 	MDRV_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
  1958: 	MDRV_GFXDECODE(sstingry_gfxdecodeinfo)
  1959: 	MDRV_PALETTE_LENGTH(256)
  1960: //AT
  1961: 	//MDRV_PALETTE_INIT(RRRR_GGGG_BBBB)
  1962: 	MDRV_COLORTABLE_LENGTH(256)
  1963: 	MDRV_PALETTE_INIT(kyros)
  1964: //ZT
  1965: 	MDRV_VIDEO_UPDATE(sstingry)
  1966: 
  1967: 	/* sound hardware */
  1968: //AT
  1969: 	//MDRV_SOUND_ADD(YM2203, ym2203_interface)
  1970: 	//MDRV_SOUND_ADD(AY8910, ay8910_interface)
  1971: 	MDRV_SOUND_ADD(YM2203, sstingry_ym2203_interface)
  1972: 	MDRV_SOUND_ADD(DAC, dac_interface)
  1973: //ZT
  1974: MACHINE_DRIVER_END
  1975: 
  1976: static MACHINE_DRIVER_START( kyros )
  1977: 
  1978: 	/* basic machine hardware */
  1979: 	MDRV_CPU_ADD(M68000, 6000000) /* 24MHz/4? */
  1980: 	MDRV_CPU_MEMORY(kyros_readmem,kyros_writemem)
  1981: 	MDRV_CPU_VBLANK_INT(kyros_interrupt,2)
  1982: 
  1983: 	MDRV_CPU_ADD(Z80, 3579545)
  1984: 	MDRV_CPU_FLAGS(CPU_AUDIO_CPU) /* ? */
  1985: 	MDRV_CPU_MEMORY(kyros_sound_readmem,kyros_sound_writemem)
  1986: 	MDRV_CPU_PORTS(0,kyros_sound_writeport)
  1987: //AT
  1988: 	//MDRV_CPU_VBLANK_INT(nmi_line_pulse,8)
  1989: 	MDRV_CPU_VBLANK_INT(irq0_line_hold, 2)
  1990: 	MDRV_CPU_PERIODIC_INT(nmi_line_pulse, 4000)
  1991: //ZT
  1992: 	MDRV_FRAMES_PER_SECOND(60)
  1993: 	MDRV_VBLANK_DURATION(DEFAULT_60HZ_VBLANK_DURATION)
  1994: 
  1995: 	MDRV_MACHINE_INIT(common)
  1996: 
  1997: 	/* video hardware */
  1998: 	MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
  1999: 	MDRV_SCREEN_SIZE(32*8, 32*8)
  2000: 	MDRV_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
  2001: 	MDRV_GFXDECODE(kyros_gfxdecodeinfo)
  2002: 	MDRV_PALETTE_LENGTH(256)
  2003: 	MDRV_COLORTABLE_LENGTH(256)
  2004: 
  2005: 	MDRV_PALETTE_INIT(kyros)
  2006: 	MDRV_VIDEO_UPDATE(kyros)
  2007: 
  2008: 	/* sound hardware */
  2009: //AT
  2010: 	//MDRV_SOUND_ADD(YM2203, ym2203_interface)
  2011: 	//MDRV_SOUND_ADD(AY8910, ay8910_interface)
  2012: 	MDRV_SOUND_ADD(YM2203, kyros_ym2203_interface)
  2013: 	MDRV_SOUND_ADD(DAC, dac_interface)
  2014: //ZT
  2015: 
  2016: MACHINE_DRIVER_END
  2017: 
  2018: static MACHINE_DRIVER_START( alpha68k_I )
  2019: 
  2020: 	/* basic machine hardware */
  2021: 	MDRV_CPU_ADD(M68000, 6000000) /* 24MHz/4? */
  2022: 	MDRV_CPU_MEMORY(alpha68k_I_readmem,alpha68k_I_writemem)
  2023: 	MDRV_CPU_VBLANK_INT(irq1_line_hold,1)/* VBL */
  2024: 
  2025: 	MDRV_CPU_ADD(Z80, 4000000) // 4Mhz seems to yield the correct tone
  2026: 	MDRV_CPU_FLAGS(CPU_AUDIO_CPU)
  2027: 	MDRV_CPU_MEMORY(alpha68k_I_s_readmem, alpha68k_I_s_writemem)
  2028: 
  2029: 	MDRV_FRAMES_PER_SECOND(60)
  2030: 	MDRV_VBLANK_DURATION(DEFAULT_60HZ_VBLANK_DURATION)
  2031: 
  2032: 	/* video hardware */
  2033: 	MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
  2034: 	MDRV_SCREEN_SIZE(32*8, 32*8)
  2035: 	MDRV_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
  2036: 	MDRV_GFXDECODE(paddle_gfxdecodeinfo)
  2037: //AT
  2038: 	//MDRV_PALETTE_INIT(RRRR_GGGG_BBBB)
  2039: 	MDRV_PALETTE_LENGTH(256)
  2040: 	MDRV_COLORTABLE_LENGTH(1024)
  2041: 	MDRV_PALETTE_INIT(paddlem)
  2042: //ZT
  2043: 	MDRV_VIDEO_UPDATE(alpha68k_I)
  2044: 
  2045: 	/* sound hardware */
  2046: 	//MDRV_SOUND_ADD(YM2203, ym2203_interface)
  2047: 	MDRV_SOUND_ADD(YM3812, ym3812_interface) //AT
  2048: MACHINE_DRIVER_END
  2049: 
  2050: static MACHINE_DRIVER_START( alpha68k_II )
  2051: 
  2052: 	/* basic machine hardware */
  2053: 	MDRV_CPU_ADD(M68000, 8000000) /* Correct */
  2054: 	MDRV_CPU_MEMORY(alpha68k_II_readmem,alpha68k_II_writemem)
  2055: 	MDRV_CPU_VBLANK_INT(irq3_line_hold,1)/* VBL */
  2056: 
  2057: 	MDRV_CPU_ADD(Z80, /*3579545*/3579545*2) /* Unlikely but needed to stop nested NMI's */
  2058: 	MDRV_CPU_FLAGS(CPU_AUDIO_CPU) /* Correct?? */
  2059: 	MDRV_CPU_MEMORY(sound_readmem,sound_writemem)
  2060: 	MDRV_CPU_PORTS(sound_readport,sound_writeport)
  2061: 	//MDRV_CPU_VBLANK_INT(nmi_line_pulse,116)
  2062: 	MDRV_CPU_PERIODIC_INT(nmi_line_pulse, 7500) //AT
  2063: 
  2064: 	MDRV_FRAMES_PER_SECOND(60)
  2065: 	MDRV_VBLANK_DURATION(DEFAULT_60HZ_VBLANK_DURATION)
  2066: 
  2067: 	MDRV_MACHINE_INIT(common)
  2068: 
  2069: 	/* video hardware */
  2070: 	MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
  2071: 	MDRV_SCREEN_SIZE(32*8, 32*8)
  2072: 	MDRV_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
  2073: 	MDRV_GFXDECODE(alpha68k_II_gfxdecodeinfo)
  2074: 	MDRV_PALETTE_LENGTH(2048)
  2075: 
  2076: 	MDRV_VIDEO_START(alpha68k)
  2077: 	MDRV_VIDEO_UPDATE(alpha68k_II)
  2078: 
  2079: 	/* sound hardware */
  2080: 	MDRV_SOUND_ADD(YM2203, ym2203_interface)
  2081: 	MDRV_SOUND_ADD(YM2413, ym2413_interface)
  2082: 	MDRV_SOUND_ADD(DAC, dac_interface)
  2083: MACHINE_DRIVER_END
  2084: 
  2085: //AT
  2086: static MACHINE_DRIVER_START( alpha68k_II_gm )
  2087: 
  2088: 	/* basic machine hardware */
  2089: 	MDRV_CPU_ADD(M68000, 8000000)
  2090: 	MDRV_CPU_MEMORY(alpha68k_II_readmem, alpha68k_II_writemem)
  2091: 	MDRV_CPU_VBLANK_INT(goldmedl_interrupt, 4)
  2092: 
  2093: 	MDRV_CPU_ADD(Z80, 4000000*2)
  2094: 	MDRV_CPU_FLAGS(CPU_AUDIO_CPU)
  2095: 	MDRV_CPU_MEMORY(sound_readmem, sound_writemem)
  2096: 	MDRV_CPU_PORTS(sound_readport, sound_writeport)
  2097: 	MDRV_CPU_PERIODIC_INT(nmi_line_pulse, 7500)
  2098: 
  2099: 	MDRV_FRAMES_PER_SECOND(60)
  2100: 	MDRV_VBLANK_DURATION(DEFAULT_60HZ_VBLANK_DURATION)
  2101: 
  2102: 	MDRV_MACHINE_INIT(common)
  2103: 
  2104: 	/* video hardware */
  2105: 	MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
  2106: 	MDRV_SCREEN_SIZE(32*8, 32*8)
  2107: 	MDRV_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
  2108: 	MDRV_GFXDECODE(alpha68k_II_gfxdecodeinfo)
  2109: 	MDRV_PALETTE_LENGTH(2048)
  2110: 
  2111: 	MDRV_VIDEO_START(alpha68k)
  2112: 	MDRV_VIDEO_UPDATE(alpha68k_II)
  2113: 
  2114: 	/* sound hardware */
  2115: 	MDRV_SOUND_ADD(YM2203, ym2203_interface)
  2116: 	MDRV_SOUND_ADD(YM2413, ym2413_interface)
  2117: 	MDRV_SOUND_ADD(DAC, dac_interface)
  2118: MACHINE_DRIVER_END
  2119: //ZT
  2120: 
  2121: static MACHINE_DRIVER_START( alpha68k_V )
  2122: 
  2123: 	/* basic machine hardware */
  2124: 	MDRV_CPU_ADD(M68000, 10000000) /* ? */
  2125: 	MDRV_CPU_MEMORY(alpha68k_V_readmem,alpha68k_V_writemem)
  2126: 	MDRV_CPU_VBLANK_INT(irq3_line_hold,1)/* VBL */
  2127: 
  2128: 	MDRV_CPU_ADD(Z80, /*3579545*/3579545*2) /* Unlikely but needed to stop nested NMI's */
  2129: 	MDRV_CPU_FLAGS(CPU_AUDIO_CPU)
  2130: 	MDRV_CPU_MEMORY(sound_readmem,sound_writemem)
  2131: 	MDRV_CPU_PORTS(sound_readport,sound_writeport)
  2132: 	//MDRV_CPU_VBLANK_INT(nmi_line_pulse,148)
  2133: 	MDRV_CPU_PERIODIC_INT(nmi_line_pulse, 8500) //AT
  2134: 
  2135: 	MDRV_FRAMES_PER_SECOND(60)
  2136: 	MDRV_VBLANK_DURATION(DEFAULT_60HZ_VBLANK_DURATION)
  2137: 
  2138: 	MDRV_MACHINE_INIT(common)
  2139: 
  2140: 	/* video hardware */
  2141: 	MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
  2142: 	MDRV_SCREEN_SIZE(32*8, 32*8)
  2143: 	MDRV_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
  2144: 	MDRV_GFXDECODE(alpha68k_V_gfxdecodeinfo)
  2145: 	MDRV_PALETTE_LENGTH(4096)
  2146: 
  2147: 	MDRV_VIDEO_START(alpha68k)
  2148: 	MDRV_VIDEO_UPDATE(alpha68k_V)
  2149: 
  2150: 	/* sound hardware */
  2151: 	MDRV_SOUND_ADD(YM2203, ym2203_interface)
  2152: 	MDRV_SOUND_ADD(YM2413, ym2413_interface)
  2153: 	MDRV_SOUND_ADD(DAC, dac_interface)
  2154: MACHINE_DRIVER_END
  2155: 
  2156: static MACHINE_DRIVER_START( alpha68k_V_sb )
  2157: 
  2158: 	/* basic machine hardware */
  2159: 	MDRV_CPU_ADD(M68000, 10000000) /* ? */
  2160: 	MDRV_CPU_MEMORY(alpha68k_V_readmem,alpha68k_V_writemem)
  2161: 	MDRV_CPU_VBLANK_INT(irq3_line_hold,1)/* VBL */
  2162: 
  2163: 	MDRV_CPU_ADD(Z80, /*3579545*/3579545*2) /* Unlikely but needed to stop nested NMI's */
  2164: 	MDRV_CPU_FLAGS(CPU_AUDIO_CPU)
  2165: 	MDRV_CPU_MEMORY(sound_readmem,sound_writemem)
  2166: 	MDRV_CPU_PORTS(sound_readport,sound_writeport)
  2167: 	//MDRV_CPU_VBLANK_INT(nmi_line_pulse,112)
  2168: 	MDRV_CPU_PERIODIC_INT(nmi_line_pulse, 8500) //AT
  2169: 
  2170: 	MDRV_FRAMES_PER_SECOND(60)
  2171: 	MDRV_VBLANK_DURATION(DEFAULT_60HZ_VBLANK_DURATION)
  2172: 
  2173: 	MDRV_MACHINE_INIT(common)
  2174: 
  2175: 	/* video hardware */
  2176: 	MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
  2177: 	MDRV_SCREEN_SIZE(32*8, 32*8)
  2178: 	MDRV_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
  2179: 	MDRV_GFXDECODE(alpha68k_V_gfxdecodeinfo)
  2180: 	MDRV_PALETTE_LENGTH(4096)
  2181: 
  2182: 	MDRV_VIDEO_START(alpha68k)
  2183: 	MDRV_VIDEO_UPDATE(alpha68k_V_sb)
  2184: 
  2185: 	/* sound hardware */
  2186: 	MDRV_SOUND_ADD(YM2203, ym2203_interface)
  2187: 	MDRV_SOUND_ADD(YM2413, ym2413_interface)
  2188: 	MDRV_SOUND_ADD(DAC, dac_interface)
  2189: MACHINE_DRIVER_END
  2190: 
  2191: static MACHINE_DRIVER_START( tnexspce )
  2192: 
  2193: 	/* basic machine hardware */
  2194: 	MDRV_CPU_ADD(M68000, 9000000) /* Confirmed 18 MHz/2 */
  2195: 	MDRV_CPU_MEMORY(tnexspce_readmem,tnexspce_writemem)
  2196: 	MDRV_CPU_VBLANK_INT(irq1_line_hold,1)/* VBL */
  2197: 
  2198: 	MDRV_CPU_ADD(Z80, 4000000)
  2199: 	MDRV_CPU_FLAGS(CPU_AUDIO_CPU)
  2200: 	MDRV_CPU_MEMORY(tnexspce_sound_readmem, tnexspce_sound_writemem)
  2201: 	MDRV_CPU_PORTS(tnexspce_sound_readport,tnexspce_sound_writeport)
  2202: 
  2203: 	MDRV_FRAMES_PER_SECOND(60)
  2204: 	MDRV_VBLANK_DURATION(DEFAULT_60HZ_VBLANK_DURATION)
  2205: 
  2206: 	MDRV_MACHINE_INIT(tnexspce)
  2207: 
  2208: 	/* video hardware */
  2209: 	MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
  2210: 	MDRV_SCREEN_SIZE(32*8, 32*8)
  2211: 	MDRV_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
  2212: 	MDRV_GFXDECODE(tnexspce_gfxdecodeinfo)
  2213: 
  2214: 	MDRV_PALETTE_LENGTH(256)
  2215: 	MDRV_COLORTABLE_LENGTH(1024)
  2216: 	MDRV_PALETTE_INIT(paddlem)
  2217: 	MDRV_VIDEO_UPDATE(alpha68k_I)
  2218: 
  2219: 	/* sound hardware */
  2220: 	MDRV_SOUND_ADD(YM3812, ym3812_interface)
  2221: MACHINE_DRIVER_END
  2222: 
  2223: 
  2224: /******************************************************************************/
  2225: 
  2226: ROM_START( sstingry )
  2227: 	ROM_REGION( 0x10000, REGION_CPU1, 0 )     /* 68000 code */
  2228: 	ROM_LOAD16_BYTE( "ss_05.rom",  0x0000,  0x4000, CRC(bfb28d53) SHA1(64a1b8627529ed13074bb949cb104077eb3eac1f) )
  2229: 	ROM_LOAD16_BYTE( "ss_07.rom",  0x0001,  0x4000, CRC(eb1b65c5) SHA1(cffc4df82b7950358dd28f6a492e0aefaff73048) )
  2230: 	ROM_LOAD16_BYTE( "ss_04.rom",  0x8000,  0x4000, CRC(2e477a79) SHA1(0af9238979c8a740ba49776cd65ffbc024339621) )
  2231: 	ROM_LOAD16_BYTE( "ss_06.rom",  0x8001,  0x4000, CRC(597620cb) SHA1(5549df4843e029df17ce5de2159cc82bd985804b) )
  2232: 
  2233: 	ROM_REGION( 0x10000, REGION_CPU2, 0 )      /* sound cpu */
  2234: 	ROM_LOAD( "ss_01.rom",       0x0000,  0x4000, CRC(fef09a92) SHA1(77b6aded1eed1bd5e6ffb25b56b62b10b7b9a304) )
  2235: 	ROM_LOAD( "ss_02.rom",       0x4000,  0x4000, CRC(ab4e8c01) SHA1(d96e7f97945fff48fb7b4661fdb575ac7ff77445) )
  2236: 
  2237: 	ROM_REGION( 0x60000, REGION_GFX1, ROMREGION_DISPOSE )
  2238: 	ROM_LOAD( "ss_12.rom",       0x00000, 0x4000, CRC(74caa9e9) SHA1(9f0874b2fcdf45acb941bd56b44bf2b9b08641e9) )
  2239: 	ROM_LOAD( "ss_08.rom",       0x08000, 0x4000, CRC(32368925) SHA1(af26f73d33936410063de3164ec80f45bed487c7) )
  2240: 	ROM_LOAD( "ss_13.rom",       0x10000, 0x4000, CRC(13da6203) SHA1(afa778c26da1adfdc8b2e2a1c7b2b46944b5d008) )
  2241: 	ROM_LOAD( "ss_10.rom",       0x18000, 0x4000, CRC(2903234a) SHA1(552295ec60469227883eafb6756c86abc20455b5) )
  2242: 	ROM_LOAD( "ss_11.rom",       0x20000, 0x4000, CRC(d134302e) SHA1(4c020ff41458c738596ab7a094d4a33a6dda64bf) )
  2243: 	ROM_LOAD( "ss_09.rom",       0x28000, 0x4000, CRC(6f9d938a) SHA1(eb6934f8eaa7b22441ec4470280f228fe5f134a3) )
  2244: 
  2245: 	ROM_REGION( 0x500, REGION_PROMS, 0 )
  2246: 	ROM_LOAD( "ic92",            0x0000, 0x0100, CRC(e7ce1179) SHA1(36835c46c1c3f820df39c59c16c362db07b32dc9) )
  2247: 	ROM_LOAD( "ic93",            0x0100, 0x0100, CRC(9af8a375) SHA1(abb8b094a2df41acea688f87004207dc35233db5) )
  2248: 	ROM_LOAD( "ic91",            0x0200, 0x0100, CRC(c3965079) SHA1(6b1f22afd2a849f0003ddcad344079e8043681f9) )
  2249: //AT
  2250: 	ROM_LOAD( "clut_hi.rom",     0x0300, 0x0100, NO_DUMP ) // CLUT high nibble(missing)
  2251: 	ROM_LOAD( "clut_lo.rom",     0x0400, 0x0100, NO_DUMP ) // CLUT low nibble(missing)
  2252: 
  2253: 	ROM_REGION( 0x0400, REGION_USER1, 0 )
  2254: 	ROM_LOAD( "ic5.5",           0x0000, 0x0400, NO_DUMP ) // color remap table(bad dump?)
  2255: //ZT
  2256: ROM_END
  2257: 
  2258: ROM_START( kyros )
  2259: 	ROM_REGION( 0x20000, REGION_CPU1, 0 )
  2260: 	ROM_LOAD16_BYTE( "2.10c", 0x00000,  0x4000, CRC(4bd030b1) SHA1(e503dae8e12995ab0a551022a848a62315908e8b) )
  2261: 	ROM_CONTINUE   (          0x10000,  0x4000 )
  2262: 	ROM_LOAD16_BYTE( "1.13c", 0x00001,  0x4000, CRC(75cfbc5e) SHA1(2a70c56fd7192279157df8294743038a7ed7e68d) )
  2263: 	ROM_CONTINUE   (          0x10001,  0x4000 )
  2264: 	ROM_LOAD16_BYTE( "4.10b", 0x08000,  0x4000, CRC(be2626c2) SHA1(c3b01ec4b65172560a993b37421df6a61b780e43) )
  2265: 	ROM_CONTINUE   (          0x18000,  0x4000 )
  2266: 	ROM_LOAD16_BYTE( "3.13b", 0x08001,  0x4000, CRC(fb25e71a) SHA1(fab8fcbd2c5a8600d6e8577de4875e409cad723b) )
  2267: 	ROM_CONTINUE   (          0x18001,  0x4000 )
  2268: 
  2269: 	ROM_REGION( 0x10000, REGION_CPU2, 0 )   /* Sound CPU */
  2270: 	ROM_LOAD( "2s.1f",      0x00000, 0x4000, CRC(800ceb27) SHA1(4daa1b8adcad7a90cfd5d20704a7c431673c4995) )
  2271: 	ROM_LOAD( "1s.1d",      0x04000, 0x8000, CRC(87d3e719) SHA1(4b8b1b600c7c1de3a77030001e7e6f0ff118f294) )
  2272: 
  2273: 	ROM_REGION( 0x60000, REGION_GFX1, ROMREGION_DISPOSE )
  2274: 	ROM_LOAD( "8.9pr",      0x00000, 0x8000, CRC(c5290944) SHA1(ec97482dc59220002780ae4d02be4cd172cf65ac) )
  2275: 	ROM_LOAD( "11.11m",     0x08000, 0x8000, CRC(fbd44f1e) SHA1(d095544ea76674a7ad17c1b8c88614e65890281c) )
  2276: 	ROM_LOAD( "12.11n", 0x10000, 0x8000, CRC(10fed501) SHA1(71c0b4b94f86046745105307938f6e2c5661e2a1) )
  2277: 	ROM_LOAD( "9.9s",   0x18000, 0x8000, CRC(dd40ca33) SHA1(91a1d8b6b69fb0d27ed315cd2591f352360bc8e7) )
  2278: 	ROM_LOAD( "13.11p", 0x20000, 0x8000, CRC(e6a02030) SHA1(0de58f8cc69dc76d4b0a45fba04972634a4021a6) )
  2279: 	ROM_LOAD( "14.11r", 0x28000, 0x8000, CRC(722ad23a) SHA1(0e1be976c5a406e33236def5a0dce73911ebac28) )
  2280: 	ROM_LOAD( "15.3t",  0x30000, 0x8000, CRC(045fdda4) SHA1(ac25368e446e6dcfb3ed244e7d6d699f917c202d) )
  2281: 	ROM_LOAD( "17.7t",  0x38000, 0x8000, CRC(7618ec00) SHA1(7346ba41fd2b04e404225726ede2e42e62ca7901) )
  2282: 	ROM_LOAD( "18.9t",  0x40000, 0x8000, CRC(0ee74171) SHA1(1fda8a1066eb7dafeaeffebfe718b408b34f1767) )
  2283: 	ROM_LOAD( "16.5t",  0x48000, 0x8000, CRC(2cf14824) SHA1(07f6b232c4ca6c42b3f75443b0328653f5a3f71d) )
  2284: 	ROM_LOAD( "19.11t", 0x50000, 0x8000, CRC(4f336306) SHA1(83e0c021d2732d3199c70ac433a31863075a5a72) )
  2285: 	ROM_LOAD( "20.13t", 0x58000, 0x8000, CRC(a165d06b) SHA1(ef7f38a71c2f3fc836b28f0eac1c14a3877f0802) )
  2286: 
  2287: 	ROM_REGION( 0x500, REGION_PROMS, 0 )
  2288: 	ROM_LOAD( "mb7114l.5r", 0x000, 0x100, CRC(3628bf36) SHA1(33b7b873a6e5da59f535d754f8c8257c0f4d0a31) )
  2289: 	ROM_LOAD( "mb7114l.4r", 0x100, 0x100, CRC(850704e4) SHA1(8a9da9efc7bc6a037d4cd27152b853a7839ccd67) )
  2290: 	ROM_LOAD( "mb7114l.6r", 0x200, 0x100, CRC(a54f60d7) SHA1(af039dee847913cb79f85d7abf4846322bba2e5b) )
  2291: 	ROM_LOAD( "mb7114l.5p", 0x300, 0x100, CRC(1cc53765) SHA1(2b665f3e24ddb3ab591273f027ff7740f1c97e27) )
  2292: 	ROM_LOAD( "mb7114l.6p", 0x400, 0x100, CRC(b0d6971f) SHA1(4aa2e9a89f9ea7487433e54ef4aa95a632477c4f) )
  2293: 
  2294: 	ROM_REGION( 0x2000, REGION_USER1, 0 )
  2295: 	ROM_LOAD( "0.1t",      0x0000,0x2000, CRC(5d0acb4c) SHA1(52fcdcb2bf6d6ada04aa447b5526c39848bf587f) )
  2296: ROM_END
  2297: 
  2298: ROM_START( kyrosj )
  2299: 	ROM_REGION( 0x20000, REGION_CPU1, 0 )
  2300: 	ROM_LOAD16_BYTE( "2j.10c", 0x00000,  0x4000, CRC(b324c11b) SHA1(9330ee0db8555a3623118c7bc5363b4f6fa87dbc) )
  2301: 	ROM_CONTINUE   (          0x10000,  0x4000 )
  2302: 	ROM_LOAD16_BYTE( "1j.13c", 0x00001,  0x4000, CRC(8496241b) SHA1(474cdce735dcc2ff2111ae2f4cd11c0d27a4b4fc) )
  2303: 	ROM_CONTINUE   (          0x10001,  0x4000 )
  2304: 	ROM_LOAD16_BYTE( "4.10a", 0x08000,  0x4000, CRC(0187f59d) SHA1(3bc1b811cb29aa33c38bc8c76e066c8b37104167) )
  2305: 	ROM_CONTINUE   (          0x18000,  0x4000 )
  2306: 	ROM_LOAD16_BYTE( "3.13a", 0x08001,  0x4000, CRC(ab97941d) SHA1(014a55540e1777de5bee23e59773dbbd7efa8f91) )
  2307: 	ROM_CONTINUE   (          0x18001,  0x4000 )
  2308: 
  2309: 	ROM_REGION( 0x10000, REGION_CPU2, 0 )   /* Sound CPU */
  2310: 	ROM_LOAD( "2s.1f",      0x00000, 0x4000, CRC(800ceb27) SHA1(4daa1b8adcad7a90cfd5d20704a7c431673c4995) )
  2311: 	ROM_LOAD( "1s.1d",      0x04000, 0x8000, CRC(87d3e719) SHA1(4b8b1b600c7c1de3a77030001e7e6f0ff118f294) )
  2312: 
  2313: 	ROM_REGION( 0x60000, REGION_GFX1, ROMREGION_DISPOSE )
  2314: 	ROM_LOAD( "8.9r",   0x00000, 0x8000, CRC(d8203284) SHA1(7dede410239be6b674644fa76c91dd01837f841f) )
  2315: 	ROM_LOAD( "11.12m", 0x08000, 0x8000, CRC(a2f9738c) SHA1(31be81274bf70674bf0c32fcddbacf0f58d8f897) )
  2316: 	ROM_LOAD( "12.11n", 0x10000, 0x8000, CRC(10fed501) SHA1(71c0b4b94f86046745105307938f6e2c5661e2a1) )
  2317: 	ROM_LOAD( "9j.9s",  0x18000, 0x8000, CRC(3e725349) SHA1(79c431d83a0f0d5e0d69086f54f6e60a42b69e14) )
  2318: 	ROM_LOAD( "13.11p", 0x20000, 0x8000, CRC(e6a02030) SHA1(0de58f8cc69dc76d4b0a45fba04972634a4021a6) )
  2319: 	ROM_LOAD( "14.12r", 0x28000, 0x8000, CRC(39d07db9) SHA1(05c0785eea29bc6329892f1e8f0bd37327163080) )
  2320: 	ROM_LOAD( "15.3t",  0x30000, 0x8000, CRC(045fdda4) SHA1(ac25368e446e6dcfb3ed244e7d6d699f917c202d) )
  2321: 	ROM_LOAD( "17.7t",  0x38000, 0x8000, CRC(7618ec00) SHA1(7346ba41fd2b04e404225726ede2e42e62ca7901) )
  2322: 	ROM_LOAD( "18.9t",  0x40000, 0x8000, CRC(0ee74171) SHA1(1fda8a1066eb7dafeaeffebfe718b408b34f1767) )
  2323: 	ROM_LOAD( "16j.5t", 0x48000, 0x8000, CRC(e1566679) SHA1(3653c3160798bea203e1c7713043729b356a7358) )
  2324: 	ROM_LOAD( "19.11t", 0x50000, 0x8000, CRC(4f336306) SHA1(83e0c021d2732d3199c70ac433a31863075a5a72) )
  2325: 	ROM_LOAD( "20j.13t",0x58000, 0x8000, CRC(0624b4c0) SHA1(a8ebdb1f9b7fd0b78102b54523e8680aaa8bcf42) )
  2326: 
  2327: 	ROM_REGION( 0x500, REGION_PROMS, 0 )
  2328: 	ROM_LOAD( "mb7114l.5r", 0x000, 0x100, CRC(3628bf36) SHA1(33b7b873a6e5da59f535d754f8c8257c0f4d0a31) )
  2329: 	ROM_LOAD( "mb7114l.4r", 0x100, 0x100, CRC(850704e4) SHA1(8a9da9efc7bc6a037d4cd27152b853a7839ccd67) )
  2330: 	ROM_LOAD( "mb7114l.6r", 0x200, 0x100, CRC(a54f60d7) SHA1(af039dee847913cb79f85d7abf4846322bba2e5b) )
  2331: 	ROM_LOAD( "mb7114l.5p", 0x300, 0x100, CRC(1cc53765) SHA1(2b665f3e24ddb3ab591273f027ff7740f1c97e27) )
  2332: 	ROM_LOAD( "mb7114l.6p", 0x400, 0x100, CRC(b0d6971f) SHA1(4aa2e9a89f9ea7487433e54ef4aa95a632477c4f) )
  2333: 
  2334: 	ROM_REGION( 0x2000, REGION_USER1, 0 )
  2335: 	ROM_LOAD( "0j.1t",      0x0000,0x2000, CRC(a34ecb29) SHA1(60a0b0cfcd2d9830bc112774bac700ded40d4afb) )
  2336: ROM_END
  2337: 
  2338: ROM_START( paddlema )
  2339: 	ROM_REGION( 0x40000, REGION_CPU1, 0 )
  2340: 	ROM_LOAD16_BYTE( "padlem.6g",  0x00000, 0x10000, CRC(c227a6e8) SHA1(9c98be6e82a0dd76fd5b786601456b060407c57f) )
  2341: 	ROM_LOAD16_BYTE( "padlem.3g",  0x00001, 0x10000, CRC(f11a21aa) SHA1(6eda9ff99f2aa8832fff1e2a054c5ffb6dae7ae3) )
  2342: 	ROM_LOAD16_BYTE( "padlem.6h",  0x20000, 0x10000, CRC(8897555f) SHA1(7d30aa56a727700a6e02af92b065ed982a39ccc2) )
  2343: 	ROM_LOAD16_BYTE( "padlem.3h",  0x20001, 0x10000, CRC(f0fe9b9d) SHA1(2e7a80dc25c549e57b7698052f53562a9a608205) )
  2344: 
  2345: 	ROM_REGION( 0x10000, REGION_CPU2, 0 )   /* Sound CPU */
  2346: 	ROM_LOAD( "padlem.18c", 0x000000, 0x10000, CRC(9269778d) SHA1(bdc9100827f2e018db943d9f7d81b7936c155bf0) )
  2347: 
  2348: 	ROM_REGION( 0x80000, REGION_GFX1, ROMREGION_DISPOSE )
  2349: 	ROM_LOAD( "padlem.16m",      0x00000, 0x10000, CRC(0984fb4d) SHA1(6bc529db93fad277f286e4a380812c40c7f42301) )
  2350: 	ROM_LOAD( "padlem.16n",      0x10000, 0x10000, CRC(4249e047) SHA1(9f35b316b5de65f8b1878fca283c9d534bb8ae25) )
  2351: 	ROM_LOAD( "padlem.13m",      0x20000, 0x10000, CRC(fd9dbc27) SHA1(c01f512afef7686c64cc0766c235084cc8e2f5fc) )
  2352: 	ROM_LOAD( "padlem.13n",      0x30000, 0x10000, CRC(1d460486) SHA1(4ade817a036447e7e6d4fe56fa2c5712f198c625) )
  2353: 	ROM_LOAD( "padlem.9m",       0x40000, 0x10000, CRC(4ee4970d) SHA1(d57d9178129236dfb3a18688e8544e5e555ce559) )
  2354: 	ROM_LOAD( "padlem.9n",       0x50000, 0x10000, CRC(a1756f15) SHA1(1220075e34c482e38eead9ea5e63b53b822e87de) )
  2355: 	ROM_LOAD( "padlem.6m",       0x60000, 0x10000, CRC(3f47910c) SHA1(429d425dc57fbd868bc39c3d799bbaebcf313cc0) )
  2356: 	ROM_LOAD( "padlem.6n",       0x70000, 0x10000, CRC(fe337655) SHA1(ac04124642b245d6a530c72d0dea1b1585b5cebd) )
  2357: 
  2358: 	ROM_REGION( 0x1000, REGION_PROMS, 0 )
  2359: 	ROM_LOAD( "padlem.a",        0x0000,  0x0100,  CRC(cae6bcd6) SHA1(da3b3bdcdc7fefae80b0ef8365565bbe5ff0d5d2) ) /* R */
  2360: 	ROM_LOAD( "padlem.b",        0x0100,  0x0100,  CRC(b6df8dcb) SHA1(318ca20fab6608aa2956ec3bb82e8ae77c250d51) ) /* G */
  2361: 	ROM_LOAD( "padlem.c",        0x0200,  0x0100,  CRC(39ca9b86) SHA1(8b8d7aae85830e69366e86f8b6cccfb8140cd526) ) /* B */
  2362: 	ROM_LOAD( "padlem.17j",      0x0300,  0x0400,  CRC(86170069) SHA1(8e2ad7afa50453e9a2dc89386ce02d10e7c89fbc) ) /* Clut low nibble */
  2363: 	ROM_LOAD( "padlem.16j",      0x0700,  0x0400,  CRC(8da58e2c) SHA1(6012715a2d3ba4cf8bc5a8250e7f28cb59913092) ) /* Clut high nibble */
  2364: 
  2365: 	ROM_REGION( 0x8000, REGION_USER1, 0 )
  2366: 	ROM_LOAD( "padlem.18n",      0x0000,  0x8000,  CRC(06506200) SHA1(d43337e5611cb0d3432942539ccf04bff2bdd345) ) /* Colour lookup */
  2367: ROM_END
  2368: 
  2369: ROM_START( timesold )
  2370: 	ROM_REGION( 0x40000, REGION_CPU1, 0 )
  2371: 	ROM_LOAD16_BYTE( "bf.3",       0x00000,  0x10000, CRC(a491e533) SHA1(e7a2e866e574ea4eb23c1c4cbd312a87c9f81b5e) )
  2372: 	ROM_LOAD16_BYTE( "bf.4",       0x00001,  0x10000, CRC(34ebaccc) SHA1(dda5350d01cffee51d070eb518beecbaec7e4b21) )
  2373: 	ROM_LOAD16_BYTE( "bf.1",       0x20000,  0x10000, CRC(158f4cb3) SHA1(48335a1e68afda24e1cca8cce5f869f30c6bda9c) )
  2374: 	ROM_LOAD16_BYTE( "bf.2",       0x20001,  0x10000, CRC(af01a718) SHA1(588fda345b5ebd75d03d78c431227f220932ee46) )
  2375: 
  2376: 	ROM_REGION( 0x80000, REGION_CPU2, 0 )   /* Sound CPU */
  2377: 	ROM_LOAD( "bf.7",            0x00000,  0x08000, CRC(f8b293b5) SHA1(d326763628d7cbe864abc15d6db7fa7fe4381f31) )
  2378: 	ROM_CONTINUE(                0x18000,  0x08000 )
  2379: 	ROM_LOAD( "bf.8",            0x30000,  0x10000, CRC(8a43497b) SHA1(c64519b2aced8b072efdd1a6286f082094a50e61) )
  2380: 	ROM_LOAD( "bf.9",            0x50000,  0x10000, CRC(1408416f) SHA1(d7a32de156791f923635d7fdddc8db97f66bfb2a) )
  2381: 
  2382: 	ROM_REGION( 0x010000, REGION_GFX1, ROMREGION_DISPOSE )  /* chars */
  2383: 	ROM_LOAD( "bf.5",            0x00000,  0x08000, CRC(3cec2f55) SHA1(e4fca0c8193680385c7dd4d6c599492c9e0dd4af) )
  2384: 	ROM_LOAD( "bf.6",            0x08000,  0x08000, CRC(086a364d) SHA1(b008d4b351ada4240dd6c82c45405a2489e36019) )
  2385: 
  2386: 	ROM_REGION( 0x200000, REGION_GFX2, ROMREGION_DISPOSE )  /* sprites */
  2387: 	ROM_LOAD( "bf.10",           0x000000, 0x20000, CRC(613313ba) SHA1(4940ddc5f7f4e3165a830dbfa6a65ddb23a33e12) )
  2388: 	ROM_LOAD( "bf.14",           0x020000, 0x20000, CRC(efda5c45) SHA1(482d855bd0aa8cf28bb2e5ae096a7fa9491a26c8) )
  2389: 	ROM_LOAD( "bf.18",           0x040000, 0x20000, CRC(e886146a) SHA1(cb4b1a002fe0c139d698fb9fd633cc9ff5daf017) )
  2390: 	ROM_LOAD( "bf.11",           0x080000, 0x20000, CRC(92b42eba) SHA1(0f76d9fedaced65829a19105bb5cdfbf31c48427) )
  2391: 	ROM_LOAD( "bf.15",           0x0a0000, 0x20000, CRC(ba3b9f5a) SHA1(2461f3a862889d31eee6c1572b1f47b987ac99bd) )
  2392: 	ROM_LOAD( "bf.19",           0x0c0000, 0x20000, CRC(8994bf10) SHA1(424ed2c4009250bdf5cb1ad5015d0b62a2f2a990) )
  2393: 	ROM_LOAD( "bf.12",           0x100000, 0x20000, CRC(7ca8bb32) SHA1(bb7747319bebb04965e536b729d76d4c7c5304e1) )
  2394: 	ROM_LOAD( "bf.16",           0x120000, 0x20000, CRC(2aa74125) SHA1(8323669101ccd2c1b785e27c6a7ea43d6d61a622) )
  2395: 	ROM_LOAD( "bf.20",           0x140000, 0x20000, CRC(bab6a7c5) SHA1(983f18d58cbb6852adad8723a815168c17a8c82a) )
  2396: 	ROM_LOAD( "bf.13",           0x180000, 0x20000, CRC(56a3a26a) SHA1(d8485f629df98155c706ab0f725dd5fe475f1272) )
  2397: 	ROM_LOAD( "bf.17",           0x1a0000, 0x20000, CRC(6b37d048) SHA1(bc7b7abd971313e50ac5f69d7dbec9de8a354537) )
  2398: 	ROM_LOAD( "bf.21",           0x1c0000, 0x20000, CRC(bc3b3944) SHA1(6c99d2b093e5cb04dc3422c2f0f81a20f5a504b5) )
  2399: ROM_END
  2400: 
  2401: ROM_START( timesol1 )
  2402: 	ROM_REGION( 0x40000, REGION_CPU1, 0 )
  2403: 	ROM_LOAD16_BYTE( "3",          0x00000,  0x10000, CRC(bc069a29) SHA1(891a6809931871a1da0a5a4d313623a8b92326e3) )
  2404: 	ROM_LOAD16_BYTE( "4",          0x00001,  0x10000, CRC(ac7dca56) SHA1(4322d601ea5abe222f2d707fbfbfb3b207509760) )
  2405: 	ROM_LOAD16_BYTE( "bf.1",       0x20000,  0x10000, CRC(158f4cb3) SHA1(48335a1e68afda24e1cca8cce5f869f30c6bda9c) )
  2406: 	ROM_LOAD16_BYTE( "bf.2",       0x20001,  0x10000, CRC(af01a718) SHA1(588fda345b5ebd75d03d78c431227f220932ee46) )
  2407: 
  2408: 	ROM_REGION( 0x80000, REGION_CPU2, 0 )   /* Sound CPU */
  2409: 	ROM_LOAD( "bf.7",            0x00000,  0x08000, CRC(f8b293b5) SHA1(d326763628d7cbe864abc15d6db7fa7fe4381f31) )
  2410: 	ROM_CONTINUE(                0x18000,  0x08000 )
  2411: 	ROM_LOAD( "bf.8",            0x30000,  0x10000, CRC(8a43497b) SHA1(c64519b2aced8b072efdd1a6286f082094a50e61) )
  2412: 	ROM_LOAD( "bf.9",            0x50000,  0x10000, CRC(1408416f) SHA1(d7a32de156791f923635d7fdddc8db97f66bfb2a) )
  2413: 
  2414: 	ROM_REGION( 0x010000, REGION_GFX1, ROMREGION_DISPOSE )  /* chars */
  2415: 	ROM_LOAD( "bf.5",            0x00000,  0x08000, CRC(3cec2f55) SHA1(e4fca0c8193680385c7dd4d6c599492c9e0dd4af) )
  2416: 	ROM_LOAD( "bf.6",            0x08000,  0x08000, CRC(086a364d) SHA1(b008d4b351ada4240dd6c82c45405a2489e36019) )
  2417: 
  2418: 	ROM_REGION( 0x200000, REGION_GFX2, ROMREGION_DISPOSE )  /* sprites */
  2419: 	ROM_LOAD( "bf.10",           0x000000, 0x20000, CRC(613313ba) SHA1(4940ddc5f7f4e3165a830dbfa6a65ddb23a33e12) )
  2420: 	ROM_LOAD( "bf.14",           0x020000, 0x20000, CRC(efda5c45) SHA1(482d855bd0aa8cf28bb2e5ae096a7fa9491a26c8) )
  2421: 	ROM_LOAD( "bf.18",           0x040000, 0x20000, CRC(e886146a) SHA1(cb4b1a002fe0c139d698fb9fd633cc9ff5daf017) )
  2422: 	ROM_LOAD( "bf.11",           0x080000, 0x20000, CRC(92b42eba) SHA1(0f76d9fedaced65829a19105bb5cdfbf31c48427) )
  2423: 	ROM_LOAD( "bf.15",           0x0a0000, 0x20000, CRC(ba3b9f5a) SHA1(2461f3a862889d31eee6c1572b1f47b987ac99bd) )
  2424: 	ROM_LOAD( "bf.19",           0x0c0000, 0x20000, CRC(8994bf10) SHA1(424ed2c4009250bdf5cb1ad5015d0b62a2f2a990) )
  2425: 	ROM_LOAD( "bf.12",           0x100000, 0x20000, CRC(7ca8bb32) SHA1(bb7747319bebb04965e536b729d76d4c7c5304e1) )
  2426: 	ROM_LOAD( "bf.16",           0x120000, 0x20000, CRC(2aa74125) SHA1(8323669101ccd2c1b785e27c6a7ea43d6d61a622) )
  2427: 	ROM_LOAD( "bf.20",           0x140000, 0x20000, CRC(bab6a7c5) SHA1(983f18d58cbb6852adad8723a815168c17a8c82a) )
  2428: 	ROM_LOAD( "bf.13",           0x180000, 0x20000, CRC(56a3a26a) SHA1(d8485f629df98155c706ab0f725dd5fe475f1272) )
  2429: 	ROM_LOAD( "bf.17",           0x1a0000, 0x20000, CRC(6b37d048) SHA1(bc7b7abd971313e50ac5f69d7dbec9de8a354537) )
  2430: 	ROM_LOAD( "bf.21",           0x1c0000, 0x20000, CRC(bc3b3944) SHA1(6c99d2b093e5cb04dc3422c2f0f81a20f5a504b5) )
  2431: ROM_END
  2432: 
  2433: ROM_START( btlfield )
  2434: 	ROM_REGION( 0x40000, REGION_CPU1, 0 )
  2435: 	ROM_LOAD16_BYTE( "bfv1_03.bin", 0x00000, 0x10000, CRC(8720af0d) SHA1(3a26dc06d98c16600b9fa0b1a12f703feac48c9d) )
  2436: 	ROM_LOAD16_BYTE( "bfv1_04.bin", 0x00001, 0x10000, CRC(7dcccbe6) SHA1(33b69c139c94a9d292c93b4f148441e1bda5aba5) )
  2437: 	ROM_LOAD16_BYTE( "bf.1",        0x20000, 0x10000, CRC(158f4cb3) SHA1(48335a1e68afda24e1cca8cce5f869f30c6bda9c) )
  2438: 	ROM_LOAD16_BYTE( "bf.2",        0x20001, 0x10000, CRC(af01a718) SHA1(588fda345b5ebd75d03d78c431227f220932ee46) )
  2439: 
  2440: 	ROM_REGION( 0x80000, REGION_CPU2, 0 )   /* Sound CPU */
  2441: 	ROM_LOAD( "bf.7",            0x00000,  0x08000, CRC(f8b293b5) SHA1(d326763628d7cbe864abc15d6db7fa7fe4381f31) )
  2442: 	ROM_CONTINUE(                0x18000,  0x08000 )
  2443: 	ROM_LOAD( "bf.8",            0x30000,  0x10000, CRC(8a43497b) SHA1(c64519b2aced8b072efdd1a6286f082094a50e61) )
  2444: 	ROM_LOAD( "bf.9",            0x50000,  0x10000, CRC(1408416f) SHA1(d7a32de156791f923635d7fdddc8db97f66bfb2a) )
  2445: 
  2446: 	ROM_REGION( 0x010000, REGION_GFX1, ROMREGION_DISPOSE )  /* chars */
  2447: 	ROM_LOAD( "bfv1_05.bin",     0x00000,  0x08000, CRC(be269dbf) SHA1(3240badbf65e076cc1f7caaec1081df9a4371d47) )
  2448: 	ROM_LOAD( "bfv1_06.bin",     0x08000,  0x08000, CRC(022b9de9) SHA1(5a736a4cfe05e7681c78ab816dfe04074fe0293d) )
  2449: 
  2450: 	ROM_REGION( 0x200000, REGION_GFX2, ROMREGION_DISPOSE )  /* sprites */
  2451: 	ROM_LOAD( "bf.10",           0x000000, 0x20000, CRC(613313ba) SHA1(4940ddc5f7f4e3165a830dbfa6a65ddb23a33e12) )
  2452: 	ROM_LOAD( "bf.14",           0x020000, 0x20000, CRC(efda5c45) SHA1(482d855bd0aa8cf28bb2e5ae096a7fa9491a26c8) )
  2453: 	ROM_LOAD( "bf.18",           0x040000, 0x20000, CRC(e886146a) SHA1(cb4b1a002fe0c139d698fb9fd633cc9ff5daf017) )
  2454: 	ROM_LOAD( "bf.11",           0x080000, 0x20000, CRC(92b42eba) SHA1(0f76d9fedaced65829a19105bb5cdfbf31c48427) )
  2455: 	ROM_LOAD( "bf.15",           0x0a0000, 0x20000, CRC(ba3b9f5a) SHA1(2461f3a862889d31eee6c1572b1f47b987ac99bd) )
  2456: 	ROM_LOAD( "bf.19",           0x0c0000, 0x20000, CRC(8994bf10) SHA1(424ed2c4009250bdf5cb1ad5015d0b62a2f2a990) )
  2457: 	ROM_LOAD( "bf.12",           0x100000, 0x20000, CRC(7ca8bb32) SHA1(bb7747319bebb04965e536b729d76d4c7c5304e1) )
  2458: 	ROM_LOAD( "bf.16",           0x120000, 0x20000, CRC(2aa74125) SHA1(8323669101ccd2c1b785e27c6a7ea43d6d61a622) )
  2459: 	ROM_LOAD( "bf.20",           0x140000, 0x20000, CRC(bab6a7c5) SHA1(983f18d58cbb6852adad8723a815168c17a8c82a) )
  2460: 	ROM_LOAD( "bf.13",           0x180000, 0x20000, CRC(56a3a26a) SHA1(d8485f629df98155c706ab0f725dd5fe475f1272) )
  2461: 	ROM_LOAD( "bf.17",           0x1a0000, 0x20000, CRC(6b37d048) SHA1(bc7b7abd971313e50ac5f69d7dbec9de8a354537) )
  2462: 	ROM_LOAD( "bf.21",           0x1c0000, 0x20000, CRC(bc3b3944) SHA1(6c99d2b093e5cb04dc3422c2f0f81a20f5a504b5) )
  2463: ROM_END
  2464: 
  2465: ROM_START( skysoldr )
  2466: 	ROM_REGION( 0x80000, REGION_CPU1, 0 )
  2467: 	ROM_LOAD16_BYTE( "ss.3",       0x00000, 0x10000, CRC(7b88aa2e) SHA1(17ed682fb67e8fa05a1309e87ac29c09adcd7474) )
  2468: 	ROM_CONTINUE ( 0x40000,      0x10000 )
  2469: 	ROM_LOAD16_BYTE( "ss.4",       0x00001, 0x10000, CRC(f0283d43) SHA1(bfbc7235c9ff52b9ab269247e9c4a9d574ba25e2) )
  2470: 	ROM_CONTINUE ( 0x40001,      0x10000 )
  2471: 	ROM_LOAD16_BYTE( "ss.1",       0x20000, 0x10000, CRC(20e9dbc7) SHA1(632e5c7348a88620b85f968501a33609cc993972) )
  2472: 	ROM_CONTINUE ( 0x60000,      0x10000 )
  2473: 	ROM_LOAD16_BYTE( "ss.2",       0x20001, 0x10000, CRC(486f3432) SHA1(56b6c74031001bccb98e73f228e697556e8111d4) )
  2474: 	ROM_CONTINUE ( 0x60001,      0x10000 )
  2475: 
  2476: 	ROM_REGION( 0x80000, REGION_CPU2, 0 )   /* Sound CPU */
  2477: 	ROM_LOAD( "ss.7",            0x00000, 0x08000, CRC(b711fad4) SHA1(0a9515cb36b8d03ee5f7e0669a9948571b4ec34e) )
  2478: 	ROM_CONTINUE(                0x18000, 0x08000 )
  2479: 	ROM_LOAD( "ss.8",            0x30000, 0x10000, CRC(e5cf7b37) SHA1(770ee80a1cc0f877486c6b47812db2b1118651d9) )
  2480: 	ROM_LOAD( "ss.9",            0x50000, 0x10000, CRC(76124ca2) SHA1(5b87178ab663cd8aa67670f0c14c9cbb8616b04d) )
  2481: 
  2482: 	ROM_REGION( 0x010000, REGION_GFX1, ROMREGION_DISPOSE )  /* chars */
  2483: 	ROM_LOAD( "ss.5",            0x00000, 0x08000, CRC(928ba287) SHA1(c415c5b84b83ee0e5e0aa60eb33132145fcd7487) )
  2484: 	ROM_LOAD( "ss.6",            0x08000, 0x08000, CRC(93b30b55) SHA1(51cacc48f4a298131852d41da80126bda5988920) )
  2485: 
  2486: 	ROM_REGION( 0x200000, REGION_GFX2, ROMREGION_DISPOSE )  /* sprites */
  2487: 	ROM_LOAD( "ss.10",          0x000000, 0x20000, CRC(e48c1623) SHA1(1181e16d0d36d246ce4401b5cdacb0780acf835c) )
  2488: 	ROM_LOAD( "ss.14",          0x020000, 0x20000, CRC(190c8704) SHA1(88b12720d0aa01f9df5792f8f3229e582995e4a1) )
  2489: 	ROM_LOAD( "ss.18",          0x040000, 0x20000, CRC(cb6ff33a) SHA1(b1e24b11e0c5da12d21282120e3aab8773854e11) )
  2490: 	ROM_LOAD( "ss.22",          0x060000, 0x20000, CRC(e69b4485) SHA1(041fcadb84d92bca4650768ad954fe47cfa00e62) )
  2491: 	ROM_LOAD( "ss.11",          0x080000, 0x20000, CRC(6c63e9c5) SHA1(cb349a8e0a2a1bcd098c59a879d8e4cbb51adee6) )
  2492: 	ROM_LOAD( "ss.15",          0x0a0000, 0x20000, CRC(55f71ab1) SHA1(2cb69d5532b35915b1fe5653a351508eccabd945) )
  2493: 	ROM_LOAD( "ss.19",          0x0c0000, 0x20000, CRC(312a21f5) SHA1(aef32d805cd338c3980cb282e86157590fbfe791) )
  2494: 	ROM_LOAD( "ss.23",          0x0e0000, 0x20000, CRC(923c19c2) SHA1(8ca88e49dc246798fd0c59cff2669a15aaa933a6) )
  2495: 	ROM_LOAD( "ss.12",          0x100000, 0x20000, CRC(63bb4e89) SHA1(98b5d61469c18830459ccf8aaa51d101e4ae0a4f) )
  2496: 	ROM_LOAD( "ss.16",          0x120000, 0x20000, CRC(138179f7) SHA1(2eb02077ffa4a87feed2c0503b294730f67ac484) )
  2497: 	ROM_LOAD( "ss.20",          0x140000, 0x20000, CRC(268cc7b4) SHA1(a9fe6b3302bafd52214a7eb0ad8a8a238eb29542) )
  2498: 	ROM_LOAD( "ss.24",          0x160000, 0x20000, CRC(f63b8417) SHA1(6a629ae6dd2b15c840f778a0f2ce9476ef578d5e) )
  2499: 	ROM_LOAD( "ss.13",          0x180000, 0x20000, CRC(3506c06b) SHA1(434f12523973de0d08ae30320d833be445c36e3f) )
  2500: 	ROM_LOAD( "ss.17",          0x1a0000, 0x20000, CRC(a7f524e0) SHA1(97e3e637d754a8c8c25c9b8bf8f67b1f8776e460) )
  2501: 	ROM_LOAD( "ss.21",          0x1c0000, 0x20000, CRC(cb7bf5fe) SHA1(8ded0be6b7d3ac4478234df9e72e6cad95f36d21) )
  2502: 	ROM_LOAD( "ss.25",          0x1e0000, 0x20000, CRC(65138016) SHA1(871b0ba39710b1094519cd808339e80ea366a016) )
  2503: 
  2504: 	ROM_REGION16_BE( 0x80000, REGION_USER1, 0 ) /* Reload the code here for upper bank */
  2505: 	ROM_LOAD16_BYTE( "ss.3",      0x00000, 0x10000, CRC(7b88aa2e) SHA1(17ed682fb67e8fa05a1309e87ac29c09adcd7474) )
  2506: 	ROM_CONTINUE   ( 0x40000,     0x10000 )
  2507: 	ROM_LOAD16_BYTE( "ss.4",      0x00001, 0x10000, CRC(f0283d43) SHA1(bfbc7235c9ff52b9ab269247e9c4a9d574ba25e2) )
  2508: 	ROM_CONTINUE   ( 0x40001,     0x10000 )
  2509: 	ROM_LOAD16_BYTE( "ss.1",      0x20000, 0x10000, CRC(20e9dbc7) SHA1(632e5c7348a88620b85f968501a33609cc993972) )
  2510: 	ROM_CONTINUE   ( 0x60000,     0x10000 )
  2511: 	ROM_LOAD16_BYTE( "ss.2",      0x20001, 0x10000, CRC(486f3432) SHA1(56b6c74031001bccb98e73f228e697556e8111d4) )
  2512: 	ROM_CONTINUE   ( 0x60001,     0x10000 )
  2513: ROM_END
  2514: 
  2515: ROM_START( goldmedl )
  2516: 	ROM_REGION( 0x40000, REGION_CPU1, 0 )
  2517: 	ROM_LOAD16_BYTE( "gm.3",      0x00000,  0x10000, CRC(ddf0113c) SHA1(1efe39da1e25e7a556c48243a15d95388bc67e69) )
  2518: 	ROM_LOAD16_BYTE( "gm.4",      0x00001,  0x10000, CRC(16db4326) SHA1(7c82afcdabbb9ce082025b444ad967817ba36879) )
  2519: 	ROM_LOAD16_BYTE( "gm.1",      0x20000,  0x10000, CRC(54a11e28) SHA1(5e36c86b4d30b07539d9d00c682cbc3d88b6ba01) )
  2520: 	ROM_LOAD16_BYTE( "gm.2",      0x20001,  0x10000, CRC(4b6a13e4) SHA1(fb6bd4690f4f7aa7ae082c31c366c09e1eda801d) )
  2521: //AT
  2522: #if 0 // old ROM map 
  2523: 	ROM_REGION( 0x90000, REGION_CPU2, 0 )   /* Sound CPU */
  2524: 	ROM_LOAD( "goldsnd0.c47",   0x00000,  0x08000, BAD_DUMP CRC(031d27dc)  ) // bad dump
  2525: 	ROM_CONTINUE(               0x10000,  0x78000 )
  2526: #endif 
  2527: 
  2528: 	ROM_REGION( 0x80000, REGION_CPU2, 0 ) // banking is slightly different from other Alpha68kII games
  2529: 	ROM_LOAD( "38.bin",          0x00000,  0x08000, CRC(4bf251b8) SHA1(d69a6607e92dbe8081c7c66b6853f02d578ef73f) ) // we use the bootleg set instead
  2530: 	ROM_CONTINUE(                0x18000,  0x08000 )
  2531: 	ROM_LOAD( "39.bin",          0x20000,  0x10000, CRC(1d92be86) SHA1(9b6e7141653ee7b7b1915a545d381419aec4e483) )
  2532: 	ROM_LOAD( "40.bin",          0x30000,  0x10000, CRC(8dafc4e8) SHA1(7d4898557ad638ab8461060bc7ae406d7d24c5a4) )
  2533: 	ROM_LOAD( "1.bin",           0x40000,  0x10000, CRC(1e78062c) SHA1(821c037edf32eb8b03e5c487d3bab0622337e80b) )
  2534: //ZT
  2535: 	ROM_REGION( 0x010000, REGION_GFX1, ROMREGION_DISPOSE )  /* chars */
  2536: 	ROM_LOAD( "gm.5",           0x000000, 0x08000, CRC(667f33f1) SHA1(6d05603b49927f09c9bb34e787b003eceaaf7062) )
  2537: 	ROM_LOAD( "gm.6",           0x008000, 0x08000, CRC(56020b13) SHA1(17e176a9c82ed0d6cb5c4014034ce4e16b8ef4fb) )
  2538: 
  2539: 	ROM_REGION( 0x200000, REGION_GFX2, ROMREGION_DISPOSE )  /* sprites */
  2540: 	ROM_LOAD( "goldchr3.c46",   0x000000, 0x80000, CRC(6faaa07a) SHA1(8c81ac35220835691d7620b334e83f1fb4f79a52) )
  2541: 	ROM_LOAD( "goldchr2.c45",   0x080000, 0x80000, CRC(e6b0aa2c) SHA1(88d852803d92147d75853f0e7efa0f2a71820ac6) )
  2542: 	ROM_LOAD( "goldchr1.c44",   0x100000, 0x80000, CRC(55db41cd) SHA1(15fa192ea2b829dc6dc0cb88fc2c5e5a30af6c91) )
  2543: 	ROM_LOAD( "goldchr0.c43",   0x180000, 0x80000, CRC(76572c3f) SHA1(e7a1abf4240510810a0f9663295c0fbab9e55a63) )
  2544: ROM_END
  2545: 
  2546: //AT: the bootleg set has strong resemblance of "goldmed7" on an Alpha-68K96III system board
  2547: ROM_START( goldmedb )
  2548: 	ROM_REGION( 0x40000, REGION_CPU1, 0 )
  2549: 	ROM_LOAD16_BYTE( "l_3.bin",   0x00000,  0x10000, CRC(5e106bcf) )
  2550: 	ROM_LOAD16_BYTE( "l_4.bin",   0x00001,  0x10000, CRC(e19966af) )
  2551: 	ROM_LOAD16_BYTE( "l_1.bin",   0x20000,  0x08000, CRC(7eec7ee5) )
  2552: 	ROM_LOAD16_BYTE( "l_2.bin",   0x20001,  0x08000, CRC(bf59e4f9) )
  2553: 
  2554: 	ROM_REGION( 0x80000, REGION_CPU2, 0 ) //AT: looks identical to goldsnd0.c47
  2555: 	ROM_LOAD( "38.bin",          0x00000,  0x08000, CRC(4bf251b8) SHA1(d69a6607e92dbe8081c7c66b6853f02d578ef73f) )
  2556: 	ROM_CONTINUE(                0x18000,  0x08000 )
  2557: 	ROM_LOAD( "39.bin",          0x20000,  0x10000, CRC(1d92be86) SHA1(9b6e7141653ee7b7b1915a545d381419aec4e483) )
  2558: 	ROM_LOAD( "40.bin",          0x30000,  0x10000, CRC(8dafc4e8) SHA1(7d4898557ad638ab8461060bc7ae406d7d24c5a4) )
  2559: 	ROM_LOAD( "1.bin",           0x40000,  0x10000, CRC(1e78062c) SHA1(821c037edf32eb8b03e5c487d3bab0622337e80b) )
  2560: 
  2561: 	ROM_REGION( 0x010000, REGION_GFX1, ROMREGION_DISPOSE )  /* chars */
  2562: 	ROM_LOAD( "gm.5",           0x000000, 0x08000, CRC(667f33f1) SHA1(6d05603b49927f09c9bb34e787b003eceaaf7062) )
  2563: 	ROM_LOAD( "gm.6",           0x008000, 0x08000, CRC(56020b13) SHA1(17e176a9c82ed0d6cb5c4014034ce4e16b8ef4fb) )
  2564: //	ROM_LOAD( "33.bin",         0x000000, 0x10000, CRC(05600b13) )
  2565: 
  2566: 	/* I haven't yet verified if these are the same as the bootleg */
  2567: 
  2568: 	ROM_REGION( 0x200000, REGION_GFX2, ROMREGION_DISPOSE )  /* sprites */
  2569: 	ROM_LOAD( "goldchr3.c46",   0x000000, 0x80000, CRC(6faaa07a) SHA1(8c81ac35220835691d7620b334e83f1fb4f79a52) )
  2570: 	ROM_LOAD( "goldchr2.c45",   0x080000, 0x80000, CRC(e6b0aa2c) SHA1(88d852803d92147d75853f0e7efa0f2a71820ac6) )
  2571: 	ROM_LOAD( "goldchr1.c44",   0x100000, 0x80000, CRC(55db41cd) SHA1(15fa192ea2b829dc6dc0cb88fc2c5e5a30af6c91) )
  2572: 	ROM_LOAD( "goldchr0.c43",   0x180000, 0x80000, CRC(76572c3f) SHA1(e7a1abf4240510810a0f9663295c0fbab9e55a63) )
  2573: 
  2574: 	ROM_REGION16_BE( 0x10000, REGION_USER1, 0 )
  2575: 	ROM_LOAD16_BYTE( "l_1.bin",   0x00000,  0x08000, CRC(7eec7ee5) )
  2576: 	ROM_LOAD16_BYTE( "l_2.bin",   0x00001,  0x08000, CRC(bf59e4f9) )
  2577: 
  2578: 	ROM_REGION( 0x10000, REGION_USER2, 0 ) //AT: banked data for the main 68k code?
  2579: 	ROM_LOAD( "l_5.bin",   0x00000,  0x10000, CRC(77c601a3) ) // identical to gm5-1.bin in "goldmed7"
  2580: ROM_END
  2581: 
  2582: ROM_START( skyadvnt )
  2583: 	ROM_REGION( 0x40000, REGION_CPU1, 0 )
  2584: 	ROM_LOAD16_BYTE( "sa1.bin",   0x00000,  0x20000, CRC(c2b23080) SHA1(d72430ae43137e3ecbaa327f37e4f3f028690a83) )
  2585: 	ROM_LOAD16_BYTE( "sa2.bin",   0x00001,  0x20000, CRC(06074e72) SHA1(363b468fad5de0637baf8bb7b92798bfb81a07c5) )
  2586: 
  2587: 	ROM_REGION( 0x90000, REGION_CPU2, 0 )   /* Sound CPU */
  2588: 	ROM_LOAD( "sa.3",           0x00000,  0x08000, CRC(3d0b32e0) SHA1(b845dc7b887f16dd010b9d43860b6af334995199) )
  2589: 	ROM_CONTINUE(               0x18000,  0x08000 )
  2590: 	ROM_LOAD( "sa.4",           0x30000,  0x10000, CRC(c2e3c30c) SHA1(43e1b489d879950bce3568433a4781377c3eebe7) )
  2591: 	ROM_LOAD( "sa.5",           0x50000,  0x10000, CRC(11cdb868) SHA1(6cd9c7952b4789e819272cbe0623f3e6f607b7eb) )
  2592: 	ROM_LOAD( "sa.6",           0x70000,  0x08000, CRC(237d93fd) SHA1(4c65169e4ce6a9be229410bbfd9b823060a829d7) )
  2593: 
  2594: 	ROM_REGION( 0x020000, REGION_GFX1, ROMREGION_DISPOSE )  /* chars */
  2595: 	ROM_LOAD( "sa.7",           0x000000, 0x08000, CRC(ea26e9c5) SHA1(13cb5a5955c813cd48f98f62f045a4cbc61806a1) )
  2596: 
  2597: 	ROM_REGION( 0x280000, REGION_GFX2, ROMREGION_DISPOSE )  /* sprites */
  2598: 	ROM_LOAD( "sachr3",         0x000000, 0x80000, CRC(a986b8d5) SHA1(e8e2f3e0f85b9565243eab7dc8606168811f41e4) )
  2599: 	ROM_LOAD( "sachr2",         0x0a0000, 0x80000, CRC(504b07ae) SHA1(ba74f74c1cb04dd1ab4acf518099605ec9c71f94) )
  2600: 	ROM_LOAD( "sachr1",         0x140000, 0x80000, CRC(e734dccd) SHA1(24258dd5994f1b14600fc354b0ab36f870967afc) )
  2601: 	ROM_LOAD( "sachr0",         0x1e0000, 0x80000, CRC(e281b204) SHA1(50a041c701970013b84826d67c8002ccd291bfdd) )
  2602: ROM_END
  2603: 
  2604: ROM_START( skyadvnu )
  2605: 	ROM_REGION( 0x40000, REGION_CPU1, 0 )
  2606: 	ROM_LOAD16_BYTE( "sa_v3.1",   0x00000,  0x20000, CRC(862393b5) SHA1(6c9176a6ae286854f2fa7512c293984a3b952f10) )
  2607: 	ROM_LOAD16_BYTE( "sa_v3.2",   0x00001,  0x20000, CRC(fa7a14d1) SHA1(d941042cff726f02e1e645a158b6a2484869464b) )
  2608: 
  2609: 	ROM_REGION( 0x90000, REGION_CPU2, 0 )   /* Sound CPU */
  2610: 	ROM_LOAD( "sa.3",           0x00000,  0x08000, CRC(3d0b32e0) SHA1(b845dc7b887f16dd010b9d43860b6af334995199) )
  2611: 	ROM_CONTINUE(               0x18000,  0x08000 )
  2612: 	ROM_LOAD( "sa.4",           0x30000,  0x10000, CRC(c2e3c30c) SHA1(43e1b489d879950bce3568433a4781377c3eebe7) )
  2613: 	ROM_LOAD( "sa.5",           0x50000,  0x10000, CRC(11cdb868) SHA1(6cd9c7952b4789e819272cbe0623f3e6f607b7eb) )
  2614: 	ROM_LOAD( "sa.6",           0x70000,  0x08000, CRC(237d93fd) SHA1(4c65169e4ce6a9be229410bbfd9b823060a829d7) )
  2615: 
  2616: 	ROM_REGION( 0x020000, REGION_GFX1, ROMREGION_DISPOSE )  /* chars */
  2617: 	ROM_LOAD( "sa.7",           0x000000, 0x08000, CRC(ea26e9c5) SHA1(13cb5a5955c813cd48f98f62f045a4cbc61806a1) )
  2618: 
  2619: 	ROM_REGION( 0x280000, REGION_GFX2, ROMREGION_DISPOSE )  /* sprites */
  2620: 	ROM_LOAD( "sachr3",         0x000000, 0x80000, CRC(a986b8d5) SHA1(e8e2f3e0f85b9565243eab7dc8606168811f41e4) )
  2621: 	ROM_LOAD( "sachr2",         0x0a0000, 0x80000, CRC(504b07ae) SHA1(ba74f74c1cb04dd1ab4acf518099605ec9c71f94) )
  2622: 	ROM_LOAD( "sachr1",         0x140000, 0x80000, CRC(e734dccd) SHA1(24258dd5994f1b14600fc354b0ab36f870967afc) )
  2623: 	ROM_LOAD( "sachr0",         0x1e0000, 0x80000, CRC(e281b204) SHA1(50a041c701970013b84826d67c8002ccd291bfdd) )
  2624: ROM_END
  2625: 
  2626: ROM_START( skyadvnj )
  2627: 	ROM_REGION( 0x40000, REGION_CPU1, 0 )
  2628: 	ROM_LOAD16_BYTE( "saj1.c19",  0x00000,  0x20000, CRC(662cb4b8) SHA1(853ad557ee7942cef542253f0e643955e27f0ed2) )
  2629: 	ROM_LOAD16_BYTE( "saj2.e19",  0x00001,  0x20000, CRC(06d6130a) SHA1(3411ac90e3039e46887451fc97ec2a22ad0f18fe) )
  2630: 
  2631: 	ROM_REGION( 0x90000, REGION_CPU2, 0 )   /* Sound CPU */
  2632: 	ROM_LOAD( "sa.3",           0x00000,  0x08000, CRC(3d0b32e0) SHA1(b845dc7b887f16dd010b9d43860b6af334995199) )
  2633: 	ROM_CONTINUE(               0x18000,  0x08000 )
  2634: 	ROM_LOAD( "sa.4",           0x30000,  0x10000, CRC(c2e3c30c) SHA1(43e1b489d879950bce3568433a4781377c3eebe7) )
  2635: 	ROM_LOAD( "sa.5",           0x50000,  0x10000, CRC(11cdb868) SHA1(6cd9c7952b4789e819272cbe0623f3e6f607b7eb) )
  2636: 	ROM_LOAD( "sa.6",           0x70000,  0x08000, CRC(237d93fd) SHA1(4c65169e4ce6a9be229410bbfd9b823060a829d7) )
  2637: 
  2638: 	ROM_REGION( 0x020000, REGION_GFX1, ROMREGION_DISPOSE )  /* chars */
  2639: 	ROM_LOAD( "sa.7",           0x000000, 0x08000, CRC(ea26e9c5) SHA1(13cb5a5955c813cd48f98f62f045a4cbc61806a1) )
  2640: 
  2641: 	ROM_REGION( 0x280000, REGION_GFX2, ROMREGION_DISPOSE )  /* sprites */
  2642: 	ROM_LOAD( "sachr3",         0x000000, 0x80000, CRC(a986b8d5) SHA1(e8e2f3e0f85b9565243eab7dc8606168811f41e4) )
  2643: 	ROM_LOAD( "sachr2",         0x0a0000, 0x80000, CRC(504b07ae) SHA1(ba74f74c1cb04dd1ab4acf518099605ec9c71f94) )
  2644: 	ROM_LOAD( "sachr1",         0x140000, 0x80000, CRC(e734dccd) SHA1(24258dd5994f1b14600fc354b0ab36f870967afc) )
  2645: 	ROM_LOAD( "sachr0",         0x1e0000, 0x80000, CRC(e281b204) SHA1(50a041c701970013b84826d67c8002ccd291bfdd) )
  2646: ROM_END
  2647: 
  2648: ROM_START( gangwars )
  2649: 	ROM_REGION( 0x40000, REGION_CPU1, 0 )
  2650: 	ROM_LOAD16_BYTE( "u1",        0x00000, 0x20000, CRC(11433507) SHA1(df32c14d4105d3ad899dfa8e9dbc2a1fe51dfa6a) )
  2651: 	ROM_LOAD16_BYTE( "u2",        0x00001, 0x20000, CRC(44cc375f) SHA1(38fc402014a816d9b1f7680407175adecfa39efe) )
  2652: 
  2653: 	ROM_REGION( 0x90000, REGION_CPU2, 0 )   /* Sound CPU */
  2654: 	ROM_LOAD( "u12",            0x00000, 0x08000, CRC(2620caa1) SHA1(bd464abce0bedab68cb913321e76d83eb36ca374) )
  2655: 	ROM_CONTINUE(               0x18000, 0x08000 )
  2656: 	ROM_LOAD( "u9",             0x70000, 0x10000, CRC(9136745e) SHA1(d7a2bfeac69ab2dbd4565a5bd1abb1f3f1199b42) )
  2657: 	ROM_LOAD( "u10",            0x50000, 0x10000, CRC(636978ae) SHA1(5d8093bc43192c89e230af318609222a69866b6e) )
  2658: 	ROM_LOAD( "u11",            0x30000, 0x10000, CRC(2218ceb9) SHA1(69a843308cb0628ad856a09a33cd148f36ce0d24) )
  2659: 
  2660: /*
  2661: 
  2662: These roms are from the bootleg version, the original graphics
  2663: should be the same.  The original uses 4 512k mask roms and 4 128k
  2664: eeproms to store the same data.  The 512k roms are not dumped but
  2665: the 128k ones are and match these ones.
  2666: 
  2667: */
  2668: 
  2669: 	ROM_REGION( 0x020000, REGION_GFX1, ROMREGION_DISPOSE )  /* chars */
  2670: 	ROM_LOAD( "gwb_ic.m19",     0x000000, 0x10000, CRC(b75bf1d0) SHA1(c22c0049274c45701be0a7be2afc0517620a3a10) )
  2671: 
  2672: 	ROM_REGION( 0x280000, REGION_GFX2, ROMREGION_DISPOSE )  /* sprites */
  2673: 	ROM_LOAD( "gwb_ic.308",     0x000000, 0x10000, CRC(321a2fdd) SHA1(b2f37f14a13bc2c2f78b2b0e27fde18a23146e22) )
  2674: 	ROM_LOAD( "gwb_ic.309",     0x010000, 0x10000, CRC(4d908f65) SHA1(6095a34ef4a6905d57c47af4a507dff3a04e5c07) )
  2675: 	ROM_LOAD( "gwb_ic.310",     0x020000, 0x10000, CRC(fc888541) SHA1(e732a03209a88fc7a23b4e4ff69a437d6fbfc2d1) )
  2676: 	ROM_LOAD( "gwb_ic.311",     0x030000, 0x10000, CRC(181b128b) SHA1(2646c9f9cca6277ddd764c07478798c8af3eb297) )
  2677: 	ROM_LOAD( "gwb_ic.312",     0x040000, 0x10000, CRC(930665f3) SHA1(03af85c45acb9600b27dcdd6ec96d147046030e5) )
  2678: 	ROM_LOAD( "gwb_ic.313",     0x050000, 0x10000, CRC(c18f4ca8) SHA1(f5cb666d5aa53f201b6664d1c18b89a211230e78) )
  2679: 	ROM_LOAD( "gwb_ic.314",     0x060000, 0x10000, CRC(dfc44b60) SHA1(311422d4ea77118c0058e9f1a824f74cfa79cb87) )
  2680: 	ROM_LOAD( "gwb_ic.307",     0x070000, 0x10000, CRC(28082a7f) SHA1(e30bade13e03bca49c1f7001c9440ce251ece15d) )
  2681: //	ROM_LOAD( "gwb_ic.320",     0x080000, 0x10000, CRC(9a7b51d8) SHA1(0ab01972d838c938bfd07d7b4661a0ecd009b2cb) )
  2682: 	ROM_LOAD( "gwb_ic.280",     0x080000, 0x10000, CRC(222b3dcd) SHA1(f9afe24c01daefe61939672efa2cb68bcc7235f0) ) //AT
  2683: 	ROM_LOAD( "gwb_ic.321",     0x090000, 0x10000, CRC(6b421c7b) SHA1(d96f91dc7e5f46990b05701483edf43a828a8879) )
  2684: 	ROM_LOAD( "gwb_ic.300",     0x0a0000, 0x10000, CRC(f3fa0877) SHA1(7950ef86ee66d19693f0b7071a3a34d9200f5a19) )
  2685: 	ROM_LOAD( "gwb_ic.301",     0x0b0000, 0x10000, CRC(f8c866de) SHA1(c6baa41bab35d4d9e80c5c52db74e9eb6b9605f5) )
  2686: 	ROM_LOAD( "gwb_ic.302",     0x0c0000, 0x10000, CRC(5b0d587d) SHA1(852bec7d37d8cee33e5bc30080bf8a6a8d2472e5) )
  2687: 	ROM_LOAD( "gwb_ic.303",     0x0d0000, 0x10000, CRC(d8c0e102) SHA1(f660876ab3457230b1c37835f5ad1ccd1e8e821a) )
  2688: 	ROM_LOAD( "gwb_ic.304",     0x0e0000, 0x10000, CRC(b02bc9d8) SHA1(e0466b93c08363cceaba27c8d85e2609d12a10e7) )
  2689: 	ROM_LOAD( "gwb_ic.305",     0x0f0000, 0x10000, CRC(5e04a9aa) SHA1(663330b467eb6406719d4d6cf7b05835b1600a37) )
  2690: 	ROM_LOAD( "gwb_ic.306",     0x100000, 0x10000, CRC(e2172955) SHA1(af13776e6537e736815a1180a1f6bad385724b0c) )
  2691: 	ROM_LOAD( "gwb_ic.299",     0x110000, 0x10000, CRC(e39f5599) SHA1(3c08a8163b528ebbcb627c511ccc2edacf0653c2) )
  2692: //	ROM_LOAD( "gwb_ic.318",     0x120000, 0x10000, CRC(9aeaddf9) SHA1(d609314015376672be8147b9eabbfe4c5611ab73) )
  2693: 	ROM_LOAD( "gwb_ic.320",     0x120000, 0x10000, CRC(9a7b51d8) SHA1(0ab01972d838c938bfd07d7b4661a0ecd009b2cb) ) //AT
  2694: 	ROM_LOAD( "gwb_ic.319",     0x130000, 0x10000, CRC(c5b862b7) SHA1(a48be3e32ae5a656d8d239796e6e7bddd4a0805b) )
  2695: 	ROM_LOAD( "gwb_ic.292",     0x140000, 0x10000, CRC(c125f7be) SHA1(5d68abd91fa4fa18275c0597c51ce6d3e743d84d) )
  2696: 	ROM_LOAD( "gwb_ic.293",     0x150000, 0x10000, CRC(c04fce8e) SHA1(499edd3b16770d20368f49e5c66c299740831ff0) )
  2697: 	ROM_LOAD( "gwb_ic.294",     0x160000, 0x10000, CRC(4eda3df5) SHA1(574fef723ebd8fa116b4a379036ee5ec3eb10c90) )
  2698: 	ROM_LOAD( "gwb_ic.295",     0x170000, 0x10000, CRC(6e60c475) SHA1(928494400bbdc3571cb5b1ccb51d39537c5fd904) )
  2699: 	ROM_LOAD( "gwb_ic.296",     0x180000, 0x10000, CRC(99b2a557) SHA1(7a4053909cb5f4b2a32f3caac4e2ccdb64c2ce84) )
  2700: 	ROM_LOAD( "gwb_ic.297",     0x190000, 0x10000, CRC(10373f63) SHA1(98ee65c68823530ad2eefd6e570db2f38b59c48e) )
  2701: 	ROM_LOAD( "gwb_ic.298",     0x1a0000, 0x10000, CRC(df37ec4d) SHA1(d2670dde87970a6f33ca3cd81bdc9991d663bac6) )
  2702: 	ROM_LOAD( "gwb_ic.291",     0x1b0000, 0x10000, CRC(beb07a2e) SHA1(f2751bef1850db7173f119fc0cfeefdf47ed7a86) )
  2703: //	ROM_LOAD( "gwb_ic.316",     0x1c0000, 0x10000, CRC(655b1518) SHA1(d97fd911901f92786bc22dac8e085cf4fa0cb1e9) )
  2704: 	ROM_LOAD( "gwb_ic.318",     0x1c0000, 0x10000, CRC(9aeaddf9) SHA1(d609314015376672be8147b9eabbfe4c5611ab73) ) //AT
  2705: 	ROM_LOAD( "gwb_ic.317",     0x1d0000, 0x10000, CRC(1622fadd) SHA1(240eaf117145773e388220513c2906ad2ac5d68b) )
  2706: 	ROM_LOAD( "gwb_ic.284",     0x1e0000, 0x10000, CRC(4aa95d66) SHA1(e5bb51fd32a7e9dc23aa13de35b8757dc11f7908) )
  2707: 	ROM_LOAD( "gwb_ic.285",     0x1f0000, 0x10000, CRC(3a1f3ce0) SHA1(edd8820111a3ef9558286280dc819c6d9f21212f) )
  2708: 	ROM_LOAD( "gwb_ic.286",     0x200000, 0x10000, CRC(886e298b) SHA1(8e8b35a0b24c9c3a1d00079b60bdbaa6c8ce597b) )
  2709: 	ROM_LOAD( "gwb_ic.287",     0x210000, 0x10000, CRC(b9542e6a) SHA1(e5762db1a44a966d2c2b7e8a92abab577e24172f) )
  2710: 	ROM_LOAD( "gwb_ic.288",     0x220000, 0x10000, CRC(8e620056) SHA1(59ea29d681c4b001b656b4b8014b14ac78a69625) )
  2711: 	ROM_LOAD( "gwb_ic.289",     0x230000, 0x10000, CRC(c754d69f) SHA1(e64b8e1f719f5a95b7bcab2d25a40c8b819f7d4f) )
  2712: 	ROM_LOAD( "gwb_ic.290",     0x240000, 0x10000, CRC(306d1963) SHA1(2f19ba97b9bd1744b656095ae0244df2db03b09b) )
  2713: 	ROM_LOAD( "gwb_ic.283",     0x250000, 0x10000, CRC(b46e5761) SHA1(3c4c13c5896186fe36ace8704afeef84b0a0cb78) )
  2714: //	ROM_LOAD( "gwb_ic.280",     0x260000, 0x10000, CRC(222b3dcd) SHA1(f9afe24c01daefe61939672efa2cb68bcc7235f0) )
  2715: 	ROM_LOAD( "gwb_ic.316",     0x260000, 0x10000, CRC(655b1518) SHA1(d97fd911901f92786bc22dac8e085cf4fa0cb1e9) ) //AT
  2716: 	ROM_LOAD( "gwb_ic.315",     0x270000, 0x10000, CRC(e7c9b103) SHA1(6f70ca9b6a7439f9250145477f682f7487e11710) )
  2717: 
  2718: 	ROM_REGION16_BE( 0x40000, REGION_USER1, 0 ) /* Extra code bank */
  2719: 	ROM_LOAD16_BYTE( "u3",        0x00000,  0x20000, CRC(de6fd3c0) SHA1(d957e8de3cb0eda1837376f687b8c272e97e1d11) )
  2720: 	ROM_LOAD16_BYTE( "u4",        0x00001,  0x20000, CRC(43f7f5d3) SHA1(13ea03cfae97d0067dcfdc6febb53dbe268a91eb) )
  2721: ROM_END
  2722: 
  2723: ROM_START( gangwarb )
  2724: 	ROM_REGION( 0x40000, REGION_CPU1, 0 )
  2725: 	ROM_LOAD16_BYTE( "gwb_ic.m15", 0x00000, 0x20000, CRC(7752478e) SHA1(7266dd0d2c57433191ae4d1d4e17b32c8c3c8c73) )
  2726: 	ROM_LOAD16_BYTE( "gwb_ic.m16", 0x00001, 0x20000, CRC(c2f3b85e) SHA1(79c215d8b43ec7728e3745b359e64f6bb8240881) )
  2727: 
  2728: 	ROM_REGION( 0x90000, REGION_CPU2, 0 )   /* Sound CPU */
  2729: 	ROM_LOAD( "gwb_ic.380",      0x00000, 0x08000, CRC(e6d6c9cf) SHA1(c35a7a385592e55bdfe232d042f2228f4f7e9ffa) )
  2730: 	ROM_CONTINUE(                0x18000, 0x08000 )
  2731: 	ROM_LOAD( "gwb_ic.419",      0x30000, 0x10000, CRC(84e5c946) SHA1(0b071d15b664a9c529713b1b896bdb5ebfa16c25) )
  2732: 	ROM_LOAD( "gwb_ic.420",      0x50000, 0x10000, CRC(eb305d42) SHA1(93910cf60c1b8a87969888d8693c7d6782f1e799) )
  2733: 	ROM_LOAD( "gwb_ic.421",      0x70000, 0x10000, CRC(7b9f2608) SHA1(8d61dfa32369450e396cc8a5d67c58eedb2167e6) )
  2734: 
  2735: 	ROM_REGION( 0x020000, REGION_GFX1, ROMREGION_DISPOSE )  /* chars */
  2736: 	ROM_LOAD( "gwb_ic.m19",     0x000000, 0x10000, CRC(b75bf1d0) SHA1(c22c0049274c45701be0a7be2afc0517620a3a10) )
  2737: 
  2738: 	ROM_REGION( 0x280000, REGION_GFX2, ROMREGION_DISPOSE )  /* sprites */
  2739: 	ROM_LOAD( "gwb_ic.308",     0x000000, 0x10000, CRC(321a2fdd) SHA1(b2f37f14a13bc2c2f78b2b0e27fde18a23146e22) )
  2740: 	ROM_LOAD( "gwb_ic.309",     0x010000, 0x10000, CRC(4d908f65) SHA1(6095a34ef4a6905d57c47af4a507dff3a04e5c07) )
  2741: 	ROM_LOAD( "gwb_ic.310",     0x020000, 0x10000, CRC(fc888541) SHA1(e732a03209a88fc7a23b4e4ff69a437d6fbfc2d1) )
  2742: 	ROM_LOAD( "gwb_ic.311",     0x030000, 0x10000, CRC(181b128b) SHA1(2646c9f9cca6277ddd764c07478798c8af3eb297) )
  2743: 	ROM_LOAD( "gwb_ic.312",     0x040000, 0x10000, CRC(930665f3) SHA1(03af85c45acb9600b27dcdd6ec96d147046030e5) )
  2744: 	ROM_LOAD( "gwb_ic.313",     0x050000, 0x10000, CRC(c18f4ca8) SHA1(f5cb666d5aa53f201b6664d1c18b89a211230e78) )
  2745: 	ROM_LOAD( "gwb_ic.314",     0x060000, 0x10000, CRC(dfc44b60) SHA1(311422d4ea77118c0058e9f1a824f74cfa79cb87) )
  2746: 	ROM_LOAD( "gwb_ic.307",     0x070000, 0x10000, CRC(28082a7f) SHA1(e30bade13e03bca49c1f7001c9440ce251ece15d) )
  2747: //	ROM_LOAD( "gwb_ic.320",     0x080000, 0x10000, CRC(9a7b51d8) SHA1(0ab01972d838c938bfd07d7b4661a0ecd009b2cb) )
  2748: 	ROM_LOAD( "gwb_ic.280",     0x080000, 0x10000, CRC(222b3dcd) SHA1(f9afe24c01daefe61939672efa2cb68bcc7235f0) ) //AT
  2749: 	ROM_LOAD( "gwb_ic.321",     0x090000, 0x10000, CRC(6b421c7b) SHA1(d96f91dc7e5f46990b05701483edf43a828a8879) )
  2750: 	ROM_LOAD( "gwb_ic.300",     0x0a0000, 0x10000, CRC(f3fa0877) SHA1(7950ef86ee66d19693f0b7071a3a34d9200f5a19) )
  2751: 	ROM_LOAD( "gwb_ic.301",     0x0b0000, 0x10000, CRC(f8c866de) SHA1(c6baa41bab35d4d9e80c5c52db74e9eb6b9605f5) )
  2752: 	ROM_LOAD( "gwb_ic.302",     0x0c0000, 0x10000, CRC(5b0d587d) SHA1(852bec7d37d8cee33e5bc30080bf8a6a8d2472e5) )
  2753: 	ROM_LOAD( "gwb_ic.303",     0x0d0000, 0x10000, CRC(d8c0e102) SHA1(f660876ab3457230b1c37835f5ad1ccd1e8e821a) )
  2754: 	ROM_LOAD( "gwb_ic.304",     0x0e0000, 0x10000, CRC(b02bc9d8) SHA1(e0466b93c08363cceaba27c8d85e2609d12a10e7) )
  2755: 	ROM_LOAD( "gwb_ic.305",     0x0f0000, 0x10000, CRC(5e04a9aa) SHA1(663330b467eb6406719d4d6cf7b05835b1600a37) )
  2756: 	ROM_LOAD( "gwb_ic.306",     0x100000, 0x10000, CRC(e2172955) SHA1(af13776e6537e736815a1180a1f6bad385724b0c) )
  2757: 	ROM_LOAD( "gwb_ic.299",     0x110000, 0x10000, CRC(e39f5599) SHA1(3c08a8163b528ebbcb627c511ccc2edacf0653c2) )
  2758: //	ROM_LOAD( "gwb_ic.318",     0x120000, 0x10000, CRC(9aeaddf9) SHA1(d609314015376672be8147b9eabbfe4c5611ab73) )
  2759: 	ROM_LOAD( "gwb_ic.320",     0x120000, 0x10000, CRC(9a7b51d8) SHA1(0ab01972d838c938bfd07d7b4661a0ecd009b2cb) ) //AT
  2760: 	ROM_LOAD( "gwb_ic.319",     0x130000, 0x10000, CRC(c5b862b7) SHA1(a48be3e32ae5a656d8d239796e6e7bddd4a0805b) )
  2761: 	ROM_LOAD( "gwb_ic.292",     0x140000, 0x10000, CRC(c125f7be) SHA1(5d68abd91fa4fa18275c0597c51ce6d3e743d84d) )
  2762: 	ROM_LOAD( "gwb_ic.293",     0x150000, 0x10000, CRC(c04fce8e) SHA1(499edd3b16770d20368f49e5c66c299740831ff0) )
  2763: 	ROM_LOAD( "gwb_ic.294",     0x160000, 0x10000, CRC(4eda3df5) SHA1(574fef723ebd8fa116b4a379036ee5ec3eb10c90) )
  2764: 	ROM_LOAD( "gwb_ic.295",     0x170000, 0x10000, CRC(6e60c475) SHA1(928494400bbdc3571cb5b1ccb51d39537c5fd904) )
  2765: 	ROM_LOAD( "gwb_ic.296",     0x180000, 0x10000, CRC(99b2a557) SHA1(7a4053909cb5f4b2a32f3caac4e2ccdb64c2ce84) )
  2766: 	ROM_LOAD( "gwb_ic.297",     0x190000, 0x10000, CRC(10373f63) SHA1(98ee65c68823530ad2eefd6e570db2f38b59c48e) )
  2767: 	ROM_LOAD( "gwb_ic.298",     0x1a0000, 0x10000, CRC(df37ec4d) SHA1(d2670dde87970a6f33ca3cd81bdc9991d663bac6) )
  2768: 	ROM_LOAD( "gwb_ic.291",     0x1b0000, 0x10000, CRC(beb07a2e) SHA1(f2751bef1850db7173f119fc0cfeefdf47ed7a86) )
  2769: //	ROM_LOAD( "gwb_ic.316",     0x1c0000, 0x10000, CRC(655b1518) SHA1(d97fd911901f92786bc22dac8e085cf4fa0cb1e9) )
  2770: 	ROM_LOAD( "gwb_ic.318",     0x1c0000, 0x10000, CRC(9aeaddf9) SHA1(d609314015376672be8147b9eabbfe4c5611ab73) ) //AT
  2771: 	ROM_LOAD( "gwb_ic.317",     0x1d0000, 0x10000, CRC(1622fadd) SHA1(240eaf117145773e388220513c2906ad2ac5d68b) )
  2772: 	ROM_LOAD( "gwb_ic.284",     0x1e0000, 0x10000, CRC(4aa95d66) SHA1(e5bb51fd32a7e9dc23aa13de35b8757dc11f7908) )
  2773: 	ROM_LOAD( "gwb_ic.285",     0x1f0000, 0x10000, CRC(3a1f3ce0) SHA1(edd8820111a3ef9558286280dc819c6d9f21212f) )
  2774: 	ROM_LOAD( "gwb_ic.286",     0x200000, 0x10000, CRC(886e298b) SHA1(8e8b35a0b24c9c3a1d00079b60bdbaa6c8ce597b) )
  2775: 	ROM_LOAD( "gwb_ic.287",     0x210000, 0x10000, CRC(b9542e6a) SHA1(e5762db1a44a966d2c2b7e8a92abab577e24172f) )
  2776: 	ROM_LOAD( "gwb_ic.288",     0x220000, 0x10000, CRC(8e620056) SHA1(59ea29d681c4b001b656b4b8014b14ac78a69625) )
  2777: 	ROM_LOAD( "gwb_ic.289",     0x230000, 0x10000, CRC(c754d69f) SHA1(e64b8e1f719f5a95b7bcab2d25a40c8b819f7d4f) )
  2778: 	ROM_LOAD( "gwb_ic.290",     0x240000, 0x10000, CRC(306d1963) SHA1(2f19ba97b9bd1744b656095ae0244df2db03b09b) )
  2779: 	ROM_LOAD( "gwb_ic.283",     0x250000, 0x10000, CRC(b46e5761) SHA1(3c4c13c5896186fe36ace8704afeef84b0a0cb78) )
  2780: //	ROM_LOAD( "gwb_ic.280",     0x260000, 0x10000, CRC(222b3dcd) SHA1(f9afe24c01daefe61939672efa2cb68bcc7235f0) )
  2781: 	ROM_LOAD( "gwb_ic.316",     0x260000, 0x10000, CRC(655b1518) SHA1(d97fd911901f92786bc22dac8e085cf4fa0cb1e9) ) //AT
  2782: 	ROM_LOAD( "gwb_ic.315",     0x270000, 0x10000, CRC(e7c9b103) SHA1(6f70ca9b6a7439f9250145477f682f7487e11710) )
  2783: 
  2784: 	ROM_REGION16_BE( 0x40000, REGION_USER1, 0 ) /* Extra code bank */
  2785: 	ROM_LOAD16_BYTE( "gwb_ic.m17", 0x00000, 0x20000, CRC(2a5fe86e) SHA1(0e668f51430983a17e1965143a0bf3aa4d3156ee) )
  2786: 	ROM_LOAD16_BYTE( "gwb_ic.m18", 0x00001, 0x20000, CRC(c8b60c53) SHA1(352c3bcc18cf63bcb757d774c2c2247ce0c4e736) )
  2787: ROM_END
  2788: 
  2789: ROM_START( sbasebal )
  2790: 	ROM_REGION( 0x40000, REGION_CPU1, 0 )
  2791: 	ROM_LOAD16_BYTE( "snksb1.bin", 0x00000, 0x20000, CRC(304fef2d) SHA1(03154e590807f7fd009068b403e1ea039272029d) )
  2792: 	ROM_LOAD16_BYTE( "snksb2.bin", 0x00001, 0x20000, CRC(35821339) SHA1(2c4303bf799de7cb364cadac44ff28306088e2f4) )
  2793: 
  2794: 	ROM_REGION( 0x90000, REGION_CPU2, 0 )   /* Sound CPU */
  2795: 	ROM_LOAD( "snksb3.bin",      0x00000, 0x08000, CRC(89e12f25) SHA1(1c569958a7f5a91b54f1316c1d5ee027be8618d6) )
  2796: 	ROM_CONTINUE(                0x18000, 0x08000 )
  2797: 	ROM_LOAD( "snksb4.bin",      0x30000, 0x10000, CRC(cca2555d) SHA1(13c672331e8e5e5dd8fc3aa7829d46de6b8271f3) )
  2798: 	ROM_LOAD( "snksb5.bin",      0x50000, 0x10000, CRC(f45ee36f) SHA1(cdfdf696e9fcd2827ab1dd6adc2a45085911333d) )
  2799: 	ROM_LOAD( "snksb6.bin",      0x70000, 0x10000, CRC(651c9472) SHA1(bcff6679e22143cd6816c441c5a67b4956ee7ee0) )
  2800: 
  2801: 	ROM_REGION( 0x020000, REGION_GFX1, ROMREGION_DISPOSE )  /* chars */
  2802: 	ROM_LOAD( "snksb7.bin",      0x000000, 0x10000, CRC(8f3c2e25) SHA1(a5b3880f3079cce607678fd4ea5971560ce9ed8d) )
  2803: 
  2804: 	ROM_REGION( 0x280000, REGION_GFX2, ROMREGION_DISPOSE )  /* sprites */
  2805: 	ROM_LOAD( "kcbchr3.bin",     0x000000, 0x80000, CRC(719071c7) SHA1(47eded73eae25af04cf369f1a8ee657fd06b6480) )
  2806: 	ROM_LOAD( "kcbchr2.bin",     0x0a0000, 0x80000, CRC(014f0f90) SHA1(e80594f06faf303c4034a711fe55dad046ebf9aa) )
  2807: 	ROM_LOAD( "kcbchr1.bin",     0x140000, 0x80000, CRC(a5ce1e10) SHA1(c91cad45a918166155be3f93f4ed299389579f4a) )
  2808: 	ROM_LOAD( "kcbchr0.bin",     0x1e0000, 0x80000, CRC(b8a1a088) SHA1(cb21a04387431b1810130abd86a2ebf78cf09a3b) )
  2809: ROM_END
  2810: 
  2811: ROM_START( tnexspce )
  2812: 	ROM_REGION( 0x40000, REGION_CPU1, 0 )
  2813: 	ROM_LOAD16_BYTE( "ns_4.bin", 0x00000, 0x20000, CRC(4617cba3) SHA1(615a1e67fc1c76d2be004b19a965f423b8daaf5c) )
  2814: 	ROM_LOAD16_BYTE( "ns_3.bin", 0x00001, 0x20000, CRC(a6c47fef) SHA1(b7e4a0fffd5c44ed0b138c1ad04c3b6644ec463b) )
  2815: 
  2816: 	ROM_REGION( 0x10000, REGION_CPU2, 0 )   /* Sound CPU */
  2817: 	ROM_LOAD( "ns_1.bin",  0x000000, 0x10000, CRC(fc26853c) SHA1(0118b048046a6125bba20dec081b936486eb1597) )
  2818: 
  2819: 	ROM_REGION( 0x080000, REGION_GFX1, ROMREGION_DISPOSE )
  2820: 	ROM_LOAD( "ns_5678.bin", 0x000000, 0x80000, CRC(22756451) SHA1(ce1d58a75ef4b09feb6fd9b3dd2de48b986070c0) )
  2821: 
  2822: 	ROM_REGION( 0x8000, REGION_USER1, 0 )
  2823: 	ROM_LOAD( "ns_2.bin",    0x0000,  0x8000,  CRC(05771d48) SHA1(9e9376b1449679f554eabf8cea023714dd1ed487) ) /* Colour lookup */
  2824: 
  2825: 	ROM_REGION( 0x1000, REGION_PROMS, 0 ) //AT: corrected PROM order
  2826: 	ROM_LOAD( "ns_p2.prm", 0x0000,  0x0100,  CRC(1f388d48) SHA1(5e7dc37b4e177483f4fc65b801dca8ef132ac282) ) /* R */
  2827: 	ROM_LOAD( "ns_p3.prm", 0x0100,  0x0100,  CRC(0254533a) SHA1(d0ec0d03ed78482cd9344661eab3305640e85682) ) /* G */
  2828: 	ROM_LOAD( "ns_p1.prm", 0x0200,  0x0100,  CRC(488fd0e9) SHA1(cde18e9ca0b320ded821bea537c88424b02e8910) ) /* B */
  2829: 	ROM_LOAD( "ns_p5.prm", 0x0300,  0x0400,  CRC(9c8527bf) SHA1(6b52ab37ea6c07a4814ed33deadd59d137b5fd4d) ) /* Clut high nibble */
  2830: 	ROM_LOAD( "ns_p4.prm", 0x0700,  0x0400,  CRC(cc9ff769) SHA1(e9de0371fd8bae7f08924891d78799ace97902b1) ) /* Clut low nibble */
  2831: ROM_END
  2832: 
  2833: /******************************************************************************/
  2834: 
  2835: static READ16_HANDLER( timesold_cycle_r )
  2836: {
  2837: 	int ret=shared_ram[0x4];
  2838: 
  2839: 	if (activecpu_get_pc()==0x9ea2 && (ret&0xff00)==0) {
  2840: 		cpu_spinuntil_int();
  2841: 		return 0x100 | (ret&0xff);
  2842: 	}
  2843: 
  2844: 	return ret;
  2845: }
  2846: 
  2847: static READ16_HANDLER( timesol1_cycle_r )
  2848: {
  2849: 	int ret=shared_ram[0x4];
  2850: 
  2851: 	if (activecpu_get_pc()==0x9e20 && (ret&0xff00)==0) {
  2852: 		cpu_spinuntil_int();
  2853: 		return 0x100 | (ret&0xff);
  2854: 	}
  2855: 
  2856: 	return ret;
  2857: }
  2858: 
  2859: static READ16_HANDLER( btlfield_cycle_r )
  2860: {
  2861: 	int ret=shared_ram[0x4];
  2862: 
  2863: 	if (activecpu_get_pc()==0x9e1c && (ret&0xff00)==0) {
  2864: 		cpu_spinuntil_int();
  2865: 		return 0x100 | (ret&0xff);
  2866: 	}
  2867: 
  2868: 	return ret;
  2869: }
  2870: 
  2871: static READ16_HANDLER( skysoldr_cycle_r )
  2872: {
  2873: 	int ret=shared_ram[0x4];
  2874: 
  2875: 	if (activecpu_get_pc()==0x1f4e && (ret&0xff00)==0) {
  2876: 		cpu_spinuntil_int();
  2877: 		return 0x100 | (ret&0xff);
  2878: 	}
  2879: 
  2880: 	return ret;
  2881: }
  2882: 
  2883: static READ16_HANDLER( skyadvnt_cycle_r )
  2884: {
  2885: 	int ret=shared_ram[0x4];
  2886: 
  2887: 	if (activecpu_get_pc()==0x1f78 && (ret&0xff00)==0) {
  2888: 		cpu_spinuntil_int();
  2889: 		return 0x100 | (ret&0xff);
  2890: 	}
  2891: 
  2892: 	return ret;
  2893: }
  2894: 
  2895: static READ16_HANDLER( gangwars_cycle_r )
  2896: {
  2897: 	int ret=shared_ram[0x103];
  2898: 
  2899: 	if (activecpu_get_pc()==0xbbb6) {
  2900: 		cpu_spinuntil_int();
  2901: 		return (ret+2)&0xff;
  2902: 	}
  2903: 
  2904: 	return ret;
  2905: }
  2906: 
  2907: static READ16_HANDLER( gangwarb_cycle_r )
  2908: {
  2909: 	int ret=shared_ram[0x103];
  2910: 
  2911: 	if (activecpu_get_pc()==0xbbca) {
  2912: 		cpu_spinuntil_int();
  2913: 		return (ret+2)&0xff;
  2914: 	}
  2915: 
  2916: 	return ret;
  2917: }
  2918: 
  2919: /******************************************************************************/
  2920: 
  2921: static DRIVER_INIT( sstingry )
  2922: {
  2923: 	invert_controls=0;
  2924: 	microcontroller_id=0x00ff;
  2925: 	coin_id=0x22|(0x22<<8);
  2926: }
  2927: 
  2928: static DRIVER_INIT( kyros )
  2929: {
  2930: 	invert_controls=0;
  2931: 	microcontroller_id=0x0012;
  2932: 	coin_id=0x22|(0x22<<8);
  2933: }
  2934: 
  2935: static DRIVER_INIT( paddlema )
  2936: {
  2937: 	microcontroller_id=0;
  2938: 	coin_id=0;				// Not needed !
  2939: }
  2940: 
  2941: static DRIVER_INIT( timesold )
  2942: {
  2943: 	install_mem_read16_handler(0, 0x40008, 0x40009, timesold_cycle_r);
  2944: 	invert_controls=0;
  2945: 	microcontroller_id=0;
  2946: 	coin_id=0x22|(0x22<<8);
  2947: }
  2948: 
  2949: static DRIVER_INIT( timesol1 )
  2950: {
  2951: 	install_mem_read16_handler(0, 0x40008, 0x40009, timesol1_cycle_r);
  2952: 	invert_controls=1;
  2953: 	microcontroller_id=0;
  2954: 	coin_id=0x22|(0x22<<8);
  2955: }
  2956: 
  2957: static DRIVER_INIT( btlfield )
  2958: {
  2959: 	install_mem_read16_handler(0, 0x40008, 0x40009, btlfield_cycle_r);
  2960: 	invert_controls=1;
  2961: 	microcontroller_id=0;
  2962: 	coin_id=0x22|(0x22<<8);
  2963: }
  2964: 
  2965: static DRIVER_INIT( skysoldr )
  2966: {
  2967: 	install_mem_read16_handler(0, 0x40008, 0x40009, skysoldr_cycle_r);
  2968: 	cpu_setbank(8, (memory_region(REGION_USER1))+0x40000);
  2969: 	invert_controls=0;
  2970: 	microcontroller_id=0;
  2971: 	coin_id=0x22|(0x22<<8);
  2972: }
  2973: 
  2974: static DRIVER_INIT( goldmedl )
  2975: {
  2976: 	invert_controls=0;
  2977: 	microcontroller_id=0x8803; //AT
  2978: 	coin_id=0x23|(0x24<<8);
  2979: }
  2980: 
  2981: static DRIVER_INIT( goldmedb )
  2982: {
  2983: 	cpu_setbank(8, memory_region(REGION_USER1));
  2984: 	invert_controls=0;
  2985: 	microcontroller_id=0x8803; //Guess - routine to handle coinage is the same as in 'goldmedl'
  2986: 	coin_id=0x23|(0x24<<8);
  2987: }
  2988: 
  2989: static DRIVER_INIT( skyadvnt )
  2990: {
  2991: 	install_mem_read16_handler(0, 0x40008, 0x40009, skyadvnt_cycle_r);
  2992: 	invert_controls=0;
  2993: 	microcontroller_id=0x8814;
  2994: 	coin_id=0x22|(0x22<<8);
  2995: }
  2996: 
  2997: static DRIVER_INIT( skyadvnu )
  2998: {
  2999: 	install_mem_read16_handler(0, 0x40008, 0x40009, skyadvnt_cycle_r);
  3000: 	invert_controls=0;
  3001: 	microcontroller_id=0x8814;
  3002: 	coin_id=0x23|(0x24<<8);
  3003: }
  3004: 
  3005: static DRIVER_INIT( gangwars )
  3006: {
  3007: 	install_mem_read16_handler(0, 0x40206, 0x40207, gangwars_cycle_r);
  3008: 	cpu_setbank(8, memory_region(REGION_USER1));
  3009: 	invert_controls=0;
  3010: 	microcontroller_id=0x8512;
  3011: 	coin_id=0x23|(0x24<<8);
  3012: }
  3013: 
  3014: static DRIVER_INIT( gangwarb )
  3015: {
  3016: 	install_mem_read16_handler(0, 0x40206, 0x40207, gangwarb_cycle_r);
  3017: 	cpu_setbank(8, memory_region(REGION_USER1));
  3018: 	invert_controls=0;
  3019: 	microcontroller_id=0x8512;
  3020: 	coin_id=0x23|(0x24<<8);
  3021: }
  3022: 
  3023: static DRIVER_INIT( sbasebal )
  3024: {
  3025: 	data16_t *rom = (data16_t *)memory_region(REGION_CPU1);
  3026: 
  3027: 	/* Game hangs on divide by zero?!  Patch it */
  3028: 	rom[0xb672/2] = 0x4e71;
  3029: 
  3030: 	/* And patch the ROM checksums */
  3031: 	rom[0x44e/2] = 0x4e71;
  3032: 	rom[0x450/2] = 0x4e71;
  3033: 	rom[0x458/2] = 0x4e71;
  3034: 	rom[0x45a/2] = 0x4e71;
  3035: 
  3036: #if SBASEBAL_HACK 
  3037: 	rom[0x2b4/2] = 0x4e71;
  3038: 	rom[0x2b6/2] = 0x4e71;
  3039: #endif 
  3040: 
  3041: 	invert_controls=0;
  3042: 	microcontroller_id=0x8512;	// Same as 'gangwars' ?
  3043: 	coin_id=0x23|(0x24<<8);
  3044: }
  3045: 
  3046: static DRIVER_INIT( tnexspce )
  3047: {
  3048: 	invert_controls=0;
  3049: 	microcontroller_id=0x890a;
  3050: 	coin_id=0;				// Not needed !
  3051: }
  3052: 
  3053: /******************************************************************************/
  3054: 
  3055: GAMEX(1986, sstingry, 0,        sstingry,      sstingry, sstingry, ROT90, "Alpha Denshi Co.",   "Super Stingray", GAME_NO_COCKTAIL | GAME_WRONG_COLORS )
  3056: GAMEX(1987, kyros,    0,        kyros,         kyros,    kyros,    ROT90, "World Games Inc",    "Kyros", GAME_NO_COCKTAIL )
  3057: GAMEX(1986, kyrosj,   kyros,    kyros,         kyros,    kyros,    ROT90, "Alpha Denshi Co.",    "Kyros No Yakata (Japan)", GAME_NO_COCKTAIL )
  3058: GAME( 1988, paddlema, 0,        alpha68k_I,    paddlema, paddlema, ROT90, "SNK",                "Paddle Mania" )
  3059: GAME( 1987, timesold, 0,        alpha68k_II,   timesold, timesold, ROT90, "[Alpha Denshi Co.] (SNK/Romstar license)", "Time Soldiers (US Rev 3)" )
  3060: GAME( 1987, timesol1, timesold, alpha68k_II,   timesold, timesol1, ROT90, "[Alpha Denshi Co.] (SNK/Romstar license)", "Time Soldiers (US Rev 1)" )
  3061: GAME( 1987, btlfield, timesold, alpha68k_II,   btlfield, btlfield, ROT90, "[Alpha Denshi Co.] (SNK license)", "Battle Field (Japan)" )
  3062: GAME( 1988, skysoldr, 0,        alpha68k_II,   skysoldr, skysoldr, ROT90, "[Alpha Denshi Co.] (SNK of America/Romstar license)", "Sky Soldiers (US)" )
  3063: GAME( 1988, goldmedl, 0,        alpha68k_II_gm,goldmedl, goldmedl, ROT0,  "SNK",                "Gold Medalist" )
  3064: GAMEX(1988, goldmedb, goldmedl, alpha68k_II_gm,goldmedl, goldmedb, ROT0,  "bootleg",            "Gold Medalist (bootleg)", GAME_NOT_WORKING )
  3065: GAME( 1989, skyadvnt, 0,        alpha68k_V,    skyadvnt, skyadvnt, ROT90, "Alpha Denshi Co.",   "Sky Adventure (World)" )
  3066: GAME( 1989, skyadvnu, skyadvnt, alpha68k_V,    skyadvnu, skyadvnu, ROT90, "Alpha Denshi Co. (SNK of America license)", "Sky Adventure (US)" )
  3067: GAME( 1989, skyadvnj, skyadvnt, alpha68k_V,    skyadvnt, skyadvnt, ROT90, "Alpha Denshi Co.",   "Sky Adventure (Japan)" )
  3068: GAME( 1989, gangwars, 0,        alpha68k_V,    gangwars, gangwars, ROT0,  "Alpha Denshi Co.",   "Gang Wars (US)" )
  3069: GAME( 1989, gangwarb, gangwars, alpha68k_V,    gangwarb, gangwarb, ROT0,  "bootleg",            "Gang Wars (bootleg)" )
  3070: #if SBASEBAL_HACK 
  3071: GAME( 1989, sbasebal, 0,        alpha68k_V_sb, sbasebal, sbasebal, ROT0,  "Alpha Denshi Co.",   "Super Champion Baseball (Japan)" )
  3072: #else 
  3073: GAME( 1989, sbasebal, 0,        alpha68k_V_sb, sbasebal, sbasebal, ROT0,  "Alpha Denshi Co. (SNK of America license)", "Super Champion Baseball (US)" )
  3074: #endif 
  3075: GAMEX(1989, tnexspce, 0,        tnexspce,      tnexspce, tnexspce, ROT90, "SNK",                "The Next Space", GAME_NO_COCKTAIL )
  3076: 
  3077: 




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