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

Source Listing


     1: /***************************************************************************
     2: 
     3: Vanguard memory map (preliminary)
     4: 
     5: 0000-03ff RAM
     6: 0400-07ff Video RAM 1
     7: 0800-0bff Video RAM 2
     8: 0c00-0fff Color RAM (3 bits for video RAM 1 and 3 bits for video RAM 2)
     9: 1000-1fff Character generator RAM
    10: 4000-bfff ROM
    11: 
    12: read:
    13: 3104      IN0
    14: 3105      IN1
    15: 3106      DSW ??
    16: 3107      IN2
    17: 
    18: write
    19: 3100      Sound Port 0
    20: 3101      Sound Port 1
    21: 3103      bit 7 = flip screen
    22: 3200      y scroll register
    23: 3300      x scroll register
    24: 
    25: Fantasy and Nibbler memory map (preliminary)
    26: 
    27: 0000-03ff RAM
    28: 0400-07ff Video RAM 1
    29: 0800-0bff Video RAM 2
    30: 0c00-0fff Color RAM (3 bits for video RAM 1 and 3 bits for video RAM 2)
    31: 1000-1fff Character generator RAM
    32: 3000-bfff ROM
    33: 
    34: read:
    35: 2104      IN0
    36: 2105      IN1
    37: 2106      DSW
    38: 2107      IN2
    39: 
    40: write
    41: 2000-2001 To the HD46505S video controller
    42: 2100      Sound Port 0
    43: 2101      Sound Port 1
    44: 2103      bit 7 = flip screen
    45:           bit 4-6 = music 2
    46:           bit 3 = char bank selector
    47:           bit 0-2 = background color
    48: 2200      y scroll register
    49: 2300      x scroll register
    50: 
    51: Interrupts: VBlank causes an IRQ. Coin insertion causes a NMI.
    52: 
    53: Pioneer Balloon memory map (preliminary)
    54: 
    55: 0000-03ff RAM		   IC13 cpu
    56: 0400-07ff Video RAM 1  IC67 video
    57: 0800-0bff Video RAM 2  ???? video
    58: 0c00-0fff Color RAM    IC68 (3 bits for VRAM 1 and 3 bits for VRAM 2)
    59: 1000-1fff RAM		   ???? Character generator
    60: 3000-3fff ROM 4/5	   IC12
    61: 4000-4fff ROM 1 	   IC07
    62: 5000-5fff ROM 2 	   IC08
    63: 6000-6fff ROM 3 	   IC09
    64: 7000-7fff ROM 4 	   IC10
    65: 8000-8fff ROM 5 	   IC14
    66: 9000-9fff ROM 6 	   IC15
    67: read:
    68: b104	  IN0
    69: b105	  IN1
    70: b106	  DSW
    71: b107	  IN2
    72: 
    73: write
    74: b000	  Sound Port 0
    75: b001	  Sound Port 1
    76: b100	  ????
    77: b103	  bit 7 = flip screen
    78:           bit 4-6 = music 2
    79:           bit 3 = char bank selector
    80:           bit 0-2 = background color
    81: b106	  ????
    82: b200	  y scroll register
    83: b300	  x scroll register
    84: 
    85: Interrupts: VBlank causes an IRQ. Coin insertion causes a NMI.
    86: 
    87: ***************************************************************************/
    88: 
    89: #include "driver.h" 
    90: #include "vidhrdw/generic.h" 
    91: #include "vidhrdw/crtc6845.h" 
    92: 
    93: 
    94: extern UINT8 *rockola_videoram2;
    95: extern UINT8 *rockola_charram;
    96: 
    97: extern const char *vanguard_sample_names[];
    98: 
    99: 
   100: extern WRITE_HANDLER( rockola_colorram_w );
   101: extern WRITE_HANDLER( rockola_videoram_w );
   102: extern WRITE_HANDLER( rockola_videoram2_w );
   103: extern WRITE_HANDLER( rockola_charram_w );
   104: extern WRITE_HANDLER( rockola_flipscreen_w );
   105: extern WRITE_HANDLER( rockola_scrollx_w );
   106: extern WRITE_HANDLER( rockola_scrolly_w );
   107: 
   108: extern PALETTE_INIT( rockola );
   109: extern VIDEO_START( rockola );
   110: extern VIDEO_UPDATE( rockola );
   111: 
   112: extern WRITE_HANDLER( satansat_charram_w );
   113: extern WRITE_HANDLER( satansat_b002_w );
   114: extern WRITE_HANDLER( satansat_backcolor_w );
   115: 
   116: extern PALETTE_INIT( satansat );
   117: extern VIDEO_START( satansat );
   118: 
   119: extern WRITE_HANDLER( satansat_sound0_w );
   120: extern WRITE_HANDLER( satansat_sound1_w );
   121: extern WRITE_HANDLER( vanguard_sound0_w );
   122: extern WRITE_HANDLER( vanguard_sound1_w );
   123: extern WRITE_HANDLER( fantasy_sound0_w );
   124: extern WRITE_HANDLER( fantasy_sound1_w );
   125: extern WRITE_HANDLER( fantasy_sound2_w );
   126: 
   127: int rockola_sh_start(const struct MachineSound *msound);
   128: void rockola_sh_update(void);
   129: 
   130: 
   131: 
   132: static MEMORY_WRITE_START( sasuke_writemem )
   133: 	{ 0x0000, 0x03ff, MWA_RAM },
   134: 	{ 0x0400, 0x07ff, rockola_videoram2_w, &rockola_videoram2 },
   135: 	{ 0x0800, 0x0bff, rockola_videoram_w, &videoram },
   136: 	{ 0x0c00, 0x0fff, rockola_colorram_w, &colorram },
   137: 	{ 0x1000, 0x1fff, rockola_charram_w, &rockola_charram },
   138: 	{ 0x4000, 0x97ff, MWA_ROM },
   139: 	{ 0x3000, 0x3000, crtc6845_address_w },
   140: 	{ 0x3001, 0x3001, crtc6845_register_w },
   141: 	{ 0xb002, 0xb002, satansat_b002_w },	/* flip screen & irq enable */
   142: 	{ 0xb003, 0xb003, satansat_backcolor_w },
   143: MEMORY_END
   144: 
   145: static MEMORY_READ_START( satansat_readmem )
   146: 	{ 0x0000, 0x1fff, MRA_RAM },
   147: 	{ 0x4000, 0x97ff, MRA_ROM },
   148: 	{ 0xb004, 0xb004, input_port_0_r }, /* IN0 */
   149: 	{ 0xb005, 0xb005, input_port_1_r }, /* IN1 */
   150: 	{ 0xb006, 0xb006, input_port_2_r }, /* DSW */
   151: 	{ 0xb007, 0xb007, input_port_3_r }, /* IN2 */
   152: 	{ 0xf800, 0xffff, MRA_ROM },
   153: MEMORY_END
   154: 
   155: static MEMORY_WRITE_START( satansat_writemem )
   156: 	{ 0x0000, 0x03ff, MWA_RAM },
   157: 	{ 0x0400, 0x07ff, rockola_videoram2_w, &rockola_videoram2 },
   158: 	{ 0x0800, 0x0bff, rockola_videoram_w, &videoram },
   159: 	{ 0x0c00, 0x0fff, rockola_colorram_w, &colorram },
   160: 	{ 0x1000, 0x1fff, rockola_charram_w, &rockola_charram },
   161: 	{ 0x4000, 0x97ff, MWA_ROM },
   162: 	{ 0x3000, 0x3000, crtc6845_address_w },
   163: 	{ 0x3001, 0x3001, crtc6845_register_w },
   164: 	{ 0xb000, 0xb000, satansat_sound0_w },
   165: 	{ 0xb001, 0xb001, satansat_sound1_w },
   166: 	{ 0xb002, 0xb002, satansat_b002_w },	/* flip screen & irq enable */
   167: 	{ 0xb003, 0xb003, satansat_backcolor_w },
   168: MEMORY_END
   169: 
   170: static MEMORY_READ_START( vanguard_readmem )
   171: 	{ 0x0000, 0x1fff, MRA_RAM },
   172: 	{ 0x3104, 0x3104, input_port_0_r },	/* IN0 */
   173: 	{ 0x3105, 0x3105, input_port_1_r },	/* IN1 */
   174: 	{ 0x3106, 0x3106, input_port_2_r },	/* DSW */
   175: 	{ 0x3107, 0x3107, input_port_3_r },	/* IN2 */
   176: 	{ 0x4000, 0xbfff, MRA_ROM },
   177: 	{ 0xf000, 0xffff, MRA_ROM },	/* for the reset / interrupt vectors */
   178: MEMORY_END
   179: 
   180: static MEMORY_WRITE_START( vanguard_writemem )
   181: 	{ 0x0000, 0x03ff, MWA_RAM },
   182: 	{ 0x0400, 0x07ff, rockola_videoram2_w, &rockola_videoram2 },
   183: 	{ 0x0800, 0x0bff, rockola_videoram_w, &videoram },
   184: 	{ 0x0c00, 0x0fff, rockola_colorram_w, &colorram },
   185: 	{ 0x1000, 0x1fff, rockola_charram_w, &rockola_charram },
   186: 	{ 0x3000, 0x3000, crtc6845_address_w },
   187: 	{ 0x3001, 0x3001, crtc6845_register_w },
   188: 	{ 0x3100, 0x3100, vanguard_sound0_w },
   189: 	{ 0x3101, 0x3101, vanguard_sound1_w },
   190: //	{ 0x3102, 0x3102, },	/* TODO: music channels #0 and #1 volume */
   191: 	{ 0x3103, 0x3103, rockola_flipscreen_w },
   192: 	{ 0x3200, 0x3200, rockola_scrollx_w },
   193: 	{ 0x3300, 0x3300, rockola_scrolly_w },
   194: 	{ 0x4000, 0xbfff, MWA_ROM },
   195: MEMORY_END
   196: 
   197: static MEMORY_READ_START( fantasy_readmem )
   198: 	{ 0x0000, 0x1fff, MRA_RAM },
   199: 	{ 0x2104, 0x2104, input_port_0_r },	/* IN0 */
   200: 	{ 0x2105, 0x2105, input_port_1_r },	/* IN1 */
   201: 	{ 0x2106, 0x2106, input_port_2_r },	/* DSW */
   202: 	{ 0x2107, 0x2107, input_port_3_r },	/* IN2 */
   203: 	{ 0x3000, 0xbfff, MRA_ROM },
   204: 	{ 0xfffa, 0xffff, MRA_ROM },
   205: MEMORY_END
   206: 
   207: static MEMORY_WRITE_START( fantasy_writemem )
   208: 	{ 0x0000, 0x03ff, MWA_RAM },
   209: 	{ 0x0400, 0x07ff, rockola_videoram2_w, &rockola_videoram2 },
   210: 	{ 0x0800, 0x0bff, rockola_videoram_w, &videoram },
   211: 	{ 0x0c00, 0x0fff, rockola_colorram_w, &colorram },
   212: 	{ 0x1000, 0x1fff, rockola_charram_w, &rockola_charram },
   213: 	{ 0x2000, 0x2000, crtc6845_address_w },
   214: 	{ 0x2001, 0x2001, crtc6845_register_w },
   215: 	{ 0x2100, 0x2100, fantasy_sound0_w },
   216: 	{ 0x2101, 0x2101, fantasy_sound1_w },
   217: //	{ 0x2102, 0x2102, },	/* TODO: music channels #0 and #1 volume */
   218: 	{ 0x2103, 0x2103, fantasy_sound2_w },	/* + flipscreen, gfx bank, bg color */
   219: 	{ 0x2200, 0x2200, rockola_scrollx_w },
   220: 	{ 0x2300, 0x2300, rockola_scrolly_w },
   221: 	{ 0x3000, 0xbfff, MWA_ROM },
   222: MEMORY_END
   223: 
   224: static MEMORY_READ_START( pballoon_readmem )
   225: 	{ 0x0000, 0x1fff, MRA_RAM },
   226: 	{ 0x3000, 0x9fff, MRA_ROM },
   227: 	{ 0xb104, 0xb104, input_port_0_r },	/* IN0 */
   228: 	{ 0xb105, 0xb105, input_port_1_r },	/* IN1 */
   229: 	{ 0xb106, 0xb106, input_port_2_r },	/* DSW */
   230: 	{ 0xb107, 0xb107, input_port_3_r },	/* IN2 */
   231: 	{ 0xfffa, 0xffff, MRA_ROM },
   232: MEMORY_END
   233: 
   234: static MEMORY_WRITE_START( pballoon_writemem )
   235: 	{ 0x0000, 0x03ff, MWA_RAM },
   236: 	{ 0x0400, 0x07ff, rockola_videoram2_w, &rockola_videoram2 },
   237: 	{ 0x0800, 0x0bff, rockola_videoram_w, &videoram },
   238: 	{ 0x0c00, 0x0fff, rockola_colorram_w, &colorram },
   239: 	{ 0x1000, 0x1fff, rockola_charram_w, &rockola_charram },
   240: 	{ 0x3000, 0x9fff, MWA_ROM },
   241: 	{ 0xb000, 0xb000, crtc6845_address_w },
   242: 	{ 0xb001, 0xb001, crtc6845_register_w },
   243: 	{ 0xb100, 0xb100, fantasy_sound0_w },
   244: 	{ 0xb101, 0xb101, fantasy_sound1_w },
   245: //	{ 0xb102, 0xb102, },	/* TODO: music channels #0 and #1 volume */
   246: 	{ 0xb103, 0xb103, fantasy_sound2_w },	/* + flipscreen, gfx bank, bg color */
   247: 	{ 0xb200, 0xb200, rockola_scrollx_w },
   248: 	{ 0xb300, 0xb300, rockola_scrolly_w },
   249: MEMORY_END
   250: 
   251: 
   252: 
   253: static INTERRUPT_GEN( satansat_interrupt )
   254: {
   255: 	if (cpu_getiloops() != 0)
   256: 	{
   257: 		/* user asks to insert coin: generate a NMI interrupt. */
   258: 		if (readinputport(3) & 1)
   259: 			cpu_set_irq_line(0, IRQ_LINE_NMI, PULSE_LINE);
   260: 	}
   261: 	else cpu_set_irq_line(0, 0, HOLD_LINE);	/* one IRQ per frame */
   262: }
   263: 
   264: static INTERRUPT_GEN( rockola_interrupt )
   265: {
   266: 	if (cpu_getiloops() != 0)
   267: 	{
   268: 		/* user asks to insert coin: generate a NMI interrupt. */
   269: 		if (readinputport(3) & 3)
   270: 			cpu_set_irq_line(0, IRQ_LINE_NMI, PULSE_LINE);
   271: 	}
   272: 	else cpu_set_irq_line(0, 0, HOLD_LINE);	/* one IRQ per frame */
   273: }
   274: 
   275: /* Derived from Zarzon. Might not reflect the actual hardware. */
   276: INPUT_PORTS_START( sasuke )
   277:     PORT_START  /* IN0 */
   278:     PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT  | IPF_2WAY )
   279:     PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT | IPF_2WAY )
   280:     PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON1 )
   281:     PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT  | IPF_2WAY | IPF_COCKTAIL )
   282:     PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT | IPF_2WAY | IPF_COCKTAIL )
   283:     PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 | IPF_COCKTAIL )
   284:     PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_START1 )
   285:     PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_START2 )
   286: 
   287: 	PORT_START	/* IN1 */
   288:     PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN )
   289:     PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )
   290:     PORT_BIT( 0x7C, IP_ACTIVE_HIGH, IPT_UNKNOWN )
   291:     PORT_BIT( 0x80, IP_ACTIVE_LOW,  IPT_UNKNOWN )
   292: 
   293:     PORT_START  /* DSW */
   294: 	PORT_DIPNAME( 0x01, 0x01, DEF_STR( Cabinet ) )
   295: 	PORT_DIPSETTING(    0x01, DEF_STR( Upright ))
   296: 	PORT_DIPSETTING(    0x00, DEF_STR( Cocktail ) )
   297: 	PORT_DIPNAME( 0x02, 0x00, DEF_STR( Coinage ) )
   298: 	PORT_DIPSETTING (   0x00, DEF_STR( 1C_1C ) )
   299: 	PORT_DIPSETTING (   0x02, DEF_STR( 1C_2C ) )
   300: 	PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) )
   301: 	PORT_DIPSETTING (   0x00, DEF_STR( Off ) )
   302: 	PORT_DIPSETTING (   0x04, DEF_STR( On ) )
   303: 	PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unknown ) )
   304: 	PORT_DIPSETTING (   0x00, DEF_STR( Off ) )
   305: 	PORT_DIPSETTING (   0x08, DEF_STR( On ) )
   306: 	PORT_DIPNAME( 0x30, 0x00, DEF_STR( Lives ) )
   307: 	PORT_DIPSETTING (   0x00, "3" )
   308: 	PORT_DIPSETTING (   0x10, "4" )
   309: 	PORT_DIPSETTING (   0x20, "5" )
   310: 	/* 0x30 gives 3 again */
   311: 	PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unknown ) )
   312: 	PORT_DIPSETTING (   0x00, DEF_STR( Off ) )
   313: 	PORT_DIPSETTING (   0x40, DEF_STR( On ) )
   314: 	PORT_DIPNAME( 0x80, 0x00, "RAM Test" )
   315: 	PORT_DIPSETTING (   0x00, DEF_STR( Off ) )
   316: 	PORT_DIPSETTING (   0x80, DEF_STR( On ) )
   317: 
   318: 	PORT_START  /* IN2 */
   319: 	PORT_BIT_IMPULSE( 0x01, IP_ACTIVE_HIGH, IPT_COIN1, 1 )
   320: 	PORT_BIT( 0x0e, IP_ACTIVE_LOW, IPT_UNUSED )
   321: 	PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNKNOWN )	/* connected to a counter - random number generator? */
   322: INPUT_PORTS_END
   323: 
   324: INPUT_PORTS_START( satansat )
   325:     PORT_START  /* IN0 */
   326:     PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT  | IPF_2WAY )
   327:     PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT | IPF_2WAY )
   328:     PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON1 )
   329:     PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT  | IPF_2WAY | IPF_COCKTAIL )
   330:     PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT | IPF_2WAY | IPF_COCKTAIL )
   331:     PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 | IPF_COCKTAIL )
   332:     PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON2 )
   333:     PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_BUTTON2 | IPF_COCKTAIL )
   334: 
   335: 	PORT_START	/* IN1 */
   336:     PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
   337:     PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
   338:     PORT_BIT( 0x7C, IP_ACTIVE_HIGH, IPT_UNKNOWN )
   339:     PORT_BIT( 0x80, IP_ACTIVE_LOW,  IPT_UNKNOWN )
   340: 
   341:     PORT_START  /* DSW */
   342: 	PORT_DIPNAME( 0x01, 0x01, DEF_STR( Cabinet ) )
   343: 	PORT_DIPSETTING(    0x01, DEF_STR( Upright ))
   344: 	PORT_DIPSETTING(    0x00, DEF_STR( Cocktail ) )
   345: 	PORT_DIPNAME( 0x0a, 0x00, DEF_STR( Coinage ) )
   346: 	PORT_DIPSETTING (   0x08, DEF_STR( 2C_1C ) )
   347: 	PORT_DIPSETTING (   0x00, DEF_STR( 1C_1C ) )
   348: 	PORT_DIPSETTING (   0x02, DEF_STR( 1C_2C ) )
   349: 	/* 0x0a gives 2/1 again */
   350: 	PORT_DIPNAME( 0x04, 0x00, DEF_STR( Bonus_Life ) )
   351: 	PORT_DIPSETTING (   0x00, "5000" )
   352: 	PORT_DIPSETTING (   0x04, "10000" )
   353: 	PORT_DIPNAME( 0x30, 0x00, DEF_STR( Lives ) )
   354: 	PORT_DIPSETTING (   0x00, "3" )
   355: 	PORT_DIPSETTING (   0x10, "4" )
   356: 	PORT_DIPSETTING (   0x20, "5" )
   357: 	/* 0x30 gives 3 again */
   358: 	PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unknown ) )
   359: 	PORT_DIPSETTING (   0x00, DEF_STR( Off ) )
   360: 	PORT_DIPSETTING (   0x40, DEF_STR( On ) )
   361: 	PORT_DIPNAME( 0x80, 0x00, "RAM Test" )
   362: 	PORT_DIPSETTING (   0x00, DEF_STR( Off ) )
   363: 	PORT_DIPSETTING (   0x80, DEF_STR( On ) )
   364: 
   365: 	PORT_START  /* IN2 */
   366: 	PORT_BIT_IMPULSE( 0x01, IP_ACTIVE_HIGH, IPT_COIN1, 1 )
   367: 	PORT_BIT( 0x0e, IP_ACTIVE_LOW, IPT_UNUSED )
   368: 	PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNKNOWN )	/* connected to a counter - random number generator? */
   369: INPUT_PORTS_END
   370: 
   371: INPUT_PORTS_START( vanguard )
   372: 	PORT_START	/* IN0 */
   373: 	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON3 )
   374: 	PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON4 )
   375: 	PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON2 )
   376: 	PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON1 )
   377: 	PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN  | IPF_8WAY)
   378: 	PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP    | IPF_8WAY)
   379: 	PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT | IPF_8WAY )
   380: 	PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT  | IPF_8WAY )
   381: 
   382: 	PORT_START	/* IN1 */
   383: 	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON3 | IPF_COCKTAIL )
   384: 	PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON4 | IPF_COCKTAIL )
   385: 	PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON2 | IPF_COCKTAIL )
   386: 	PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON1 | IPF_COCKTAIL )
   387: 	PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN  | IPF_8WAY | IPF_COCKTAIL )
   388: 	PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP    | IPF_8WAY | IPF_COCKTAIL )
   389: 	PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_COCKTAIL )
   390: 	PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT  | IPF_8WAY | IPF_COCKTAIL )
   391: 
   392: 	PORT_START	/* DSW0 */
   393: 	PORT_DIPNAME( 0x01, 0x01, DEF_STR( Cabinet ) )
   394: 	PORT_DIPSETTING(    0x01, DEF_STR( Upright ) )
   395: 	PORT_DIPSETTING(    0x00, DEF_STR( Cocktail ) )
   396: 	PORT_DIPNAME( 0x4e, 0x02, DEF_STR( Coinage ) )
   397: 	PORT_DIPSETTING(    0x42, DEF_STR( 2C_1C ) )
   398: 	PORT_DIPSETTING(    0x02, "1 Coin/1 Credit 2/3" )
   399: 	PORT_DIPSETTING(    0x00, DEF_STR( 1C_2C ) )
   400: 	PORT_DIPSETTING(    0x48, "1 Coin/2 Credits 2/5" )
   401: 	PORT_DIPSETTING(    0x08, DEF_STR( 1C_3C ) )
   402: 	PORT_DIPSETTING(    0x44, "1 Coin/3 Credits 2/7" )
   403: 	PORT_DIPSETTING(    0x04, DEF_STR( 1C_4C ) )
   404: 	PORT_DIPSETTING(    0x4c, "1 Coin/6 Credits 2/13" )
   405: 	PORT_DIPSETTING(    0x0c, DEF_STR( 1C_7C ) )
   406: /*
   407: 	PORT_DIPSETTING(    0x06, DEF_STR( 1C_2C ) )
   408: 	PORT_DIPSETTING(    0x0a, DEF_STR( 1C_2C ) )
   409: 	PORT_DIPSETTING(    0x0e, DEF_STR( 1C_2C ) )
   410: 	PORT_DIPSETTING(    0x40, "1 Coin/1 Credit + Bonus" )
   411: 	PORT_DIPSETTING(    0x46, "1 Coin/1 Credit + Bonus" )
   412: 	PORT_DIPSETTING(    0x4a, "1 Coin/1 Credit + Bonus" )
   413: 	PORT_DIPSETTING(    0x4e, "1 Coin/1 Credit + Bonus" )
   414: */
   415: 	PORT_DIPNAME( 0x30, 0x00, DEF_STR( Lives ) )
   416: 	PORT_DIPSETTING(    0x00, "3" )
   417: 	PORT_DIPSETTING(    0x10, "4" )
   418: 	PORT_DIPSETTING(    0x20, "5" )
   419: /*	PORT_DIPSETTING(    0x30, "3" ) */
   420: 	PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) )
   421: 	PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
   422: 	PORT_DIPSETTING(    0x80, DEF_STR( On ) )
   423: 
   424: 	PORT_START	/* IN2 */
   425: 	PORT_BIT_IMPULSE( 0x01, IP_ACTIVE_HIGH, IPT_COIN2, 1 )
   426: 	PORT_BIT_IMPULSE( 0x02, IP_ACTIVE_HIGH, IPT_COIN1, 1 )
   427: 	PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNKNOWN )
   428: 	PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN )
   429: 	PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN )
   430: 	PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN )
   431: 	PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_START2 )
   432: 	PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_START1 )
   433: INPUT_PORTS_END
   434: 
   435: INPUT_PORTS_START( fantasy )
   436: 	PORT_START	/* IN0 */
   437: 	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN )
   438: 	PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )
   439: 	PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNKNOWN )
   440: 	PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN )
   441: 	PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN  | IPF_8WAY)
   442: 	PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP    | IPF_8WAY)
   443: 	PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT | IPF_8WAY )
   444: 	PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT  | IPF_8WAY )
   445: 
   446: 	PORT_START	/* IN1 */
   447: 	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN )
   448: 	PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )
   449: 	PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNKNOWN )
   450: 	PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN )
   451: 	PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN  | IPF_8WAY | IPF_COCKTAIL )
   452: 	PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP    | IPF_8WAY | IPF_COCKTAIL )
   453: 	PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_COCKTAIL )
   454: 	PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT  | IPF_8WAY | IPF_COCKTAIL )
   455: 
   456: 	PORT_START	/* DSW0 */
   457: 	PORT_DIPNAME( 0x01, 0x01, DEF_STR( Cabinet ) )
   458: 	PORT_DIPSETTING(    0x01, DEF_STR( Upright ) )
   459: 	PORT_DIPSETTING(    0x00, DEF_STR( Cocktail ) )
   460: 	PORT_DIPNAME( 0x4e, 0x02, DEF_STR( Coinage ) )
   461: 	PORT_DIPSETTING(    0x42, DEF_STR( 2C_1C ) )
   462: 	PORT_DIPSETTING(    0x02, "1 Coin/1 Credit 2/3" )
   463: 	PORT_DIPSETTING(    0x00, DEF_STR( 1C_2C ) )
   464: 	PORT_DIPSETTING(    0x48, "1 Coin/2 Credits 2/5" )
   465: 	PORT_DIPSETTING(    0x08, DEF_STR( 1C_3C ) )
   466: 	PORT_DIPSETTING(    0x44, "1 Coin/3 Credits 2/7" )
   467: 	PORT_DIPSETTING(    0x04, DEF_STR( 1C_4C ) )
   468: 	PORT_DIPSETTING(    0x4c, "1 Coin/6 Credits 2/13" )
   469: 	PORT_DIPSETTING(    0x0c, DEF_STR( 1C_7C ) )
   470: /*
   471: 	PORT_DIPSETTING(    0x06, DEF_STR( 1C_2C ) )
   472: 	PORT_DIPSETTING(    0x0a, DEF_STR( 1C_2C ) )
   473: 	PORT_DIPSETTING(    0x0e, DEF_STR( 1C_2C ) )
   474: 	PORT_DIPSETTING(    0x40, "1 Coin/1 Credit + Bonus" )
   475: 	PORT_DIPSETTING(    0x46, "1 Coin/1 Credit + Bonus" )
   476: 	PORT_DIPSETTING(    0x4a, "1 Coin/1 Credit + Bonus" )
   477: 	PORT_DIPSETTING(    0x4e, "1 Coin/1 Credit + Bonus" )
   478: */
   479: 	PORT_DIPNAME( 0x30, 0x00, DEF_STR( Lives ) )
   480: 	PORT_DIPSETTING(    0x00, "3" )
   481: 	PORT_DIPSETTING(    0x10, "4" )
   482: 	PORT_DIPSETTING(    0x20, "5" )
   483: /*	PORT_DIPSETTING(    0x30, "3" ) */
   484: 	PORT_DIPNAME( 0x80, 0x00, "Allow Continue" )
   485: 	PORT_DIPSETTING(    0x80, DEF_STR( No ) )
   486: 	PORT_DIPSETTING(    0x00, DEF_STR( Yes ) )
   487: 
   488: 	PORT_START	/* IN2 */
   489: 	PORT_BIT_IMPULSE( 0x01, IP_ACTIVE_HIGH, IPT_COIN2, 1 )
   490: 	PORT_BIT_IMPULSE( 0x02, IP_ACTIVE_HIGH, IPT_COIN1, 1 )
   491: 	PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNKNOWN )
   492: 	PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN )
   493: 	PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN )
   494: 	PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN )
   495: 	PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_START2 )
   496: 	PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_START1 )
   497: INPUT_PORTS_END
   498: 
   499: INPUT_PORTS_START( pballoon )
   500: 	PORT_START	/* IN0 */
   501: 	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN )
   502: 	PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )
   503: 	PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNKNOWN )
   504: 	PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON1 )
   505: 	PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN  | IPF_8WAY )
   506: 	PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP    | IPF_8WAY )
   507: 	PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT | IPF_8WAY )
   508: 	PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT  | IPF_8WAY )
   509: 
   510: 	PORT_START	/* IN1 */
   511: 	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN )
   512: 	PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )
   513: 	PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNKNOWN )
   514: 	PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON1 | IPF_COCKTAIL )
   515: 	PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN  | IPF_8WAY | IPF_COCKTAIL )
   516: 	PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP    | IPF_8WAY | IPF_COCKTAIL )
   517: 	PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_COCKTAIL )
   518: 	PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT  | IPF_8WAY | IPF_COCKTAIL )
   519: 
   520: 	PORT_START	/* DSW0 */
   521: 	PORT_DIPNAME( 0x01, 0x01, DEF_STR( Cabinet ) )
   522: 	PORT_DIPSETTING(    0x01, DEF_STR( Upright ) )
   523: 	PORT_DIPSETTING(    0x00, DEF_STR( Cocktail ) )
   524: 	PORT_DIPNAME( 0x4e, 0x02, DEF_STR( Coinage ) )
   525: 	PORT_DIPSETTING(    0x42, DEF_STR( 2C_1C ) )
   526: 	PORT_DIPSETTING(    0x02, "1 Coin/1 Credit 2/3" )
   527: 	PORT_DIPSETTING(    0x00, DEF_STR( 1C_2C ) )
   528: 	PORT_DIPSETTING(    0x48, "1 Coin/2 Credits 2/5" )
   529: 	PORT_DIPSETTING(    0x08, DEF_STR( 1C_3C ) )
   530: 	PORT_DIPSETTING(    0x44, "1 Coin/3 Credits 2/7" )
   531: 	PORT_DIPSETTING(    0x04, DEF_STR( 1C_4C ) )
   532: 	PORT_DIPSETTING(    0x4c, "1 Coin/6 Credits 2/11" )
   533: 	PORT_DIPSETTING(    0x0c, DEF_STR( 1C_7C ) )
   534: /*
   535: 	PORT_DIPSETTING(    0x06, DEF_STR( 1C_2C ) )
   536: 	PORT_DIPSETTING(    0x0a, DEF_STR( 1C_2C ) )
   537: 	PORT_DIPSETTING(    0x0e, DEF_STR( 1C_2C ) )
   538: 	PORT_DIPSETTING(    0x40, "1 Coin/1 Credit + Bonus" )
   539: 	PORT_DIPSETTING(    0x46, "1 Coin/1 Credit + Bonus" )
   540: 	PORT_DIPSETTING(    0x4a, "1 Coin/1 Credit + Bonus" )
   541: 	PORT_DIPSETTING(    0x4e, "1 Coin/1 Credit + Bonus" )
   542: */
   543: 	PORT_DIPNAME( 0x30, 0x00, DEF_STR( Lives ) )
   544: 	PORT_DIPSETTING(    0x00, "3" )
   545: 	PORT_DIPSETTING(    0x10, "4" )
   546: 	PORT_DIPSETTING(    0x20, "5" )
   547: /*	PORT_DIPSETTING(    0x30, "3" ) */
   548: 	PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) )
   549: 	PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
   550: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
   551: 
   552: 	PORT_START	/* IN2 */
   553: 	PORT_BIT_IMPULSE( 0x01, IP_ACTIVE_HIGH, IPT_COIN2, 1 )
   554: 	PORT_BIT_IMPULSE( 0x02, IP_ACTIVE_HIGH, IPT_COIN1, 1 )
   555: 	PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNKNOWN )
   556: 	PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN )
   557: 	PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN )
   558: 	PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN )
   559: 	PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_START2 )
   560: 	PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_START1 )
   561: INPUT_PORTS_END
   562: 
   563: INPUT_PORTS_START( nibbler )
   564: 	PORT_START	/* IN0 */
   565: 	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN )	/* Slow down */
   566: 	PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )	/* debug command? */
   567: 	PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNKNOWN )	/* debug command */
   568: 	PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN )	/* debug command */
   569: 	PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN  | IPF_8WAY)
   570: 	PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP    | IPF_8WAY)
   571: 	PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT | IPF_8WAY )
   572: 	PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT  | IPF_8WAY )
   573: 
   574: 	PORT_START	/* IN1 */
   575: 	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN )	/* Pause */
   576: 	PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )	/* Unpause */
   577: 	PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNKNOWN )	/* End game */
   578: 	PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN )	/* debug command */
   579: 	PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN  | IPF_8WAY | IPF_COCKTAIL )
   580: 	PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP    | IPF_8WAY | IPF_COCKTAIL )
   581: 	PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_COCKTAIL )
   582: 	PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT  | IPF_8WAY | IPF_COCKTAIL )
   583: 
   584: 	PORT_START	/* DSW0 */
   585: 	PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
   586: 	PORT_DIPSETTING(    0x00, "3" )
   587: 	PORT_DIPSETTING(    0x01, "4" )
   588: 	PORT_DIPSETTING(    0x02, "5" )
   589: 	PORT_DIPSETTING(    0x03, "6" )
   590: 	PORT_DIPNAME( 0x04, 0x00, DEF_STR( Difficulty ) )
   591: 	PORT_DIPSETTING(    0x00, "Easy" )
   592: 	PORT_DIPSETTING(    0x04, "Hard" )
   593: 	PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
   594: 	PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
   595: 	PORT_DIPSETTING(    0x08, DEF_STR( Cocktail ) )
   596: 	PORT_BITX(    0x10, 0x00, IPT_DIPSWITCH_NAME | IPF_CHEAT, "Rack Test", KEYCODE_F1, IP_JOY_NONE )
   597: 	PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
   598: 	PORT_DIPSETTING(    0x10, DEF_STR( On ) )
   599: 	PORT_DIPNAME( 0x20, 0x00, DEF_STR( Free_Play ) )
   600: 	PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
   601: 	PORT_DIPSETTING(    0x20, DEF_STR( On ) )
   602: 	PORT_DIPNAME( 0x40, 0x00, DEF_STR( Coinage ) )
   603: 	PORT_DIPSETTING(    0x40, DEF_STR( 2C_1C ) )
   604: 	PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
   605: 	PORT_DIPNAME( 0x80, 0x00, "Bonus Every 2 Credits" )
   606: 	PORT_DIPSETTING(    0x00, DEF_STR( No ) )
   607: 	PORT_DIPSETTING(    0x80, DEF_STR( Yes ) )
   608: 
   609: 	PORT_START	/* IN2 */
   610: 	PORT_BIT_IMPULSE( 0x01, IP_ACTIVE_HIGH, IPT_COIN2, 1 )
   611: 	PORT_BIT_IMPULSE( 0x02, IP_ACTIVE_HIGH, IPT_COIN1, 1 )
   612: 	PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNKNOWN )
   613: 	PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN )
   614: 	PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN )
   615: 	PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN )
   616: 	PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_START2 )
   617: 	PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_START1 )
   618: INPUT_PORTS_END
   619: 
   620: 
   621: 
   622: static struct GfxLayout swapcharlayout =
   623: {
   624: 	8,8,    /* 8*8 characters */
   625: 	256,	/* 256 characters */
   626: 	2,      /* 2 bits per pixel */
   627: 	{ 256*8*8, 0 }, /* the two bitplanes are separated */
   628: 	{ 0, 1, 2, 3, 4, 5, 6, 7 },
   629: 	{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
   630: 	8*8     /* every char takes 8 consecutive bytes */
   631: };
   632: static struct GfxLayout charlayout =
   633: {
   634: 	8,8,    /* 8*8 characters */
   635: 	RGN_FRAC(1,2),
   636: 	2,      /* 2 bits per pixel */
   637: 	{ 0, RGN_FRAC(1,2) }, /* the two bitplanes are separated */
   638: 	{ 0, 1, 2, 3, 4, 5, 6, 7 },
   639: 	{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
   640: 	8*8     /* every char takes 8 consecutive bytes */
   641: };
   642: static struct GfxLayout charlayout_memory =
   643: {
   644: 	8,8,    /* 8*8 characters */
   645: 	256,	/* 256 characters */
   646: 	2,      /* 2 bits per pixel */
   647: 	{ 0, 256*8*8 }, /* the two bitplanes are separated */
   648: 	{ 0, 1, 2, 3, 4, 5, 6, 7 },
   649: 	{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
   650: 	8*8     /* every char takes 8 consecutive bytes */
   651: };
   652: 
   653: 
   654: 
   655: static struct GfxDecodeInfo sasuke_gfxdecodeinfo[] =
   656: {
   657:     { 0,           0x1000, &swapcharlayout,		0, 4 },	/* the game dynamically modifies this */
   658:     { REGION_GFX1, 0x0000, &swapcharlayout,	  4*4, 4 },
   659: 	{ -1 }
   660: };
   661: 
   662: static struct GfxDecodeInfo satansat_gfxdecodeinfo[] =
   663: {
   664:     { 0,           0x1000, &charlayout_memory,	0, 4 },	/* the game dynamically modifies this */
   665:     { REGION_GFX1, 0x0000, &charlayout,		  4*4, 4 },
   666: 	{ -1 }
   667: };
   668: 
   669: static struct GfxDecodeInfo vanguard_gfxdecodeinfo[] =
   670: {
   671: 	{ 0,           0x1000, &charlayout_memory,	0, 8 },	/* the game dynamically modifies this */
   672: 	{ REGION_GFX1, 0x0000, &charlayout,		  8*4, 8 },
   673: 	{ -1 } /* end of array */
   674: };
   675: 
   676: 
   677: 
   678: static struct CustomSound_interface custom_interface =
   679: {
   680: 	rockola_sh_start,
   681: 	0,
   682: 	rockola_sh_update
   683: };
   684: 
   685: static struct Samplesinterface vanguard_samples_interface =
   686: {
   687: 	8,	/* 8 channels */
   688: 	25,	/* volume */
   689: 	vanguard_sample_names
   690: };
   691: 
   692: 
   693: 
   694: static MACHINE_DRIVER_START( sasuke )
   695: 
   696: 	/* basic machine hardware */
   697: 	MDRV_CPU_ADD(M6502,11289000/16)    /* 700 kHz */
   698: 	MDRV_CPU_MEMORY(satansat_readmem,sasuke_writemem)
   699: 	MDRV_CPU_VBLANK_INT(satansat_interrupt,2)
   700: 
   701: 	MDRV_FRAMES_PER_SECOND(60)
   702: 	MDRV_VBLANK_DURATION(DEFAULT_60HZ_VBLANK_DURATION)
   703: 
   704: 	/* video hardware */
   705: 	MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
   706: 	MDRV_SCREEN_SIZE(32*8, 32*8)
   707: 	MDRV_VISIBLE_AREA(0*8, 32*8-1, 0*8, 28*8-1)
   708: 	MDRV_GFXDECODE(sasuke_gfxdecodeinfo)
   709: 	MDRV_PALETTE_LENGTH(32)
   710: 	MDRV_COLORTABLE_LENGTH(4*4 + 4*4)
   711: 
   712: 	MDRV_PALETTE_INIT(satansat)
   713: 	MDRV_VIDEO_START(satansat)
   714: 	MDRV_VIDEO_UPDATE(rockola)
   715: 
   716: 	/* sound hardware */
   717: MACHINE_DRIVER_END
   718: 
   719: 
   720: static MACHINE_DRIVER_START( satansat )
   721: 
   722: 	/* basic machine hardware */
   723: 	MDRV_CPU_ADD(M6502,11289000/16)    /* 700 kHz */
   724: 	MDRV_CPU_MEMORY(satansat_readmem,satansat_writemem)
   725: 	MDRV_CPU_VBLANK_INT(satansat_interrupt,2)
   726: 
   727: 	MDRV_FRAMES_PER_SECOND(60)
   728: 	MDRV_VBLANK_DURATION(DEFAULT_60HZ_VBLANK_DURATION)
   729: 
   730: 	/* video hardware */
   731: 	MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
   732: 	MDRV_SCREEN_SIZE(32*8, 32*8)
   733: 	MDRV_VISIBLE_AREA(0*8, 32*8-1, 0*8, 28*8-1)
   734: 	MDRV_GFXDECODE(satansat_gfxdecodeinfo)
   735: 	MDRV_PALETTE_LENGTH(32)
   736: 	MDRV_COLORTABLE_LENGTH(4*4 + 4*4)
   737: 
   738: 	MDRV_PALETTE_INIT(satansat)
   739: 	MDRV_VIDEO_START(satansat)
   740: 	MDRV_VIDEO_UPDATE(rockola)
   741: 
   742: 	/* sound hardware */
   743: 	MDRV_SOUND_ADD(SAMPLES, vanguard_samples_interface)
   744: 	MDRV_SOUND_ADD(CUSTOM, custom_interface)
   745: MACHINE_DRIVER_END
   746: 
   747: 
   748: static MACHINE_DRIVER_START( vanguard )
   749: 
   750: 	/* basic machine hardware */
   751: 	MDRV_CPU_ADD(M6502, 1000000)    /* 1 MHz??? */
   752: 	MDRV_CPU_MEMORY(vanguard_readmem,vanguard_writemem)
   753: 	MDRV_CPU_VBLANK_INT(rockola_interrupt,2)
   754: 
   755: 	MDRV_FRAMES_PER_SECOND(60)
   756: 	MDRV_VBLANK_DURATION(DEFAULT_60HZ_VBLANK_DURATION)
   757: 
   758: 	/* video hardware */
   759: 	MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
   760: 	MDRV_SCREEN_SIZE(32*8, 32*8)
   761: 	MDRV_VISIBLE_AREA(0*8, 32*8-1, 0*8, 28*8-1)
   762: 	MDRV_GFXDECODE(vanguard_gfxdecodeinfo)
   763: 	MDRV_PALETTE_LENGTH(64)
   764: 	MDRV_COLORTABLE_LENGTH(16*4)
   765: 
   766: 	MDRV_PALETTE_INIT(rockola)
   767: 	MDRV_VIDEO_START(rockola)
   768: 	MDRV_VIDEO_UPDATE(rockola)
   769: 
   770: 	/* sound hardware */
   771: 	MDRV_SOUND_ADD(SAMPLES, vanguard_samples_interface)
   772: 	MDRV_SOUND_ADD(CUSTOM, custom_interface)
   773: MACHINE_DRIVER_END
   774: 
   775: 
   776: static MACHINE_DRIVER_START( fantasy )
   777: 
   778: 	/* basic machine hardware */
   779: 	MDRV_CPU_ADD(M6502, 1000000)    /* 1 MHz??? */
   780: 	MDRV_CPU_MEMORY(fantasy_readmem,fantasy_writemem)
   781: 	MDRV_CPU_VBLANK_INT(rockola_interrupt,2)
   782: 
   783: 	MDRV_FRAMES_PER_SECOND(60)
   784: 	MDRV_VBLANK_DURATION(DEFAULT_60HZ_VBLANK_DURATION)
   785: 
   786: 	/* video hardware */
   787: 	MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
   788: 	MDRV_SCREEN_SIZE(32*8, 32*8)
   789: 	MDRV_VISIBLE_AREA(0*8, 32*8-1, 0*8, 28*8-1)
   790: 	MDRV_GFXDECODE(vanguard_gfxdecodeinfo)
   791: 	MDRV_PALETTE_LENGTH(64)
   792: 	MDRV_COLORTABLE_LENGTH(16*4)
   793: 
   794: 	MDRV_PALETTE_INIT(rockola)
   795: 	MDRV_VIDEO_START(rockola)
   796: 	MDRV_VIDEO_UPDATE(rockola)
   797: 
   798: 	/* sound hardware */
   799: 	MDRV_SOUND_ADD(SAMPLES, vanguard_samples_interface)
   800: 	MDRV_SOUND_ADD(CUSTOM, custom_interface)
   801: MACHINE_DRIVER_END
   802: 
   803: 
   804: /* note that in this driver the visible area is different! */
   805: static MACHINE_DRIVER_START( pballoon )
   806: 
   807: 	/* basic machine hardware */
   808: 	MDRV_CPU_ADD(M6502, 1000000)    /* 1 MHz??? */
   809: 	MDRV_CPU_MEMORY(pballoon_readmem,pballoon_writemem)
   810: 	MDRV_CPU_VBLANK_INT(rockola_interrupt,2)
   811: 
   812: 	MDRV_FRAMES_PER_SECOND(60)
   813: 	MDRV_VBLANK_DURATION(DEFAULT_60HZ_VBLANK_DURATION)
   814: 
   815: 	/* video hardware */
   816: 	MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
   817: 	MDRV_SCREEN_SIZE(32*8, 32*8)
   818: 	MDRV_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
   819: 	MDRV_GFXDECODE(vanguard_gfxdecodeinfo)
   820: 	MDRV_PALETTE_LENGTH(64)
   821: 	MDRV_COLORTABLE_LENGTH(16*4)
   822: 
   823: 	MDRV_PALETTE_INIT(rockola)
   824: 	MDRV_VIDEO_START(rockola)
   825: 	MDRV_VIDEO_UPDATE(rockola)
   826: 
   827: 	/* sound hardware */
   828: 	MDRV_SOUND_ADD(SAMPLES, vanguard_samples_interface)
   829: 	MDRV_SOUND_ADD(CUSTOM, custom_interface)
   830: MACHINE_DRIVER_END
   831: 
   832: 
   833: 
   834: /***************************************************************************
   835: 
   836:   Game driver(s)
   837: 
   838: ***************************************************************************/
   839: 
   840: ROM_START( sasuke )
   841: 	ROM_REGION( 0x10000, REGION_CPU1, 0 )	/* 64k for code */
   842: 	ROM_LOAD( "sc1",          0x4000, 0x0800, CRC(34cbbe03) SHA1(3d643e11370e61dde0c42c7761a856c5cf53d621) )
   843: 	ROM_LOAD( "sc2",          0x4800, 0x0800, CRC(38cc14f0) SHA1(d60df67f2a32c131e8957e225b79618d6262463d) )
   844: 	ROM_LOAD( "sc3",          0x5000, 0x0800, CRC(54c41285) SHA1(5618c2ac745bbde96bfda7f01f7aee7e2b643d7e) )
   845: 	ROM_LOAD( "sc4",          0x5800, 0x0800, CRC(23edafcf) SHA1(bda3bcb506f6e23f422aafd7ca9b95bfb4d1d8e1) )
   846: 	ROM_LOAD( "sc5",          0x6000, 0x0800, CRC(ca410e4f) SHA1(0d09422d01b4359853c173a4cb18c9b5fbc7fe7c) )
   847: 	ROM_LOAD( "sc6",          0x6800, 0x0800, CRC(80406afb) SHA1(2c4a34a7450fa7258c5e6ead9b1fd6c6b973f081) )
   848: 	ROM_LOAD( "sc7",          0x7000, 0x0800, CRC(04d0f104) SHA1(73ed501f70d2a9e8994f8392f617450eafef39b3) )
   849: 	ROM_LOAD( "sc8",          0x7800, 0x0800, CRC(0219104b) SHA1(fd5c43304d59bc34e9ae6ef7576d75cf319d823e) )
   850: 	ROM_RELOAD(               0xf800, 0x0800 ) /* for the reset/interrupt vectors */
   851: 	ROM_LOAD( "sc9",          0x8000, 0x0800, CRC(d6ff889a) SHA1(1eea0366205dd0d9bffb5d093f259edc1d51cbe0) )
   852: 	ROM_LOAD( "sc10",         0x8800, 0x0800, CRC(19df6b9a) SHA1(95e904251c39dcef227a4c125fc573e958ee78b7) )
   853: 	ROM_LOAD( "sc11",         0x9000, 0x0800, CRC(24a0e121) SHA1(e3cde355309de6678026d595955297258f069946) )
   854: 
   855: 	ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE )
   856: 	ROM_LOAD( "mcs_c",        0x0000, 0x0800, CRC(aff9743d) SHA1(a968a193ca551d92f79e09d1761dd2ccebc76eee) )
   857: 	ROM_LOAD( "mcs_d",        0x0800, 0x0800, CRC(9c805120) SHA1(74b83daa3ce3c9f7d96ad872b9134edd6f1bcb8a) )
   858: 
   859: 	ROM_REGION( 0x0020, REGION_PROMS, 0 )
   860: 	ROM_LOAD( "sasuke.clr",   0x0000, 0x0020, CRC(b70f34c1) SHA1(890cfbb25e14112713ba7900b9cd56554a8bc1ec) )
   861: 
   862: 	/* no sound ROMs - the sound section is entirely analog */
   863: ROM_END
   864: 
   865: ROM_START( satansat )
   866: 	ROM_REGION( 0x10000, REGION_CPU1, 0 )	/* 64k for code */
   867: 	ROM_LOAD( "ss1",          0x4000, 0x0800, CRC(549dd13a) SHA1(06b55d0b1da84bef30857faa398aabfd04365eb6) )
   868: 	ROM_LOAD( "ss2",          0x4800, 0x0800, CRC(04972fa8) SHA1(89833a7c893168acd5599ca7ad4b33a8f3df40c5) )
   869: 	ROM_LOAD( "ss3",          0x5000, 0x0800, CRC(9caf9057) SHA1(26d439678e5e4d375ffac60126f45de599575bfd) )
   870: 	ROM_LOAD( "ss4",          0x5800, 0x0800, CRC(e1bdcfe1) SHA1(c99457c18fae8de79bbbe6bc0471fdc83f1e9b19) )
   871: 	ROM_LOAD( "ss5",          0x6000, 0x0800, CRC(d454de19) SHA1(ae8abb8a9d999d11ba6ad341bf635ae822d5746f) )
   872: 	ROM_LOAD( "ss6",          0x6800, 0x0800, CRC(7fbd5d30) SHA1(be0554ade440bf255131466ee8bd2905d3f446a8) )
   873: 	ROM_LOAD( "zarz128.15",   0x7000, 0x0800, CRC(93ea2df9) SHA1(4f7d076deef1e14b568b06974194861d3789ab5c) )
   874: 	ROM_LOAD( "zarz129.16",   0x7800, 0x0800, CRC(e67ec873) SHA1(14158914f07cabe61abc400c371d742ceb61d165) )
   875: 	ROM_RELOAD(               0xf800, 0x0800 ) /* for the reset/interrupt vectors */
   876: 	ROM_LOAD( "zarz130.22",   0x8000, 0x0800, CRC(22c44650) SHA1(063915cde86aece8860db1df15497cde669e73bd) )
   877: 	ROM_LOAD( "ss10",         0x8800, 0x0800, CRC(8f1b313a) SHA1(0c7832505a1287533d9b2d7f2d54000b3b44e40d) )
   878: 	ROM_LOAD( "ss11",         0x9000, 0x0800, CRC(e74f98e0) SHA1(89a93de6105195e0e5d255bfa240538ded155fb9) )
   879: 
   880: 	ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE )
   881: 	ROM_LOAD( "zarz135.73",   0x0000, 0x0800, CRC(e837c62b) SHA1(97552b1e413a3934f4dc5a6fc9fc1fa8ba7a2e7e) )
   882: 	ROM_LOAD( "zarz136.75",   0x0800, 0x0800, CRC(83f61623) SHA1(4cb28f85f32d13bfa364c376ea3e30fd451b5884) )
   883: 
   884: 	ROM_REGION( 0x0020, REGION_PROMS, 0 )
   885: 	ROM_LOAD( "zarz138.03",   0x0000, 0x0020, CRC(5dd6933a) SHA1(417d827d9e47b6db01fecc2164e5ef332d4cd70e) )
   886: 
   887:     ROM_REGION( 0x1000, REGION_SOUND1, 0 )  /* sound data for Vanguard-style audio section */
   888: 	ROM_LOAD( "ss12",         0x0000, 0x0800, CRC(dee01f24) SHA1(92c8545226a31412239dad4aa2715b51264ad22e) )
   889: 	ROM_LOAD( "zarz134.54",   0x0800, 0x0800, CRC(580934d2) SHA1(c1c7eba56bca2a0ea6a68c0245b071a3308f92bd) )
   890: ROM_END
   891: 
   892: ROM_START( zarzon )
   893: 	ROM_REGION( 0x10000, REGION_CPU1, 0 )	/* 64k for code */
   894: 	ROM_LOAD( "zarz122.07",   0x4000, 0x0800, CRC(bdfa67e2) SHA1(0de06cf53ee21b8f14b933b61e6dc706338746c4) )
   895: 	ROM_LOAD( "zarz123.08",   0x4800, 0x0800, CRC(d034e61e) SHA1(dc802c3d7a9f7e473e323e3272fca406dab6d55d) )
   896: 	ROM_LOAD( "zarz124.09",   0x5000, 0x0800, CRC(296397ea) SHA1(3a1ad7f3c4453bb20768b3e3ce04cd76873aa0ee) )
   897: 	ROM_LOAD( "zarz125.10",   0x5800, 0x0800, CRC(26dc5e66) SHA1(07f47f3497bb85640e5e6a89ad7d6579108347fe) )
   898: 	ROM_LOAD( "zarz126.13",   0x6000, 0x0800, CRC(cee18d7f) SHA1(5a7e60b6be06b3038f2eb81e76fc54cb65d4877b) )
   899: 	ROM_LOAD( "zarz127.14",   0x6800, 0x0800, CRC(bbd2cc0d) SHA1(1128020b7c0f38f5ff2cc2da0fd2df5ebead4681) )
   900: 	ROM_LOAD( "zarz128.15",   0x7000, 0x0800, CRC(93ea2df9) SHA1(4f7d076deef1e14b568b06974194861d3789ab5c) )
   901: 	ROM_LOAD( "zarz129.16",   0x7800, 0x0800, CRC(e67ec873) SHA1(14158914f07cabe61abc400c371d742ceb61d165) )
   902: 	ROM_RELOAD(               0xf800, 0x0800 ) /* for the reset/interrupt vectors */
   903: 	ROM_LOAD( "zarz130.22",   0x8000, 0x0800, CRC(22c44650) SHA1(063915cde86aece8860db1df15497cde669e73bd) )
   904: 	ROM_LOAD( "zarz131.23",   0x8800, 0x0800, CRC(7be20678) SHA1(872de953df1f9f1725e14fdfd227ad872a813af8) )
   905: 	ROM_LOAD( "zarz132.24",   0x9000, 0x0800, CRC(72b2cb76) SHA1(d7a95c908fe2227e2a0820a8e9713b1709c9e5af) )
   906: 
   907: 	ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE )
   908: 	ROM_LOAD( "zarz135.73",   0x0000, 0x0800, CRC(e837c62b) SHA1(97552b1e413a3934f4dc5a6fc9fc1fa8ba7a2e7e) )
   909: 	ROM_LOAD( "zarz136.75",   0x0800, 0x0800, CRC(83f61623) SHA1(4cb28f85f32d13bfa364c376ea3e30fd451b5884) )
   910: 
   911: 	ROM_REGION( 0x0020, REGION_PROMS, 0 )
   912: 	ROM_LOAD( "zarz138.03",   0x0000, 0x0020, CRC(5dd6933a) SHA1(417d827d9e47b6db01fecc2164e5ef332d4cd70e) )
   913: 
   914:     ROM_REGION( 0x1000, REGION_SOUND1, 0 )  /* sound data for Vanguard-style audio section */
   915: 	ROM_LOAD( "zarz133.53",   0x0000, 0x0800, CRC(b253cf78) SHA1(56a73b22ed2866222c407a3e9b51b8e0c92cf2aa) )
   916: 	ROM_LOAD( "zarz134.54",   0x0800, 0x0800, CRC(580934d2) SHA1(c1c7eba56bca2a0ea6a68c0245b071a3308f92bd) )
   917: ROM_END
   918: 
   919: ROM_START( vanguard )
   920: 	ROM_REGION( 0x10000, REGION_CPU1, 0 )	/* 64k for code */
   921: 	ROM_LOAD( "sk4_ic07.bin", 0x4000, 0x1000, CRC(6a29e354) SHA1(ff953962ebc14a28cfc96f8e269cb1e1c188ed8a) )
   922: 	ROM_LOAD( "sk4_ic08.bin", 0x5000, 0x1000, CRC(302bba54) SHA1(1944f229481328a0635fafda65054106f42a532a) )
   923: 	ROM_LOAD( "sk4_ic09.bin", 0x6000, 0x1000, CRC(424755f6) SHA1(b4762b40c7ed70d4b90319a1a30983a41a096afb) )
   924: 	ROM_LOAD( "sk4_ic10.bin", 0x7000, 0x1000, CRC(54603274) SHA1(31571a560dbe300417b3ed5b114fa1d9ef742da9) )
   925: 	ROM_LOAD( "sk4_ic13.bin", 0x8000, 0x1000, CRC(fde157d0) SHA1(3f705fb6a410004f4f86283694e3694e49701af6) )
   926: 	ROM_RELOAD(               0xf000, 0x1000 )	/* for the reset and interrupt vectors */
   927: 	ROM_LOAD( "sk4_ic14.bin", 0x9000, 0x1000, CRC(0d5b47d0) SHA1(922621c23f33fe756cb6baa12e5465c4e64f2dda) )
   928: 	ROM_LOAD( "sk4_ic15.bin", 0xa000, 0x1000, CRC(8549b8f8) SHA1(375bc6f7e15564d5cf7e00c44e2651793c56d6ca) )
   929: 	ROM_LOAD( "sk4_ic16.bin", 0xb000, 0x1000, CRC(062e0be2) SHA1(45aaf315a62f37460e32d3ba99caaacf4c994810) )
   930: 
   931: 	ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE )
   932: 	ROM_LOAD( "sk5_ic50.bin", 0x0000, 0x0800, CRC(e7d4315b) SHA1(b99e4ea07292a0eabaa6098037c92a5678627cec) )
   933: 	ROM_LOAD( "sk5_ic51.bin", 0x0800, 0x0800, CRC(96e87858) SHA1(4e9ccb055919c8acf5837e062857647d5363af60) )
   934: 
   935: 	ROM_REGION( 0x0040, REGION_PROMS, 0 )
   936: 	ROM_LOAD( "sk5_ic7.bin",  0x0000, 0x0020, CRC(ad782a73) SHA1(ddf44f74a20f10ed976c434a885857dade1f86d7) ) /* foreground colors */
   937: 	ROM_LOAD( "sk5_ic6.bin",  0x0020, 0x0020, CRC(7dc9d450) SHA1(9b2d1dfb3270a562d14bd54bfb3405a9095becc0) ) /* background colors */
   938: 
   939: 	ROM_REGION( 0x1000, REGION_SOUND1, 0 )	/* sound ROMs */
   940: 	ROM_LOAD( "sk4_ic51.bin", 0x0000, 0x0800, CRC(d2a64006) SHA1(3f20b59ce1954f65535cd5603ca9271586428e35) )  /* sound ROM 1 */
   941: 	ROM_LOAD( "sk4_ic52.bin", 0x0800, 0x0800, CRC(cc4a0b6f) SHA1(251b24d60083d516c4ba686d75b41e04d10f7198) )  /* sound ROM 2 */
   942: 
   943: 	ROM_REGION( 0x1800, REGION_SOUND2, 0 )	/* space for the speech ROMs (not supported) */
   944: 	ROM_LOAD( "sk6_ic07.bin", 0x0000, 0x0800, CRC(2b7cbae9) SHA1(3d44a0232d7c94d8170cc06e90cc30bd57c99202) )
   945: 	ROM_LOAD( "sk6_ic08.bin", 0x0800, 0x0800, CRC(3b7e9d7c) SHA1(d9033188068b2aaa1502c89cf09f955eded8fa7a) )
   946: 	ROM_LOAD( "sk6_ic11.bin", 0x1000, 0x0800, CRC(c36df041) SHA1(8b51934229b961180d1edb99be3a4d337d37f66f) )
   947: ROM_END
   948: 
   949: ROM_START( vangrdce )
   950: 	ROM_REGION( 0x10000, REGION_CPU1, 0 )	/* 64k for code */
   951: 	ROM_LOAD( "sk4_ic07.bin", 0x4000, 0x1000, CRC(6a29e354) SHA1(ff953962ebc14a28cfc96f8e269cb1e1c188ed8a) )
   952: 	ROM_LOAD( "sk4_ic08.bin", 0x5000, 0x1000, CRC(302bba54) SHA1(1944f229481328a0635fafda65054106f42a532a) )
   953: 	ROM_LOAD( "sk4_ic09.bin", 0x6000, 0x1000, CRC(424755f6) SHA1(b4762b40c7ed70d4b90319a1a30983a41a096afb) )
   954: 	ROM_LOAD( "4",            0x7000, 0x1000, CRC(770f9714) SHA1(4af37fc24e464681a8da6b184be0df32a4078f4f) )
   955: 	ROM_LOAD( "5",            0x8000, 0x1000, CRC(3445cba6) SHA1(6afe6dad79b53df58b53ef9c5d24bb4d91fa5e8e) )
   956: 	ROM_RELOAD(               0xf000, 0x1000 )	/* for the reset and interrupt vectors */
   957: 	ROM_LOAD( "sk4_ic14.bin", 0x9000, 0x1000, CRC(0d5b47d0) SHA1(922621c23f33fe756cb6baa12e5465c4e64f2dda) )
   958: 	ROM_LOAD( "sk4_ic15.bin", 0xa000, 0x1000, CRC(8549b8f8) SHA1(375bc6f7e15564d5cf7e00c44e2651793c56d6ca) )
   959: 	ROM_LOAD( "8",            0xb000, 0x1000, CRC(4b825bc8) SHA1(3fa32d9677e2cc3a1ebf52c0b9eed7dbf11201e9) )
   960: 
   961: 	ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE )
   962: 	ROM_LOAD( "sk5_ic50.bin", 0x0000, 0x0800, CRC(e7d4315b) SHA1(b99e4ea07292a0eabaa6098037c92a5678627cec) )
   963: 	ROM_LOAD( "sk5_ic51.bin", 0x0800, 0x0800, CRC(96e87858) SHA1(4e9ccb055919c8acf5837e062857647d5363af60) )
   964: 
   965: 	ROM_REGION( 0x0040, REGION_PROMS, 0 )
   966: 	ROM_LOAD( "sk5_ic7.bin",  0x0000, 0x0020, CRC(ad782a73) SHA1(ddf44f74a20f10ed976c434a885857dade1f86d7) ) /* foreground colors */
   967: 	ROM_LOAD( "sk5_ic6.bin",  0x0020, 0x0020, CRC(7dc9d450) SHA1(9b2d1dfb3270a562d14bd54bfb3405a9095becc0) ) /* background colors */
   968: 
   969: 	ROM_REGION( 0x1000, REGION_SOUND1, 0 )	/* sound ROMs */
   970: 	ROM_LOAD( "sk4_ic51.bin", 0x0000, 0x0800, CRC(d2a64006) SHA1(3f20b59ce1954f65535cd5603ca9271586428e35) )  /* missing, using the SNK one */
   971: 	ROM_LOAD( "sk4_ic52.bin", 0x0800, 0x0800, CRC(cc4a0b6f) SHA1(251b24d60083d516c4ba686d75b41e04d10f7198) )  /* missing, using the SNK one */
   972: 
   973: 	ROM_REGION( 0x1800, REGION_SOUND2, 0 )	/* space for the speech ROMs (not supported) */
   974: 	ROM_LOAD( "sk6_ic07.bin", 0x0000, 0x0800, CRC(2b7cbae9) SHA1(3d44a0232d7c94d8170cc06e90cc30bd57c99202) )
   975: 	ROM_LOAD( "sk6_ic08.bin", 0x0800, 0x0800, CRC(3b7e9d7c) SHA1(d9033188068b2aaa1502c89cf09f955eded8fa7a) )
   976: 	ROM_LOAD( "sk6_ic11.bin", 0x1000, 0x0800, CRC(c36df041) SHA1(8b51934229b961180d1edb99be3a4d337d37f66f) )
   977: ROM_END
   978: 
   979: ROM_START( fantasy )
   980: 	ROM_REGION( 0x10000, REGION_CPU1, 0 )	/* 64k for code */
   981: 	ROM_LOAD( "ic12.cpu",        0x3000, 0x1000, CRC(22cb2249) SHA1(6c43e3fa9638b6d2e069199968923e470bd5d18b) )
   982: 	ROM_LOAD( "ic07.cpu",        0x4000, 0x1000, CRC(0e2880b6) SHA1(666d6942864eb7a90178b3b6e2b0eb23aa3c967f) )
   983: 	ROM_LOAD( "ic08.cpu",        0x5000, 0x1000, CRC(4c331317) SHA1(800850f4e8bcfbbade54eb9e47a53941f8798641) )
   984: 	ROM_LOAD( "ic09.cpu",        0x6000, 0x1000, CRC(6ac1dbfc) SHA1(b9c7bf8d3b085db0b53646b5639c09f9ced2b1fe) )
   985: 	ROM_LOAD( "ic10.cpu",        0x7000, 0x1000, CRC(c796a406) SHA1(1b7f5f307a81b481a3e7791128a01d4c1a20c4bf) )
   986: 	ROM_LOAD( "ic14.cpu",        0x8000, 0x1000, CRC(6f1f0698) SHA1(05bd114dcd08c990d897518a8ea7965bc82279bf) )
   987: 	ROM_RELOAD(                  0xf000, 0x1000 )	/* for the reset and interrupt vectors */
   988: 	ROM_LOAD( "ic15.cpu",        0x9000, 0x1000, CRC(5534d57e) SHA1(e564a3325766423b47de18d6adb61760cbbf88be) )
   989: 	ROM_LOAD( "ic16.cpu",        0xa000, 0x1000, CRC(6c2aeb6e) SHA1(fd0b913a663bf2a5f45fc3d342d7575a9c7dae46) )
   990: 	ROM_LOAD( "ic17.cpu",        0xb000, 0x1000, CRC(f6aa5de1) SHA1(ca53cf66cc6cdb21a60760102f35a5b0745ce09b) )
   991: 
   992: 	ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE )
   993: 	ROM_LOAD( "fs10ic50.bin",    0x0000, 0x1000, CRC(86a801c3) SHA1(c040b5807c25823072f7e8ceab57b95d4bed89fe) )
   994: 	ROM_LOAD( "fs11ic51.bin",    0x1000, 0x1000, CRC(9dfff71c) SHA1(7a7c017170f2ea903a730a4e5ab69db379a4fc61) )
   995: 
   996: 	ROM_REGION( 0x0040, REGION_PROMS, 0 )
   997: 	ROM_LOAD( "fantasy.ic7",     0x0000, 0x0020, CRC(361a5e99) SHA1(b9777ce658549c03971bd476482d5cc0be27d3a9) ) /* foreground colors */
   998: 	ROM_LOAD( "fantasy.ic6",     0x0020, 0x0020, CRC(33d974f7) SHA1(a6f6a531dec3f454b477bfdda8e213e9cad42748) ) /* background colors */
   999: 
  1000: 	ROM_REGION( 0x1800, REGION_SOUND1, 0 )	/* sound ROMs */
  1001: 	ROM_LOAD( "fs_b_51.bin",     0x0000, 0x0800, CRC(48094ec5) SHA1(7d6118133bc1eb8ebc5d8a95d10ef842daffef89) )
  1002: 	ROM_LOAD( "fs_a_52.bin",     0x0800, 0x0800, CRC(1d0316e8) SHA1(6a3ab289b5fefef8663514bd1d5817c70fe58882) )
  1003: 	ROM_LOAD( "fs_c_53.bin",     0x1000, 0x0800, CRC(49fd4ae8) SHA1(96ff1267c0ffab1e8a0769fa869516e2546ab640) )
  1004: 
  1005: 	ROM_REGION( 0x1800, REGION_SOUND2, 0 )	/* space for the speech ROMs (not supported) */
  1006: 	ROM_LOAD( "fs_d_7.bin",      0x0000, 0x0800, CRC(a7ef4cc6) SHA1(8df71cb18fcfe9a2f592f83bc01cf2314ae30e32) )
  1007: 	ROM_LOAD( "fs_e_8.bin",      0x0800, 0x0800, CRC(19b8fb3e) SHA1(271c76f68866c28bc6755238a71970d5f7c81ecb) )
  1008: 	ROM_LOAD( "fs_f_11.bin",     0x1000, 0x0800, CRC(3a352e1f) SHA1(af880ce3daed0877d454421bd08c86ff71f6bf72) )
  1009: ROM_END
  1010: 
  1011: ROM_START( fantasyj )
  1012: 	ROM_REGION( 0x10000, REGION_CPU1, 0 )	/* 64k for code */
  1013: 	ROM_LOAD( "fs5jic12.bin",    0x3000, 0x1000, CRC(dd1eac89) SHA1(d63078d4666e3c6db0c9b3f8b45ef81606ed5a4f) )
  1014: 	ROM_LOAD( "fs1jic7.bin",     0x4000, 0x1000, CRC(7b8115ae) SHA1(6274f937c57ab9cbb7c6283022b81f70dad7c232) )
  1015: 	ROM_LOAD( "fs2jic8.bin",     0x5000, 0x1000, CRC(61531dd1) SHA1(f3bc405bafc8ced6c6fce93ad2ad20ff6aa603e8) )
  1016: 	ROM_LOAD( "fs3jic9.bin",     0x6000, 0x1000, CRC(36a12617) SHA1(dd74abb4cbaeb1a56ee466043997187ebe933612) )
  1017: 	ROM_LOAD( "fs4jic10.bin",    0x7000, 0x1000, CRC(dbf7c347) SHA1(1bb3f924a7e1ec74ef68e237a0f68d62ce78532c) )
  1018: 	ROM_LOAD( "fs6jic14.bin",    0x8000, 0x1000, CRC(bf59a33a) SHA1(bdbdd03199758069b904fdf0455193682c4d457f) )
  1019: 	ROM_RELOAD(                  0xf000, 0x1000 )	/* for the reset and interrupt vectors */
  1020: 	ROM_LOAD( "fs7jic15.bin",    0x9000, 0x1000, CRC(cc18428e) SHA1(c7c0a031434cf9ce3c450b0c5dc2b154b08d19cf) )
  1021: 	ROM_LOAD( "fs8jic16.bin",    0xa000, 0x1000, CRC(ae5bf727) SHA1(3c5eaaba3971f57a5687945a614dd0d6c9e007d6) )
  1022: 	ROM_LOAD( "fs9jic17.bin",    0xb000, 0x1000, CRC(fa6903e2) SHA1(a5b9b7309ecaaeaba76e45610d5ab80415ecbdd0) )
  1023: 
  1024: 	ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE )
  1025: 	ROM_LOAD( "fs10ic50.bin",    0x0000, 0x1000, CRC(86a801c3) SHA1(c040b5807c25823072f7e8ceab57b95d4bed89fe) )
  1026: 	ROM_LOAD( "fs11ic51.bin",    0x1000, 0x1000, CRC(9dfff71c) SHA1(7a7c017170f2ea903a730a4e5ab69db379a4fc61) )
  1027: 
  1028: 	ROM_REGION( 0x0040, REGION_PROMS, 0 )
  1029: 	ROM_LOAD( "prom-8.bpr",      0x0000, 0x0020, CRC(1aa9285a) SHA1(d503aa76ca0cf032c7b1c962abc59677c41a2c62) ) /* foreground colors */
  1030: 	ROM_LOAD( "prom-7.bpr",      0x0020, 0x0020, CRC(7a6f7dc3) SHA1(e15d898275d1cd205cc2d28f7dd9df653594039e) ) /* background colors */
  1031: 
  1032: 	ROM_REGION( 0x1800, REGION_SOUND1, 0 )	/* sound ROMs */
  1033: 	ROM_LOAD( "fs_b_51.bin",     0x0000, 0x0800, CRC(48094ec5) SHA1(7d6118133bc1eb8ebc5d8a95d10ef842daffef89) )
  1034: 	ROM_LOAD( "fs_a_52.bin",     0x0800, 0x0800, CRC(1d0316e8) SHA1(6a3ab289b5fefef8663514bd1d5817c70fe58882) )
  1035: 	ROM_LOAD( "fs_c_53.bin",     0x1000, 0x0800, CRC(49fd4ae8) SHA1(96ff1267c0ffab1e8a0769fa869516e2546ab640) )
  1036: 
  1037: 	ROM_REGION( 0x1800, REGION_SOUND2, 0 )	/* space for the speech ROMs (not supported) */
  1038: 	ROM_LOAD( "fs_d_7.bin",      0x0000, 0x0800, CRC(a7ef4cc6) SHA1(8df71cb18fcfe9a2f592f83bc01cf2314ae30e32) )
  1039: 	ROM_LOAD( "fs_e_8.bin",      0x0800, 0x0800, CRC(19b8fb3e) SHA1(271c76f68866c28bc6755238a71970d5f7c81ecb) )
  1040: 	ROM_LOAD( "fs_f_11.bin",     0x1000, 0x0800, CRC(3a352e1f) SHA1(af880ce3daed0877d454421bd08c86ff71f6bf72) )
  1041: ROM_END
  1042: 
  1043: ROM_START( pballoon )
  1044: 	ROM_REGION( 0x10000, REGION_CPU1, 0 ) /* 64k for code */
  1045: 	ROM_LOAD( "sk7_ic12.bin", 0x3000, 0x1000, CRC(dfe2ae05) SHA1(21c98bef9d4d5fcb65ce5e9b20cde2259840459e) )
  1046: 	ROM_LOAD( "sk7_ic07.bin", 0x4000, 0x1000, CRC(736e67df) SHA1(a58d9561f62d396ca90b0f69afe6240d809b10bb) )
  1047: 	ROM_LOAD( "sk7_ic08.bin", 0x5000, 0x1000, CRC(7a2032b2) SHA1(79570943468d647cda67d94b20eac1b2d9eb371f) )
  1048: 	ROM_LOAD( "sk7_ic09.bin", 0x6000, 0x1000, CRC(2d63cf3a) SHA1(8934af617229db445f9fd10e4028e1f8df4cfeb1) )
  1049: 	ROM_LOAD( "sk7_ic10.bin", 0x7000, 0x1000, CRC(7b88cbd4) SHA1(1be3c484bd08c747f38389114c157e84319c48be) )
  1050: 	ROM_LOAD( "sk7_ic14.bin", 0x8000, 0x1000, CRC(6a8817a5) SHA1(4cf8eda68d21b1fad0f12eedaeb88b256bba44da) )
  1051: 	ROM_RELOAD(               0xf000, 0x1000 )  /* for the reset and interrupt vectors */
  1052: 	ROM_LOAD( "sk7_ic15.bin", 0x9000, 0x1000, CRC(1f78d814) SHA1(7e618971f1bbf8859284531e94989c43c3285b4a) )
  1053: 
  1054: 	ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE )
  1055: 	ROM_LOAD( "sk8_ic50.bin", 0x0000, 0x1000, CRC(560df07f) SHA1(e57945de829d22d39390a649eddaf78c989af679) )
  1056: 	ROM_LOAD( "sk8_ic51.bin", 0x1000, 0x1000, CRC(d415de51) SHA1(257cf939efec8adee87baf827315c69fde90da4c) )
  1057: 
  1058: 	ROM_REGION( 0x0040, REGION_PROMS, 0 )
  1059: 	ROM_LOAD( "sk8_ic7.bin",  0x0000, 0x0020, CRC(ef6c82a0) SHA1(95b522d6389f25bf5fa2fca5f3f826ef43b2885b) ) /* foreground colors */
  1060: 	ROM_LOAD( "sk8_ic6.bin",  0x0020, 0x0020, CRC(eabc6a00) SHA1(942af5e22e49e578c6a24651476e3b60d40e2076) ) /* background colors */
  1061: 
  1062: 	ROM_REGION( 0x1800, REGION_SOUND1, 0 )	/* sound ROMs */
  1063: 	ROM_LOAD( "sk7_ic51.bin", 0x0000, 0x0800, CRC(0345f8b7) SHA1(c00992dc7222cc53d9fdff4ab47a7abdf90c5116) )
  1064: 	ROM_LOAD( "sk7_ic52.bin", 0x0800, 0x0800, CRC(5d6d68ea) SHA1(d3e03720eff5c85c1c2fb1d4bf960f45a99dc86a) )
  1065: 	ROM_LOAD( "sk7_ic53.bin", 0x1000, 0x0800, CRC(a4c505cd) SHA1(47eea7e7ffa3dc8b35dc050ac1a1d77d6a5c4ece) )
  1066: ROM_END
  1067: 
  1068: ROM_START( nibbler )
  1069: 	ROM_REGION( 0x10000, REGION_CPU1, 0 )	/* 64k for code */
  1070: 	ROM_LOAD( "g960-52.12",   0x3000, 0x1000, CRC(ac6a802b) SHA1(ac1072e30994f13097663dc24d9d1dc35a95d874) )
  1071: 	ROM_LOAD( "g960-48.07",   0x4000, 0x1000, CRC(35971364) SHA1(6430c7be9e5f47d3f1f2cc157d949246e4085e8b) )
  1072: 	ROM_LOAD( "g960-49.08",   0x5000, 0x1000, CRC(6b33b806) SHA1(29444e45bf5a6ab1d86e0aa19dc6c1bc64ba633f) )
  1073: 	ROM_LOAD( "g960-50.09",   0x6000, 0x1000, CRC(91a4f98d) SHA1(678c7e8c91a7fdba8dc2faff4192eb0964abdb3f) )
  1074: 	ROM_LOAD( "g960-51.10",   0x7000, 0x1000, CRC(a151d934) SHA1(6681bdcd84cf62b40b2430ff530cb3c9aa36656c) )
  1075: 	ROM_LOAD( "g960-53.14",   0x8000, 0x1000, CRC(063f05cc) SHA1(039ac1b007cb817ae0902484ca611ae7076930d6) )
  1076: 	ROM_RELOAD(               0xf000, 0x1000 )	/* for the reset and interrupt vectors */
  1077: 	ROM_LOAD( "g960-54.15",   0x9000, 0x1000, CRC(7205fb8d) SHA1(bc341bc11a383aa8b8dd7b2be851907a3ec56f8b) )
  1078: 	ROM_LOAD( "g960-55.16",   0xa000, 0x1000, CRC(4bb39815) SHA1(1755c28d7d300524ab839aedcc744254544e9c19) )
  1079: 	ROM_LOAD( "g960-56.17",   0xb000, 0x1000, CRC(ed680f19) SHA1(b44203585f32ebe2a3bf0597eac7c0faa7e81a92) )
  1080: 
  1081: 	ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE )
  1082: 	ROM_LOAD( "g960-57.50",   0x0000, 0x1000, CRC(01d4d0c2) SHA1(5a8026210a872351ce4e39e27f6479d3ca0689e2) )
  1083: 	ROM_LOAD( "g960-58.51",   0x1000, 0x1000, CRC(feff7faf) SHA1(50005502578a4ea9b9c8f36998670b787d2d0b20) )
  1084: 
  1085: 	ROM_REGION( 0x0040, REGION_PROMS, 0 )
  1086: 	ROM_LOAD( "g70805.ic7",   0x0000, 0x0020, CRC(a5709ff3) SHA1(fbd07b756235f2d03aea3d777ca741ade54be200) ) /* foreground colors */
  1087: 	ROM_LOAD( "g70804.ic6",   0x0020, 0x0020, CRC(dacd592d) SHA1(c7709c680e2764885a40bc256d07dffc9e827cd6) ) /* background colors */
  1088: 
  1089: 	ROM_REGION( 0x1800, REGION_SOUND1, 0 )	/* sound ROMs */
  1090: 	ROM_LOAD( "g959-43.51",   0x0000, 0x0800, CRC(0345f8b7) SHA1(c00992dc7222cc53d9fdff4ab47a7abdf90c5116) )
  1091: 	ROM_LOAD( "g959-44.52",   0x0800, 0x0800, CRC(87d67dee) SHA1(bd292eab3671cb953279f3136a450deac3818367) )
  1092: 	ROM_LOAD( "g959-45.53",   0x1000, 0x0800, CRC(33189917) SHA1(01a1b1693db0172609780daeb60430fa0c8bcec2) )
  1093: ROM_END
  1094: 
  1095: ROM_START( nibblera )
  1096: 	ROM_REGION( 0x10000, REGION_CPU1, 0 )	/* 64k for code */
  1097: 	ROM_LOAD( "ic12",         0x3000, 0x1000, CRC(6dfa1be5) SHA1(bb265702a2f74cb7d5ba27081f9fb2fe01dd95a5) )
  1098: 	ROM_LOAD( "ic07",         0x4000, 0x1000, CRC(808e1a03) SHA1(a747a16ee0c8cb803b72ac84e80f791b2bf1813a) )
  1099: 	ROM_LOAD( "ic08",         0x5000, 0x1000, CRC(1571d4a2) SHA1(42cbaa262c2265d904fd5844c0d3c63d3beb67a8) )
  1100: 	ROM_LOAD( "ic09",         0x6000, 0x1000, CRC(a599df10) SHA1(68ee8b5199ec24409fcbb40c887a1eec44c68dcf) )
  1101: 	ROM_LOAD( "ic10",         0x7000, 0x1000, CRC(a6b5abe5) SHA1(a0f228dac801a54dfa1947d6b2f6b4e3d005e0b2) )
  1102: 	ROM_LOAD( "ic14",         0x8000, 0x1000, CRC(9f537185) SHA1(619df63f4df38014dc229f614043f867e6a5aa51) )
  1103: 	ROM_RELOAD(               0xf000, 0x1000 )	/* for the reset and interrupt vectors */
  1104: 	ROM_LOAD( "g960-54.15",   0x9000, 0x1000, CRC(7205fb8d) SHA1(bc341bc11a383aa8b8dd7b2be851907a3ec56f8b) )
  1105: 	ROM_LOAD( "g960-55.16",   0xa000, 0x1000, CRC(4bb39815) SHA1(1755c28d7d300524ab839aedcc744254544e9c19) )
  1106: 	ROM_LOAD( "g960-56.17",   0xb000, 0x1000, CRC(ed680f19) SHA1(b44203585f32ebe2a3bf0597eac7c0faa7e81a92) )
  1107: 
  1108: 	ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE )
  1109: 	ROM_LOAD( "g960-57.50",   0x0000, 0x1000, CRC(01d4d0c2) SHA1(5a8026210a872351ce4e39e27f6479d3ca0689e2) )
  1110: 	ROM_LOAD( "g960-58.51",   0x1000, 0x1000, CRC(feff7faf) SHA1(50005502578a4ea9b9c8f36998670b787d2d0b20) )
  1111: 
  1112: 	ROM_REGION( 0x0040, REGION_PROMS, 0 )
  1113: 	ROM_LOAD( "g70805.ic7",   0x0000, 0x0020, CRC(a5709ff3) SHA1(fbd07b756235f2d03aea3d777ca741ade54be200) ) /* foreground colors */
  1114: 	ROM_LOAD( "g70804.ic6",   0x0020, 0x0020, CRC(dacd592d) SHA1(c7709c680e2764885a40bc256d07dffc9e827cd6) ) /* background colors */
  1115: 
  1116: 	ROM_REGION( 0x1800, REGION_SOUND1, 0 )	/* sound ROMs */
  1117: 	ROM_LOAD( "g959-43.51",   0x0000, 0x0800, CRC(0345f8b7) SHA1(c00992dc7222cc53d9fdff4ab47a7abdf90c5116) )
  1118: 	ROM_LOAD( "g959-44.52",   0x0800, 0x0800, CRC(87d67dee) SHA1(bd292eab3671cb953279f3136a450deac3818367) )
  1119: 	ROM_LOAD( "g959-45.53",   0x1000, 0x0800, CRC(33189917) SHA1(01a1b1693db0172609780daeb60430fa0c8bcec2) )
  1120: ROM_END
  1121: 
  1122: 
  1123: 
  1124: GAMEX( 1980, sasuke,   0,        sasuke,   sasuke,   0, ROT90, "SNK", "Sasuke vs. Commander", GAME_NO_SOUND )
  1125: GAMEX( 1981, satansat, 0,        satansat, satansat, 0, ROT90, "SNK", "Satan of Saturn", GAME_IMPERFECT_SOUND )
  1126: GAMEX( 1981, zarzon,   satansat, satansat, satansat, 0, ROT90, "[SNK] (Taito America license)", "Zarzon", GAME_IMPERFECT_SOUND )
  1127: GAMEX( 1981, vanguard, 0,        vanguard, vanguard, 0, ROT90, "SNK", "Vanguard (SNK)", GAME_IMPERFECT_SOUND )
  1128: GAMEX( 1981, vangrdce, vanguard, vanguard, vanguard, 0, ROT90, "SNK (Centuri license)", "Vanguard (Centuri)", GAME_IMPERFECT_SOUND )
  1129: GAMEX( 1981, fantasy,  0,        fantasy,  fantasy,  0, ROT90, "[SNK] (Rock-ola license)", "Fantasy (US)", GAME_IMPERFECT_SOUND )
  1130: GAMEX( 1981, fantasyj, fantasy,  fantasy,  fantasy,  0, ROT90, "SNK", "Fantasy (Japan)", GAME_IMPERFECT_SOUND )
  1131: GAMEX( 1982, pballoon, 0,        pballoon, pballoon, 0, ROT90, "SNK", "Pioneer Balloon", GAME_IMPERFECT_SOUND )
  1132: GAMEX( 1982, nibbler,  0,        fantasy,  nibbler,  0, ROT90, "Rock-ola", "Nibbler (set 1)", GAME_IMPERFECT_SOUND )
  1133: GAMEX( 1982, nibblera, nibbler,  fantasy,  nibbler,  0, ROT90, "Rock-ola", "Nibbler (set 2)", GAME_IMPERFECT_SOUND )
  1134: 




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