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

Source Listing


     1: /***************************************************************************
     2: 
     3:  Lasso and similar hardware
     4: 
     5: 		driver by Phil Stroffolino, Nicola Salmoria, Luca Elia
     6: 
     7: ---------------------------------------------------------------------------
     8: Year + Game					By				CPUs		Sound Chips
     9: ---------------------------------------------------------------------------
    10: 82	Lasso					SNK				3 x 6502	2 x SN76489
    11: 83	Chameleon				Jaleco			2 x 6502	2 x SN76489
    12: 84	Wai Wai Jockey Gate-In!	Jaleco/Casio	2 x 6502	2 x SN76489 + DAC
    13: 84  Pinbo                   Jaleco          6502 + Z80  2 x AY-8910
    14: ---------------------------------------------------------------------------
    15: 
    16: Notes:
    17: 
    18: - unknown CPU speeds (affect game timing)
    19: - Lasso: fire button auto-repeats on high score entry screen (real behavior?)
    20: 
    21: ***************************************************************************/
    22: 
    23: #include "driver.h" 
    24: #include "cpu/z80/z80.h" 
    25: #include "lasso.h" 
    26: 
    27: 
    28: /* IRQ = VBlank, NMI = Coin Insertion */
    29: 
    30: static INTERRUPT_GEN( lasso_interrupt )
    31: {
    32: 	static int old;
    33: 	int new;
    34: 
    35: 	// VBlank
    36: 	if (cpu_getiloops() == 0)
    37: 	{
    38: 		cpu_set_irq_line(0, 0, HOLD_LINE);
    39: 		return;
    40: 	}
    41: 
    42: 	// Coins
    43: 	new = ~readinputport(3) & 0x30;
    44: 
    45: 	if ( ((new & 0x10) && !(old & 0x10)) ||
    46: 		 ((new & 0x20) && !(old & 0x20)) )
    47: 		cpu_set_irq_line(0, IRQ_LINE_NMI, PULSE_LINE);
    48: 
    49: 	old = new;
    50: }
    51: 
    52: 
    53: /* Shared RAM between Main CPU and sub CPU */
    54: 
    55: static data8_t *lasso_sharedram;
    56: 
    57: static READ_HANDLER( lasso_sharedram_r )
    58: {
    59: 	return lasso_sharedram[offset];
    60: }
    61: static WRITE_HANDLER( lasso_sharedram_w )
    62: {
    63: 	lasso_sharedram[offset] = data;
    64: }
    65: 
    66: 
    67: /* Write to the sound latch and generate an IRQ on the sound CPU */
    68: 
    69: static WRITE_HANDLER( sound_command_w )
    70: {
    71: 	soundlatch_w(offset,data);
    72: 	cpu_set_irq_line( 1, 0, PULSE_LINE );
    73: }
    74: 
    75: static READ_HANDLER( sound_status_r )
    76: {
    77: 	/*	0x01: chip#0 ready; 0x02: chip#1 ready */
    78: 	return 0x03;
    79: }
    80: 
    81: static data8_t lasso_chip_data;
    82: 
    83: static WRITE_HANDLER( sound_data_w )
    84: {
    85: 	lasso_chip_data = BITSWAP8(data,0,1,2,3,4,5,6,7);
    86: }
    87: 
    88: static WRITE_HANDLER( sound_select_w )
    89: {
    90: 	if (~data & 0x01)	/* chip #0 */
    91: 		SN76496_0_w(0,lasso_chip_data);
    92: 
    93: 	if (~data & 0x02)	/* chip #1 */
    94: 		SN76496_1_w(0,lasso_chip_data);
    95: }
    96: 
    97: 
    98: 
    99: static MEMORY_READ_START( lasso_readmem )
   100: 	{ 0x0000, 0x0c7f, MRA_RAM },
   101: 	{ 0x1000, 0x17ff, lasso_sharedram_r	},
   102: 	{ 0x1804, 0x1804, input_port_0_r },
   103: 	{ 0x1805, 0x1805, input_port_1_r },
   104: 	{ 0x1806, 0x1806, input_port_2_r },
   105: 	{ 0x1807, 0x1807, input_port_3_r },
   106: 	{ 0x8000, 0xffff, MRA_ROM },
   107: MEMORY_END
   108: 
   109: static MEMORY_WRITE_START( lasso_writemem )
   110: 	{ 0x0000, 0x03ff, MWA_RAM },
   111: 	{ 0x0400, 0x07ff, lasso_videoram_w, &lasso_videoram },
   112: 	{ 0x0800, 0x0bff, lasso_colorram_w, &lasso_colorram },
   113: 	{ 0x0c00, 0x0c7f, MWA_RAM, &lasso_spriteram, &lasso_spriteram_size },
   114: 	{ 0x1000, 0x17ff, lasso_sharedram_w	},
   115: 	{ 0x1800, 0x1800, sound_command_w },
   116: 	{ 0x1801, 0x1801, lasso_backcolor_w	},
   117: 	{ 0x1802, 0x1802, lasso_video_control_w },
   118: 	{ 0x1806, 0x1806, MWA_NOP },	// games uses 'lsr' to read port
   119: 	{ 0x8000, 0xffff, MWA_ROM },
   120: MEMORY_END
   121: 
   122: 
   123: static MEMORY_READ_START( chameleo_readmem )
   124: 	{ 0x0000, 0x10ff, MRA_RAM },
   125: 	{ 0x1804, 0x1804, input_port_0_r },
   126: 	{ 0x1805, 0x1805, input_port_1_r },
   127: 	{ 0x1806, 0x1806, input_port_2_r },
   128: 	{ 0x1807, 0x1807, input_port_3_r },
   129: 	{ 0x2000, 0xffff, MRA_ROM },
   130: MEMORY_END
   131: 
   132: static MEMORY_WRITE_START( chameleo_writemem )
   133: 	{ 0x0000, 0x03ff, MWA_RAM },
   134: 	{ 0x0400, 0x07ff, lasso_videoram_w, &lasso_videoram },
   135: 	{ 0x0800, 0x0bff, lasso_colorram_w, &lasso_colorram },
   136: 	{ 0x0c00, 0x0fff, MWA_RAM },	//
   137: 	{ 0x1000, 0x107f, MWA_RAM, &lasso_spriteram, &lasso_spriteram_size },
   138: 	{ 0x1080, 0x10ff, MWA_RAM },
   139: 	{ 0x1800, 0x1800, sound_command_w },
   140: 	{ 0x1801, 0x1801, lasso_backcolor_w	},
   141: 	{ 0x1802, 0x1802, lasso_video_control_w },
   142: 	{ 0x2000, 0xffff, MWA_ROM },
   143: MEMORY_END
   144: 
   145: 
   146: static MEMORY_READ_START( wwjgtin_readmem )
   147: 	{ 0x0000, 0x10ff, MRA_RAM },
   148: 	{ 0x1804, 0x1804, input_port_0_r },
   149: 	{ 0x1805, 0x1805, input_port_1_r },
   150: 	{ 0x1806, 0x1806, input_port_2_r },
   151: 	{ 0x1807, 0x1807, input_port_3_r },
   152: 	{ 0x5000, 0xbfff, MRA_ROM },
   153: 	{ 0xfffa, 0xffff, MRA_ROM },
   154: MEMORY_END
   155: 
   156: static MEMORY_WRITE_START( wwjgtin_writemem )
   157: 	{ 0x0000, 0x07ff, MWA_RAM },
   158: 	{ 0x0800, 0x0bff, lasso_videoram_w, &lasso_videoram },
   159: 	{ 0x0c00, 0x0fff, lasso_colorram_w, &lasso_colorram },
   160: 	{ 0x1000, 0x10ff, MWA_RAM, &lasso_spriteram, &lasso_spriteram_size },
   161: 	{ 0x1800, 0x1800, sound_command_w },
   162: 	{ 0x1801, 0x1801, lasso_backcolor_w	},
   163: 	{ 0x1802, 0x1802, wwjgtin_video_control_w	},
   164: 	{ 0x1c00, 0x1c03, wwjgtin_lastcolor_w },
   165: 	{ 0x1c04, 0x1c07, MWA_RAM, &wwjgtin_track_scroll },
   166: 	{ 0x5000, 0xbfff, MWA_ROM },
   167: 	{ 0xfffa, 0xffff, MWA_ROM },
   168: MEMORY_END
   169: 
   170: 
   171: static MEMORY_WRITE_START( pinbo_writemem )
   172: 	{ 0x0000, 0x03ff, MWA_RAM },
   173: 	{ 0x0400, 0x07ff, lasso_videoram_w, &lasso_videoram },
   174: 	{ 0x0800, 0x0bff, lasso_colorram_w, &lasso_colorram },
   175: 	{ 0x1000, 0x10ff, MWA_RAM, &lasso_spriteram, &lasso_spriteram_size },
   176: 	{ 0x1800, 0x1800, sound_command_w },
   177: 	{ 0x1802, 0x1802, pinbo_video_control_w },
   178: 	{ 0x2000, 0xffff, MWA_ROM },
   179: MEMORY_END
   180: 
   181: 
   182: static MEMORY_READ_START( lasso_coprocessor_readmem )
   183: 	{ 0x0000, 0x07ff, MRA_RAM },
   184: 	{ 0x2000, 0x3fff, MRA_RAM },
   185: 	{ 0x8000, 0x8fff, MRA_ROM },
   186: 	{ 0xf000, 0xffff, MRA_ROM },
   187: MEMORY_END
   188: 
   189: static MEMORY_WRITE_START( lasso_coprocessor_writemem )
   190: 	{ 0x0000, 0x07ff, MWA_RAM, &lasso_sharedram},
   191: 	{ 0x2000, 0x3fff, MWA_RAM, &lasso_bitmap_ram },
   192: 	{ 0x8000, 0x8fff, MWA_ROM },
   193: 	{ 0xf000, 0xffff, MWA_ROM },
   194: MEMORY_END
   195: 
   196: 
   197: static MEMORY_READ_START( lasso_sound_readmem )
   198: 	{ 0x0000, 0x01ff, MRA_RAM },
   199: 	{ 0x5000, 0x7fff, MRA_ROM },
   200: 	{ 0xb004, 0xb004, sound_status_r },
   201: 	{ 0xb005, 0xb005, soundlatch_r },
   202: 	{ 0xf000, 0xffff, MRA_ROM },
   203: MEMORY_END
   204: 
   205: static MEMORY_WRITE_START( lasso_sound_writemem )
   206: 	{ 0x0000, 0x01ff, MWA_RAM },
   207: 	{ 0x5000, 0x7fff, MWA_ROM },
   208: 	{ 0xb000, 0xb000, sound_data_w },
   209: 	{ 0xb001, 0xb001, sound_select_w },
   210: 	{ 0xf000, 0xffff, MWA_ROM },
   211: MEMORY_END
   212: 
   213: 
   214: static MEMORY_READ_START( chameleo_sound_readmem )
   215: 	{ 0x0000, 0x01ff, MRA_RAM },
   216: 	{ 0x1000, 0x1fff, MRA_ROM },
   217: 	{ 0x6000, 0x7fff, MRA_ROM },
   218: 	{ 0xb004, 0xb004, sound_status_r },
   219: 	{ 0xb005, 0xb005, soundlatch_r },
   220: 	{ 0xfffa, 0xffff, MRA_ROM },
   221: MEMORY_END
   222: 
   223: static MEMORY_WRITE_START( chameleo_sound_writemem )
   224: 	{ 0x0000, 0x01ff, MWA_RAM },
   225: 	{ 0x1000, 0x1fff, MWA_ROM },
   226: 	{ 0x6000, 0x7fff, MWA_ROM },
   227: 	{ 0xb000, 0xb000, sound_data_w },
   228: 	{ 0xb001, 0xb001, sound_select_w },
   229: 	{ 0xfffa, 0xffff, MWA_ROM },
   230: MEMORY_END
   231: 
   232: 
   233: static MEMORY_WRITE_START( wwjgtin_sound_writemem )
   234: 	{ 0x0000, 0x01ff, MWA_RAM },
   235: 	{ 0x5000, 0x7fff, MWA_ROM },
   236: 	{ 0xb000, 0xb000, sound_data_w },
   237: 	{ 0xb001, 0xb001, sound_select_w },
   238: 	{ 0xb003, 0xb003, DAC_0_data_w },
   239: 	{ 0xfffa, 0xffff, MWA_ROM },
   240: MEMORY_END
   241: 
   242: 
   243: static MEMORY_READ_START( pinbo_sound_readmem )
   244: 	{ 0x0000, 0x1fff, MRA_ROM },
   245: 	{ 0xf000, 0xffff, MRA_RAM },
   246: MEMORY_END
   247: 
   248: static MEMORY_WRITE_START( pinbo_sound_writemem )
   249: 	{ 0x0000, 0x1fff, MWA_ROM },
   250: 	{ 0xf000, 0xffff, MWA_RAM },
   251: MEMORY_END
   252: 
   253: static PORT_READ_START( pinbo_sound_readport )
   254: 	{ 0x02, 0x02, AY8910_read_port_0_r },
   255: 	{ 0x06, 0x06, AY8910_read_port_1_r },
   256: 	{ 0x08, 0x08, soundlatch_r },
   257: PORT_END
   258: 
   259: static PORT_WRITE_START( pinbo_sound_writeport )
   260: 	{ 0x00, 0x00, AY8910_control_port_0_w },
   261: 	{ 0x01, 0x01, AY8910_write_port_0_w },
   262: 	{ 0x04, 0x04, AY8910_control_port_1_w },
   263: 	{ 0x05, 0x05, AY8910_write_port_1_w },
   264: 	{ 0x08, 0x08, MWA_NOP },	/* ??? */
   265: 	{ 0x14, 0x14, MWA_NOP },	/* ??? */
   266: PORT_END
   267: 
   268: 
   269: 
   270: INPUT_PORTS_START( lasso )
   271: 	PORT_START /* 1804 */
   272: 	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT | IPF_4WAY )
   273: 	PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT  | IPF_4WAY )
   274: 	PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP    | IPF_4WAY )
   275: 	PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN  | IPF_4WAY )
   276: 	PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) /* lasso */
   277: 	PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON2 ) /* shoot */
   278: 	PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED  )
   279: 	PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED  )
   280: 
   281: 	PORT_START /* 1805 */
   282: 	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT | IPF_COCKTAIL | IPF_4WAY )
   283: 	PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT  | IPF_COCKTAIL | IPF_4WAY )
   284: 	PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP    | IPF_COCKTAIL | IPF_4WAY )
   285: 	PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN  | IPF_COCKTAIL | IPF_4WAY )
   286: 	PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 | IPF_COCKTAIL )
   287: 	PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON2	| IPF_COCKTAIL )
   288: 	PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED  )
   289: 	PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED  )
   290: 
   291: 	PORT_START /* 1806 */
   292: 	PORT_DIPNAME( 0x01, 0x01, DEF_STR( Cabinet ) )
   293: 	PORT_DIPSETTING(	0x01, DEF_STR( Upright ) )
   294: 	PORT_DIPSETTING(	0x00, DEF_STR( Cocktail ) )
   295: 	PORT_DIPNAME( 0x0e, 0x0e, DEF_STR( Coin_A ) )
   296: 	PORT_DIPSETTING(	0x02, DEF_STR( 2C_1C ) )
   297: 	PORT_DIPSETTING(	0x0e, DEF_STR( 1C_1C ) )
   298: 	PORT_DIPSETTING(	0x08, DEF_STR( 1C_2C ) )
   299: 	PORT_DIPSETTING(	0x04, DEF_STR( 1C_3C ) )
   300: 	PORT_DIPSETTING(	0x0c, DEF_STR( 1C_6C ) )
   301: //	PORT_DIPSETTING(	0x06, DEF_STR( 1C_1C ) )
   302: //	PORT_DIPSETTING(	0x00, DEF_STR( 1C_1C ) )
   303: //	PORT_DIPSETTING(	0x0a, DEF_STR( 1C_1C ) )
   304: 	PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) )
   305: 	PORT_DIPSETTING(    0x30, "3" )
   306: 	PORT_DIPSETTING(    0x10, "4" )
   307: 	PORT_DIPSETTING(    0x20, "5" )
   308: //	PORT_DIPSETTING(    0x00, "3" )
   309: 	PORT_DIPNAME( 0x40, 0x00, DEF_STR( Coin_B ) )
   310: 	PORT_DIPSETTING(	0x40, DEF_STR( 2C_1C ) )
   311: 	PORT_DIPSETTING(	0x00, DEF_STR( 1C_1C ) )
   312: 	PORT_DIPNAME( 0x80, 0x80, "Warm-Up Instructions" )
   313: 	PORT_DIPSETTING(	0x00, DEF_STR( No ) )
   314: 	PORT_DIPSETTING(	0x80, DEF_STR( Yes ) )
   315: 
   316: 	PORT_START /* 1807 */
   317: 	PORT_DIPNAME( 0x01, 0x00, "Warm-Up" )
   318: 	PORT_DIPSETTING(    0x01, DEF_STR( No ) )
   319: 	PORT_DIPSETTING(    0x00, DEF_STR( Yes ) )
   320: 	PORT_DIPNAME( 0x02, 0x00, "Warm-Up Language" )
   321: 	PORT_DIPSETTING(    0x00, "English" )
   322: 	PORT_DIPSETTING(    0x02, "German" )
   323: 	PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )	/* used */
   324: 	PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
   325: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
   326: 	PORT_BITX(    0x08, 0x00, IPT_DIPSWITCH_NAME | IPF_CHEAT, "Invulnerability", IP_KEY_NONE, IP_JOY_NONE )
   327: 	PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
   328: 	PORT_DIPSETTING(    0x08, DEF_STR( On ) )
   329: 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN2    )
   330: 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1    )
   331: 	PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_START2  )
   332: 	PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_START1  )
   333: INPUT_PORTS_END
   334: 
   335: INPUT_PORTS_START( chameleo )
   336: 	PORT_START /* 1804 */
   337: 	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT | IPF_4WAY )
   338: 	PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT  | IPF_4WAY )
   339: 	PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP    | IPF_4WAY )
   340: 	PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN  | IPF_4WAY )
   341: 	PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 )
   342: 	PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED )
   343: 	PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED )
   344: 	PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED )
   345: 
   346: 	PORT_START /* 1805 */
   347: 	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT | IPF_COCKTAIL | IPF_4WAY )
   348: 	PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT  | IPF_COCKTAIL | IPF_4WAY )
   349: 	PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP    | IPF_COCKTAIL | IPF_4WAY )
   350: 	PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN  | IPF_COCKTAIL | IPF_4WAY )
   351: 	PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 | IPF_COCKTAIL )
   352: 	PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED )
   353: 	PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED )
   354: 	PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED )
   355: 
   356: 	PORT_START /* 1806 */
   357: 	PORT_DIPNAME( 0x01, 0x01, DEF_STR( Cabinet ) )
   358: 	PORT_DIPSETTING(	0x01, DEF_STR( Upright ) )
   359: 	PORT_DIPSETTING(	0x00, DEF_STR( Cocktail ) )
   360: 	PORT_DIPNAME( 0x0e, 0x0e, DEF_STR( Coin_A ) )
   361: 	PORT_DIPSETTING(	0x02, DEF_STR( 2C_1C ) )
   362: 	PORT_DIPSETTING(	0x0e, DEF_STR( 1C_1C ) )
   363: 	PORT_DIPSETTING(	0x08, DEF_STR( 1C_2C ) )
   364: 	PORT_DIPSETTING(	0x04, DEF_STR( 1C_3C ) )
   365: 	PORT_DIPSETTING(	0x0c, DEF_STR( 1C_6C ) )
   366: //	PORT_DIPSETTING(	0x06, DEF_STR( 1C_1C ) )
   367: //	PORT_DIPSETTING(	0x00, DEF_STR( 1C_1C ) )
   368: //	PORT_DIPSETTING(	0x0a, DEF_STR( 1C_1C ) )
   369: 	PORT_DIPNAME( 0x30, 0x00, DEF_STR( Lives ) )
   370: 	PORT_DIPSETTING(    0x00, "3" )
   371: 	PORT_DIPSETTING(    0x30, "5" )
   372: //	PORT_DIPSETTING(    0x10, "5" )
   373: 	PORT_BITX(0,        0x20, IPT_DIPSWITCH_SETTING | IPF_CHEAT, "Infinite", IP_JOY_NONE, IP_KEY_NONE )
   374: 	PORT_DIPNAME( 0x40, 0x00, DEF_STR( Coin_B ) )
   375: 	PORT_DIPSETTING(	0x40, DEF_STR( 2C_1C ) )
   376: 	PORT_DIPSETTING(	0x00, DEF_STR( 1C_1C ) )
   377: 	PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
   378: 	PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
   379: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
   380: 
   381: 	PORT_START /* 1807 */
   382: 	PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )	/* probably unused */
   383: 	PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
   384: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
   385: 	PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )	/* probably unused */
   386: 	PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
   387: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
   388: 	PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )	/* probably unused */
   389: 	PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
   390: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
   391: 	PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) )
   392: 	PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
   393: 	PORT_DIPSETTING(    0x08, DEF_STR( On ) )
   394: 	PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN2    )
   395: 	PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1    )
   396: 	PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_START2  )
   397: 	PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_START1  )
   398: INPUT_PORTS_END
   399: 
   400: INPUT_PORTS_START( wwjgtin )
   401: 	PORT_START /* 1804 */
   402: 	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT | IPF_4WAY )
   403: 	PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT  | IPF_4WAY )
   404: 	PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP    | IPF_4WAY )
   405: 	PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN  | IPF_4WAY )
   406: 	PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 )
   407: 	PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON2 )
   408: 	PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED )
   409: 	PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED )
   410: 
   411: 	PORT_START /* 1805 */
   412: 	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT | IPF_PLAYER2 | IPF_4WAY )
   413: 	PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT  | IPF_PLAYER2 | IPF_4WAY )
   414: 	PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP    | IPF_PLAYER2 | IPF_4WAY )
   415: 	PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN  | IPF_PLAYER2 | IPF_4WAY )
   416: 	PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 | IPF_PLAYER2 )
   417: 	PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON2 | IPF_PLAYER2 )
   418: 	PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED )
   419: 	PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED )
   420: 
   421: 	PORT_START /* 1806 */
   422: 	PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )	/* used - has to do with the controls */
   423: 	PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
   424: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
   425: 	PORT_DIPNAME( 0x0e, 0x0e, DEF_STR( Coin_A ) )
   426: 	PORT_DIPSETTING(	0x02, DEF_STR( 2C_1C ) )
   427: 	PORT_DIPSETTING(	0x0e, DEF_STR( 1C_1C ) )
   428: 	PORT_DIPSETTING(	0x08, DEF_STR( 1C_2C ) )
   429: 	PORT_DIPSETTING(	0x04, DEF_STR( 1C_3C ) )
   430: 	PORT_DIPSETTING(	0x0c, DEF_STR( 1C_6C ) )
   431: //	PORT_DIPSETTING(	0x06, DEF_STR( 1C_1C ) )
   432: //	PORT_DIPSETTING(	0x00, DEF_STR( 1C_1C ) )
   433: //	PORT_DIPSETTING(	0x0a, DEF_STR( 1C_1C ) )
   434: 	PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )	/* probably unused */
   435: 	PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
   436: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
   437: 	PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )	/* probably unused */
   438: 	PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
   439: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
   440: 	PORT_DIPNAME( 0x40, 0x00, DEF_STR( Coin_B ) )
   441: 	PORT_DIPSETTING(	0x40, DEF_STR( 2C_1C ) )
   442: 	PORT_DIPSETTING(	0x00, DEF_STR( 1C_1C ) )
   443: 	PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )	/* probably unused */
   444: 	PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
   445: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
   446: 
   447: 	PORT_START /* 1807 */
   448: 	PORT_DIPNAME( 0x01, 0x00, DEF_STR( Bonus_Life) )
   449: 	PORT_DIPSETTING(    0x00, "20k" )
   450: 	PORT_DIPSETTING(    0x01, "50k" )
   451: 	PORT_DIPNAME( 0x02, 0x02, DEF_STR( Demo_Sounds ) )
   452: 	PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
   453: 	PORT_DIPSETTING(    0x02, DEF_STR( On ) )
   454: 	PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )	/* probably unused */
   455: 	PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
   456: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
   457: 	PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )	/* probably unused */
   458: 	PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
   459: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
   460: 	PORT_BIT( 0x10, IP_ACTIVE_LOW,  IPT_COIN2   )
   461: 	PORT_BIT( 0x20, IP_ACTIVE_LOW,  IPT_COIN1   )
   462: 	PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_START1  )
   463: 	PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_START2  )
   464: INPUT_PORTS_END
   465: 
   466: INPUT_PORTS_START( pinbo )
   467: 	PORT_START  /* 1804 */
   468: 	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT | IPF_8WAY )
   469: 	PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT  | IPF_8WAY )
   470: 	PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP    | IPF_8WAY )
   471: 	PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN  | IPF_8WAY )
   472: 	PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON2 )
   473: 	PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 )
   474: 	PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
   475: 	PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
   476: 
   477: 	PORT_START  /* 1805 */
   478: 	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_COCKTAIL )
   479: 	PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT  | IPF_8WAY | IPF_COCKTAIL )
   480: 	PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP    | IPF_8WAY | IPF_COCKTAIL )
   481: 	PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN  | IPF_8WAY | IPF_COCKTAIL )
   482: 	PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON2 | IPF_COCKTAIL )
   483: 	PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 | IPF_COCKTAIL )
   484: 	PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
   485: 	PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
   486: 
   487: 	PORT_START /* 1806 */
   488: 	PORT_DIPNAME( 0x01, 0x01, DEF_STR( Cabinet ) )
   489: 	PORT_DIPSETTING(    0x01, DEF_STR( Upright ) )
   490: 	PORT_DIPSETTING(    0x00, DEF_STR( Cocktail ) )
   491: 	PORT_DIPNAME( 0x0e, 0x0e, DEF_STR( Coin_A ) )
   492: 	PORT_DIPSETTING(	0x02, DEF_STR( 2C_1C ) )
   493: 	PORT_DIPSETTING(	0x0e, DEF_STR( 1C_1C ) )
   494: 	PORT_DIPSETTING(	0x08, DEF_STR( 1C_2C ) )
   495: 	PORT_DIPSETTING(	0x04, DEF_STR( 1C_3C ) )
   496: 	PORT_DIPSETTING(	0x0c, DEF_STR( 1C_6C ) )
   497: //	PORT_DIPSETTING(	0x06, DEF_STR( 1C_1C ) )
   498: //	PORT_DIPSETTING(	0x00, DEF_STR( 1C_1C ) )
   499: //	PORT_DIPSETTING(	0x0a, DEF_STR( 1C_1C ) )
   500: 	PORT_DIPNAME( 0x30, 0x00, DEF_STR( Lives ) )
   501: 	PORT_DIPSETTING(    0x00, "3" )
   502: 	PORT_DIPSETTING(    0x10, "4" )
   503: 	PORT_DIPSETTING(    0x20, "5" )
   504: 	PORT_BITX( 0,       0x30, IPT_DIPSWITCH_SETTING | IPF_CHEAT, "70", IP_KEY_NONE, IP_JOY_NONE )
   505: 	PORT_DIPNAME( 0x40, 0x00, DEF_STR( Coin_B ) )
   506: 	PORT_DIPSETTING(    0x40, DEF_STR( 2C_1C ) )
   507: 	PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
   508: 	PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )	/* probably unused */
   509: 	PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
   510: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
   511: 
   512: 	PORT_START /* 1807 */
   513: 	PORT_DIPNAME( 0x01, 0x00, DEF_STR( Bonus_Life) )
   514: 	PORT_DIPSETTING(    0x00, "500000,1000000" )
   515: 	PORT_DIPSETTING(    0x01, "none" )
   516: 	PORT_DIPNAME( 0x02, 0x02, "Controls" )
   517: 	PORT_DIPSETTING(    0x02, "Normal" )
   518: 	PORT_DIPSETTING(    0x00, "Reversed" )
   519: 	PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )	/* probably unused */
   520: 	PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
   521: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
   522: 	PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) )
   523: 	PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
   524: 	PORT_DIPSETTING(    0x08, DEF_STR( On ) )
   525: 	PORT_BIT( 0x10, IP_ACTIVE_LOW,  IPT_COIN2   )
   526: 	PORT_BIT( 0x20, IP_ACTIVE_LOW,  IPT_COIN1   )
   527: 	PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_START2 )
   528: 	PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_START1 )
   529: INPUT_PORTS_END
   530: 
   531: INPUT_PORTS_START( pinbos )
   532: 	PORT_START  /* 1804 */
   533: 	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT | IPF_8WAY )
   534: 	PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT  | IPF_8WAY )
   535: 	PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP    | IPF_8WAY )
   536: 	PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN  | IPF_8WAY )
   537: 	PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON2 )
   538: 	PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 )
   539: 	PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
   540: 	PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
   541: 
   542: 	PORT_START  /* 1805 */
   543: 	PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_COCKTAIL )
   544: 	PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT  | IPF_8WAY | IPF_COCKTAIL )
   545: 	PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP    | IPF_8WAY | IPF_COCKTAIL )
   546: 	PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN  | IPF_8WAY | IPF_COCKTAIL )
   547: 	PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON2 | IPF_COCKTAIL )
   548: 	PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 | IPF_COCKTAIL )
   549: 	PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
   550: 	PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
   551: 
   552: 	PORT_START /* 1806 */
   553: 	PORT_DIPNAME( 0x01, 0x01, DEF_STR( Cabinet ) )
   554: 	PORT_DIPSETTING(    0x01, DEF_STR( Upright ) )
   555: 	PORT_DIPSETTING(    0x00, DEF_STR( Cocktail ) )
   556: 	PORT_DIPNAME( 0x0e, 0x0e, DEF_STR( Coin_A ) )
   557: 	PORT_DIPSETTING(	0x02, DEF_STR( 2C_1C ) )
   558: 	PORT_DIPSETTING(	0x0e, DEF_STR( 1C_1C ) )
   559: 	PORT_DIPSETTING(	0x08, DEF_STR( 1C_2C ) )
   560: 	PORT_DIPSETTING(	0x04, DEF_STR( 1C_3C ) )
   561: 	PORT_DIPSETTING(	0x0c, DEF_STR( 1C_6C ) )
   562: //	PORT_DIPSETTING(	0x06, DEF_STR( 1C_1C ) )
   563: //	PORT_DIPSETTING(	0x00, DEF_STR( 1C_1C ) )
   564: //	PORT_DIPSETTING(	0x0a, DEF_STR( 1C_1C ) )
   565: 	PORT_DIPNAME( 0x30, 0x00, DEF_STR( Lives ) )
   566: 	PORT_DIPSETTING(    0x00, "3" )
   567: 	PORT_DIPSETTING(    0x10, "4" )
   568: 	PORT_DIPSETTING(    0x20, "5" )
   569: 	PORT_BITX( 0,       0x30, IPT_DIPSWITCH_SETTING | IPF_CHEAT, "70", IP_KEY_NONE, IP_JOY_NONE )
   570: 	PORT_DIPNAME( 0x40, 0x00, DEF_STR( Coin_B ) )
   571: 	PORT_DIPSETTING(    0x40, DEF_STR( 2C_1C ) )
   572: 	PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
   573: 	PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )	/* probably unused */
   574: 	PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
   575: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
   576: 
   577: 	PORT_START /* 1807 */
   578: 	PORT_DIPNAME( 0x01, 0x00, DEF_STR( Bonus_Life) )
   579: 	PORT_DIPSETTING(    0x00, "500000,1000000" )
   580: 	PORT_DIPSETTING(    0x01, "none" )
   581: 	PORT_DIPNAME( 0x02, 0x02, "Controls" )
   582: 	PORT_DIPSETTING(    0x02, "Normal" )
   583: 	PORT_DIPSETTING(    0x00, "Reversed" )
   584: 	PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )	/* probably unused */
   585: 	PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
   586: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
   587: 	PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) )
   588: 	PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
   589: 	PORT_DIPSETTING(    0x08, DEF_STR( On ) )
   590: 	PORT_BIT( 0x10, IP_ACTIVE_LOW,  IPT_COIN2   )
   591: 	PORT_BIT( 0x20, IP_ACTIVE_LOW,  IPT_COIN1   )
   592: 	PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_START2 )
   593: 	PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_START1 )
   594: INPUT_PORTS_END
   595: 
   596: 
   597: 
   598: static struct GfxLayout lasso_charlayout =
   599: {
   600: 	8,8,
   601: 	RGN_FRAC(1,4),
   602: 	2,
   603: 	{ RGN_FRAC(0,4), RGN_FRAC(2,4) },
   604: 	{ STEP8(0,1) },
   605: 	{ STEP8(0,8) },
   606: 	8*8
   607: };
   608: 
   609: static struct GfxLayout lasso_spritelayout =
   610: {
   611: 	16,16,
   612: 	RGN_FRAC(1,4),
   613: 	2,
   614: 	{ RGN_FRAC(1,4), RGN_FRAC(3,4) },
   615: 	{ STEP8(0,1), STEP8(8*8*1,1) },
   616: 	{ STEP8(0,8), STEP8(8*8*2,8) },
   617: 	16*16
   618: };
   619: 
   620: static struct GfxLayout wwjgtin_tracklayout =
   621: {
   622: 	16,16,
   623: 	RGN_FRAC(1,4),
   624: 	4,
   625: 	{ RGN_FRAC(1,4), RGN_FRAC(3,4), RGN_FRAC(0,4), RGN_FRAC(2,4) },
   626: 	{ STEP8(0,1), STEP8(8*8*1,1) },
   627: 	{ STEP8(0,8), STEP8(8*8*2,8) },
   628: 	16*16
   629: };
   630: 
   631: /* Pinbo is 3bpp, otherwise the same */
   632: static struct GfxLayout pinbo_charlayout =
   633: {
   634: 	8,8,
   635: 	RGN_FRAC(1,6),
   636: 	3,
   637: 	{ RGN_FRAC(0,6), RGN_FRAC(2,6), RGN_FRAC(4,6) },
   638: 	{ STEP8(0,1) },
   639: 	{ STEP8(0,8) },
   640: 	8*8
   641: };
   642: 
   643: static struct GfxLayout pinbo_spritelayout =
   644: {
   645: 	16,16,
   646: 	RGN_FRAC(1,6),
   647: 	3,
   648: 	{ RGN_FRAC(1,6), RGN_FRAC(3,6), RGN_FRAC(5,6) },
   649: 	{ STEP8(0,1), STEP8(8*8*1,1) },
   650: 	{ STEP8(0,8), STEP8(8*8*2,8) },
   651: 	16*16
   652: };
   653: 
   654: 
   655: static struct GfxDecodeInfo lasso_gfxdecodeinfo[] =
   656: {
   657: 	{ REGION_GFX1, 0, &lasso_charlayout,   0, 16 },
   658: 	{ REGION_GFX1, 0, &lasso_spritelayout, 0, 16 },
   659: 	{ -1 }
   660: };
   661: 
   662: static struct GfxDecodeInfo wwjgtin_gfxdecodeinfo[] =
   663: {
   664: 	{ REGION_GFX1, 0, &lasso_charlayout,       0, 16 },
   665: 	{ REGION_GFX1, 0, &lasso_spritelayout,     0, 16 },
   666: 	{ REGION_GFX2, 0, &wwjgtin_tracklayout,	4*16, 16 },
   667: 	{ -1 }
   668: };
   669: 
   670: static struct GfxDecodeInfo pinbo_gfxdecodeinfo[] =
   671: {
   672: 	{ REGION_GFX1, 0, &pinbo_charlayout,   0, 16 },
   673: 	{ REGION_GFX1, 0, &pinbo_spritelayout, 0, 16 },
   674: 	{ -1 }
   675: };
   676: 
   677: 
   678: 
   679: static struct SN76496interface sn76496_interface =
   680: {
   681: 	2,	/* 2 chips */
   682: 	{ 2000000, 2000000 },	/* ? MHz */
   683: 	{ 100, 100 }
   684: };
   685: 
   686: static struct DACinterface dac_interface =
   687: {
   688: 	1,
   689: 	{ 100 }
   690: };
   691: 
   692: static struct AY8910interface ay8910_interface =
   693: {
   694: 	2,		/* 2 chips */
   695: 	1250000,	/* 1.25 MHz? */
   696: 	{ 25, 25 },
   697: 	{ 0, 0 },
   698: 	{ 0, 0 },
   699: 	{ 0, 0 },
   700: 	{ 0, 0 }
   701: };
   702: 
   703: static MACHINE_DRIVER_START( lasso )
   704: 
   705: 	/* basic machine hardware */
   706: 	MDRV_CPU_ADD_TAG("main", M6502, 2000000)	/* 2 MHz (?) */
   707: 	MDRV_CPU_MEMORY(lasso_readmem,lasso_writemem)
   708: 	MDRV_CPU_VBLANK_INT(lasso_interrupt,2)		/* IRQ = VBlank, NMI = Coin Insertion */
   709: 
   710: 	MDRV_CPU_ADD_TAG("audio", M6502, 600000)
   711: 	MDRV_CPU_FLAGS(CPU_AUDIO_CPU)		/* ?? (controls music tempo) */
   712: 	MDRV_CPU_MEMORY(lasso_sound_readmem,lasso_sound_writemem)
   713: 
   714: 	MDRV_CPU_ADD_TAG("blitter", M6502, 2000000)	/* 2 MHz (?) */
   715: 	MDRV_CPU_MEMORY(lasso_coprocessor_readmem,lasso_coprocessor_writemem)
   716: 
   717: 	MDRV_FRAMES_PER_SECOND(60)
   718: 	MDRV_VBLANK_DURATION(DEFAULT_REAL_60HZ_VBLANK_DURATION)
   719: 	MDRV_INTERLEAVE(100)
   720: 
   721: 	/* video hardware */
   722: 	MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
   723: 	MDRV_SCREEN_SIZE(32*8, 32*8)
   724: 	MDRV_VISIBLE_AREA(0, 32*8-1, 2*8, 30*8-1)
   725: 	MDRV_GFXDECODE(lasso_gfxdecodeinfo)
   726: 	MDRV_PALETTE_LENGTH(0x40)
   727: 
   728: 	MDRV_PALETTE_INIT(lasso)
   729: 	MDRV_VIDEO_START(lasso)
   730: 	MDRV_VIDEO_UPDATE(lasso)
   731: 
   732: 	/* sound hardware */
   733: 	MDRV_SOUND_ADD_TAG("sn76496", SN76496, sn76496_interface)
   734: MACHINE_DRIVER_END
   735: 
   736: static MACHINE_DRIVER_START( chameleo )
   737: 
   738: 	/* basic machine hardware */
   739: 	MDRV_IMPORT_FROM(lasso)
   740: 	MDRV_CPU_MODIFY("main")
   741: 	MDRV_CPU_MEMORY(chameleo_readmem,chameleo_writemem)
   742: 
   743: 	MDRV_CPU_MODIFY("audio")
   744: 	MDRV_CPU_MEMORY(chameleo_sound_readmem,chameleo_sound_writemem)
   745: 
   746: 	MDRV_CPU_REMOVE("blitter")
   747: 
   748: 	/* video hardware */
   749: 	MDRV_VIDEO_UPDATE(chameleo)
   750: MACHINE_DRIVER_END
   751: 
   752: static MACHINE_DRIVER_START( wwjgtin )
   753: 
   754: 	/* basic machine hardware */
   755: 	MDRV_IMPORT_FROM(lasso)
   756: 	MDRV_CPU_MODIFY("main")
   757: 	MDRV_CPU_MEMORY(wwjgtin_readmem,wwjgtin_writemem)
   758: 
   759: 	MDRV_CPU_MODIFY("audio")
   760: 	MDRV_CPU_MEMORY(lasso_sound_readmem,wwjgtin_sound_writemem)
   761: 
   762: 	MDRV_CPU_REMOVE("blitter")
   763: 
   764: 	/* video hardware */
   765: 	MDRV_VISIBLE_AREA(1*8, 31*8-1, 2*8, 30*8-1)	// Smaller visible area?
   766: 	MDRV_GFXDECODE(wwjgtin_gfxdecodeinfo)	// Has 1 additional layer
   767: 	MDRV_PALETTE_LENGTH(0x40+1)
   768: 	MDRV_COLORTABLE_LENGTH(4*16 + 16*16)	// Reserve 1 color for black
   769: 
   770: 	MDRV_PALETTE_INIT(wwjgtin)
   771: 	MDRV_VIDEO_START(wwjgtin)
   772: 	MDRV_VIDEO_UPDATE(wwjgtin)
   773: 
   774: 	/* sound hardware */
   775: 	MDRV_SOUND_ADD(DAC, dac_interface)
   776: MACHINE_DRIVER_END
   777: 
   778: static MACHINE_DRIVER_START( pinbo )
   779: 
   780: 	/* basic machine hardware */
   781: 	MDRV_IMPORT_FROM(lasso)
   782: 	MDRV_CPU_MODIFY("main")
   783: 	MDRV_CPU_MEMORY(chameleo_readmem,pinbo_writemem)
   784: 
   785: 	MDRV_CPU_REPLACE("audio", Z80, 3000000)
   786: 	MDRV_CPU_MEMORY(pinbo_sound_readmem,pinbo_sound_writemem)
   787: 	MDRV_CPU_PORTS(pinbo_sound_readport,pinbo_sound_writeport)
   788: 
   789: 	MDRV_CPU_REMOVE("blitter")
   790: 
   791: 	/* video hardware */
   792: 	MDRV_GFXDECODE(pinbo_gfxdecodeinfo)
   793: 	MDRV_PALETTE_LENGTH(256)
   794: 
   795: 	MDRV_PALETTE_INIT(RRRR_GGGG_BBBB)
   796: 	MDRV_VIDEO_START(pinbo)
   797: 	MDRV_VIDEO_UPDATE(chameleo)
   798: 
   799: 	/* sound hardware */
   800: 	MDRV_SOUND_REMOVE("sn76496")
   801: 	MDRV_SOUND_ADD(AY8910, ay8910_interface)
   802: MACHINE_DRIVER_END
   803: 
   804: 
   805: ROM_START( lasso )
   806: 	ROM_REGION( 0x10000, REGION_CPU1, 0 )
   807: 	ROM_LOAD( "wm3",       0x8000, 0x2000, CRC(f93addd6) SHA1(b0a1b263874da8608c3bab4e8785358e2aa19c2e) )
   808: 	ROM_RELOAD(            0xc000, 0x2000)
   809: 	ROM_LOAD( "wm4",       0xe000, 0x2000, CRC(77719859) SHA1(d206b6af9a567f70d69624866ae9973652527065) )
   810: 	ROM_RELOAD(            0xa000, 0x2000)
   811: 
   812: 	ROM_REGION( 0x10000, REGION_CPU2, 0 )
   813: 	ROM_LOAD( "wmc",       0x5000, 0x1000, CRC(8b4eb242) SHA1(55ada50036abbaa10799f37e35254e6ff70ee947) )
   814: 	ROM_LOAD( "wmb",       0x6000, 0x1000, CRC(4658bcb9) SHA1(ecc83ef99edbe5f69a884a142478ff0f56edba12) )
   815: 	ROM_LOAD( "wma",       0x7000, 0x1000, CRC(2e7de3e9) SHA1(665a89b9914ca16b9c08b751e142cf7320aaf793) )
   816: 	ROM_RELOAD(            0xf000, 0x1000 )
   817: 
   818: 	ROM_REGION( 0x10000, REGION_CPU3, 0 ) /* 6502 code (lasso image blitter) */
   819: 	ROM_LOAD( "wm5",       0xf000, 0x1000, CRC(7dc3ff07) SHA1(46aaa9186940d06fd679a573330e9ad3796aa647) )
   820: 	ROM_RELOAD(            0x8000, 0x1000)
   821: 
   822: 	ROM_REGION( 0x4000, REGION_GFX1, ROMREGION_DISPOSE )
   823: 	ROM_LOAD( "wm1",       0x0000, 0x0800, CRC(7db77256) SHA1(d12305bdfb6923c32982982a5544ae9bd8dbc2cb) )	/* Tiles   */
   824: 	ROM_CONTINUE(          0x1000, 0x0800             )	/* Sprites */
   825: 	ROM_CONTINUE(          0x0800, 0x0800             )
   826: 	ROM_CONTINUE(          0x1800, 0x0800             )
   827: 	ROM_LOAD( "wm2",       0x2000, 0x0800, CRC(9e7d0b6f) SHA1(c82be332209bf7331718e51926004fe9aa6f5ebd) )	/* 2nd bitplane */
   828: 	ROM_CONTINUE(          0x3000, 0x0800             )
   829: 	ROM_CONTINUE(          0x2800, 0x0800             )
   830: 	ROM_CONTINUE(          0x3800, 0x0800             )
   831: 
   832: 	ROM_REGION( 0x40, REGION_PROMS, 0 )
   833: 	ROM_LOAD( "82s123.69", 0x0000, 0x0020, CRC(1eabb04d) SHA1(3dc5b407bc1b1dea77337b4e913f1e945386d5c9) )
   834: 	ROM_LOAD( "82s123.70", 0x0020, 0x0020, CRC(09060f8c) SHA1(8f14b00bcfb7ab89d2e443cc82f7a65dc96ee819) )
   835: ROM_END
   836: 
   837: ROM_START( chameleo )
   838: 	ROM_REGION( 0x10000, REGION_CPU1, 0 )		/* 6502 Code (Main CPU) */
   839: 	ROM_LOAD( "chamel4.bin", 0x4000, 0x2000, CRC(97379c47) SHA1(b29fa2318d4260c29fc95d22a461173dc960ad1a) )
   840: 	ROM_LOAD( "chamel5.bin", 0x6000, 0x2000, CRC(0a2cadfd) SHA1(1ccc43accd60ca15b8f03ed1c3fda76a840a2bb1) )
   841: 	ROM_LOAD( "chamel6.bin", 0x8000, 0x2000, CRC(b023c354) SHA1(0424ecf81ac9f0e055f9ff01cf0bd6d5c9ff866c) )
   842: 	ROM_LOAD( "chamel7.bin", 0xa000, 0x2000, CRC(a5a03375) SHA1(c1eac4596c2bda419f3c513ecd3df9fae49ae159) )
   843: 	ROM_RELOAD(              0xe000, 0x2000             )
   844: 
   845: 	ROM_REGION( 0x10000, REGION_CPU2, 0 )		/* 6502 Code (Sound CPU) */
   846: 	ROM_LOAD( "chamel3.bin", 0x1000, 0x1000, CRC(52eab9ec) SHA1(554c34134e3af970262da89fe82feeaf47fd30bc) )
   847: 	ROM_LOAD( "chamel2.bin", 0x6000, 0x1000, CRC(81dcc49c) SHA1(7e1b4351775f9c140a43f531da8b055271b7b28c) )
   848: 	ROM_LOAD( "chamel1.bin", 0x7000, 0x1000, CRC(96031d3b) SHA1(a143b54b98891423d355e0ba08c3b88d70fa0e23) )
   849: 	ROM_RELOAD(              0xf000, 0x1000             )
   850: 
   851: 	ROM_REGION( 0x4000, REGION_GFX1, ROMREGION_DISPOSE )
   852: 	ROM_LOAD( "chamel8.bin", 0x0800, 0x0800, CRC(dc67916b) SHA1(8b3fad0d5d42925b44e51df7f88ea4b6a8dbb4f6) )	/* Tiles   */
   853: 	ROM_CONTINUE(            0x1800, 0x0800             )	/* Sprites */
   854: 	ROM_CONTINUE(            0x0000, 0x0800             )
   855: 	ROM_CONTINUE(            0x1000, 0x0800             )
   856: 	ROM_LOAD( "chamel9.bin", 0x2800, 0x0800, CRC(6b559bf1) SHA1(b7b8b8bccbd88ea868e2d3ccb42513615120d8e6) )	/* 2nd bitplane */
   857: 	ROM_CONTINUE(            0x3800, 0x0800             )
   858: 	ROM_CONTINUE(            0x2000, 0x0800             )
   859: 	ROM_CONTINUE(            0x3000, 0x0800             )
   860: 
   861: 	ROM_REGION( 0x40, REGION_PROMS, ROMREGION_DISPOSE )	/* Colors */
   862: 	ROM_LOAD( "chambprm.bin", 0x0000, 0x0020, CRC(e3ad76df) SHA1(cd115cece4931bfcfc0f60147b942998a5c21bf7) )
   863: 	ROM_LOAD( "chamaprm.bin", 0x0020, 0x0020, CRC(c7063b54) SHA1(53baed3806848207ab3a8fafd182cabec3be4b04) )
   864: ROM_END
   865: 
   866: ROM_START( wwjgtin )
   867: 	ROM_REGION( 0x10000, REGION_CPU1, 0 )		/* 6502 Code (Main CPU) */
   868: 	ROM_LOAD( "ic2.6", 0x4000, 0x4000, CRC(744ba45b) SHA1(cccf3e2dd3c27bf54d2abd366cd9a044311aa031) )
   869: 	ROM_LOAD( "ic5.5", 0x8000, 0x4000, CRC(af751614) SHA1(fc0f0a3967524b1743a182c1da4f9b0c3097a157) )
   870: 	ROM_RELOAD(        0xc000, 0x4000             )
   871: 
   872: 	ROM_REGION( 0x10000, REGION_CPU2, 0 )		/* 6502 Code (Sound CPU) */
   873: 	ROM_LOAD( "ic59.9", 0x4000, 0x4000, CRC(2ecb4d98) SHA1(d5b0d447b24f64fca452dc13e6ff95b090fce2d7) )
   874: 	ROM_RELOAD(         0xc000, 0x4000             )
   875: 
   876: 	ROM_REGION( 0x8000, REGION_GFX1, ROMREGION_DISPOSE )
   877: 	ROM_LOAD( "ic81.7", 0x0000, 0x0800, CRC(a27f1a63) SHA1(3c770424bd4996f648687afce4aecea252da83a7) )	/* Tiles   */
   878: 	ROM_CONTINUE(       0x2000, 0x0800             )	/* Sprites */
   879: 	ROM_CONTINUE(       0x0800, 0x0800             )
   880: 	ROM_CONTINUE(       0x2800, 0x0800             )
   881: 	ROM_CONTINUE(       0x1000, 0x0800             )
   882: 	ROM_CONTINUE(       0x3000, 0x0800             )
   883: 	ROM_CONTINUE(       0x1800, 0x0800             )
   884: 	ROM_CONTINUE(       0x3800, 0x0800             )
   885: 	ROM_LOAD( "ic82.8", 0x4000, 0x0800, CRC(ea2862b3) SHA1(f7604fd324560c54311c35f806a17e30e018032a) )	/* 2nd bitplane */
   886: 	ROM_CONTINUE(       0x6000, 0x0800             )	/* Sprites */
   887: 	ROM_CONTINUE(       0x4800, 0x0800             )
   888: 	ROM_CONTINUE(       0x6800, 0x0800             )
   889: 	ROM_CONTINUE(       0x5000, 0x0800             )
   890: 	ROM_CONTINUE(       0x7000, 0x0800             )
   891: 	ROM_CONTINUE(       0x5800, 0x0800             )
   892: 	ROM_CONTINUE(       0x7800, 0x0800             )
   893: 
   894: 	ROM_REGION( 0x4000, REGION_GFX2, ROMREGION_DISPOSE )
   895: 	ROM_LOAD( "ic47.3", 0x0000, 0x2000, CRC(40594c59) SHA1(94533be8e267d9aa5bcdd52b45f6974436d3fed5) )	// 1xxxxxxxxxxxx = 0xFF
   896: 	ROM_LOAD( "ic46.4", 0x2000, 0x2000, CRC(d1921348) SHA1(8b5506ff80a31ce721aed515cad1b4a7e52e47a2) )
   897: 
   898: 	ROM_REGION( 0x4000, REGION_USER1, 0 )				/* tilemap */
   899: 	ROM_LOAD( "ic48.2", 0x0000, 0x2000, CRC(a4a7df77) SHA1(476aab702346a402169ab404a8b06589e4932d37) )
   900: 	ROM_LOAD( "ic49.1", 0x2000, 0x2000, CRC(e480fbba) SHA1(197c86747ef8477040169f90eb6e04d928aedbe5) )	// FIXED BITS (1111xxxx)
   901: 
   902: 	ROM_REGION( 0x40, REGION_PROMS, ROMREGION_DISPOSE )
   903: 	ROM_LOAD( "2.bpr",  0x0000, 0x0020, CRC(79adda5d) SHA1(e54de3eb02f744d49f524cd81e1cf993338916e3) )
   904: 	ROM_LOAD( "1.bpr",  0x0020, 0x0020, CRC(c1a93cc8) SHA1(805641ea2ce86589b968f1ff44e5d3ab9377769d) )
   905: ROM_END
   906: 
   907: ROM_START( pinbo )
   908: 	ROM_REGION( 0x10000, REGION_CPU1, 0 )	/* 64k for code */
   909: 	ROM_LOAD( "rom2.b7",     0x2000, 0x2000, CRC(9a185338) SHA1(4029cf927686b5e14ef7600b17ea3056cc58b15b) )
   910: 	ROM_LOAD( "rom3.e7",     0x6000, 0x2000, CRC(1cd1b3bd) SHA1(388ea72568f5bfd39856d872415327a2afaf7fad) )
   911: 	ROM_LOAD( "rom4.h7",     0x8000, 0x2000, CRC(ba043fa7) SHA1(ef3d67b6dab5c82035c58290879a3ca969a0256d) )
   912: 	ROM_LOAD( "rom5.j7",     0xa000, 0x2000, CRC(e71046c4) SHA1(f49133544c98df5f3e1a1d2ae92e17261b1504fc) )
   913: 	ROM_RELOAD(              0xe000, 0x2000 )
   914: 
   915: 	ROM_REGION( 0x10000, REGION_CPU2, 0 )  /* 64K for sound */
   916: 	ROM_LOAD( "rom1.s8",     0x0000, 0x2000, CRC(ca45a1be) SHA1(d0b2d8f1e6d01b60cba83d2bd458a57548549b4b) )
   917: 
   918: 	ROM_REGION( 0xc000, REGION_GFX1, ROMREGION_DISPOSE )
   919: 	ROM_LOAD( "rom6.a1",     0x0000, 0x0800, CRC(74fe8e98) SHA1(3c9ac38d7054b2831a515786b6f204b1804aaea3) )	/* tiles   */
   920: 	ROM_CONTINUE(       	 0x2000, 0x0800             )	/* sprites */
   921: 	ROM_CONTINUE(       	 0x0800, 0x0800             )
   922: 	ROM_CONTINUE(       	 0x2800, 0x0800             )
   923: 	ROM_CONTINUE(       	 0x1000, 0x0800             )
   924: 	ROM_CONTINUE(       	 0x3000, 0x0800             )
   925: 	ROM_CONTINUE(       	 0x1800, 0x0800             )
   926: 	ROM_CONTINUE(       	 0x3800, 0x0800             )
   927: 	ROM_LOAD( "rom8.c1",     0x4000, 0x0800, CRC(5a800fe7) SHA1(375269ec73fab7f0cf017a79e002e31b006f5ad7) )	/* 2nd bitplane */
   928: 	ROM_CONTINUE(       	 0x6000, 0x0800             )
   929: 	ROM_CONTINUE(       	 0x4800, 0x0800             )
   930: 	ROM_CONTINUE(       	 0x6800, 0x0800             )
   931: 	ROM_CONTINUE(       	 0x5000, 0x0800             )
   932: 	ROM_CONTINUE(       	 0x7000, 0x0800             )
   933: 	ROM_CONTINUE(       	 0x5800, 0x0800             )
   934: 	ROM_CONTINUE(       	 0x7800, 0x0800             )
   935: 	ROM_LOAD( "rom7.d1",     0x8000, 0x0800, CRC(327a3c21) SHA1(e938915d28ac4ec033b20d33728788493e3f30f6) )	/* 3rd bitplane */
   936: 	ROM_CONTINUE(       	 0xa000, 0x0800             )
   937: 	ROM_CONTINUE(       	 0x8800, 0x0800             )
   938: 	ROM_CONTINUE(       	 0xa800, 0x0800             )
   939: 	ROM_CONTINUE(       	 0x9000, 0x0800             )
   940: 	ROM_CONTINUE(       	 0xb000, 0x0800             )
   941: 	ROM_CONTINUE(       	 0x9800, 0x0800             )
   942: 	ROM_CONTINUE(       	 0xb800, 0x0800             )
   943: 
   944: 	ROM_REGION( 0x00300, REGION_PROMS, 0 ) /* Color PROMs */
   945: 	ROM_LOAD( "red.l10",     0x0000, 0x0100, CRC(e6c9ba52) SHA1(6ea96f9bd71de6181d675b0f2d59a8c5e1be5aa3) )
   946: 	ROM_LOAD( "green.k10",   0x0100, 0x0100, CRC(1bf2d335) SHA1(dcb074d3de939dfc652743e25bc66bd6fbdc3289) )
   947: 	ROM_LOAD( "blue.n10",    0x0200, 0x0100, CRC(e41250ad) SHA1(2e9a2babbacb1753057d46cf1dd6dc183611747e) )
   948: ROM_END
   949: 
   950: ROM_START( pinbos )
   951: 	ROM_REGION( 0x10000, REGION_CPU1, 0 )	/* 64k for code */
   952: 	ROM_LOAD( "b4.bin",      0x2000, 0x2000, CRC(d9452d4f) SHA1(c744ee037275b880c0ddc2fd83b3c05eb0a53621) )
   953: 	ROM_LOAD( "b5.bin",      0x6000, 0x2000, CRC(f80b204c) SHA1(ee9b4ae1d8ea2fc062022fcfae67df87ed7aff41) )
   954: 	ROM_LOAD( "b6.bin",      0x8000, 0x2000, CRC(ae967d83) SHA1(e79db85917a31821d10f919c4c429da33e97894d) )
   955: 	ROM_LOAD( "b7.bin",      0xa000, 0x2000, CRC(7a584b4e) SHA1(2eb55b706815228b3b12ee5c0f6c415cd1d612e6) )
   956: 	ROM_RELOAD(              0xe000, 0x2000 )
   957: 
   958: 	ROM_REGION( 0x10000, REGION_CPU2, 0 )  /* 64K for sound */
   959: 	ROM_LOAD( "b8.bin",      0x0000, 0x2000, CRC(32d1df14) SHA1(c0d4181378bbd6f2c594e923e2f8b21647c7fb0e) )
   960: 
   961: 	ROM_REGION( 0xc000, REGION_GFX1, ROMREGION_DISPOSE )
   962: 	ROM_LOAD( "rom6.a1",     0x0000, 0x0800, CRC(74fe8e98) SHA1(3c9ac38d7054b2831a515786b6f204b1804aaea3) )	/* tiles   */
   963: 	ROM_CONTINUE(       	 0x2000, 0x0800             )	/* sprites */
   964: 	ROM_CONTINUE(       	 0x0800, 0x0800             )
   965: 	ROM_CONTINUE(       	 0x2800, 0x0800             )
   966: 	ROM_CONTINUE(       	 0x1000, 0x0800             )
   967: 	ROM_CONTINUE(       	 0x3000, 0x0800             )
   968: 	ROM_CONTINUE(       	 0x1800, 0x0800             )
   969: 	ROM_CONTINUE(       	 0x3800, 0x0800             )
   970: 	ROM_LOAD( "rom8.c1",     0x4000, 0x0800, CRC(5a800fe7) SHA1(375269ec73fab7f0cf017a79e002e31b006f5ad7) )	/* 2nd bitplane */
   971: 	ROM_CONTINUE(       	 0x6000, 0x0800             )
   972: 	ROM_CONTINUE(       	 0x4800, 0x0800             )
   973: 	ROM_CONTINUE(       	 0x6800, 0x0800             )
   974: 	ROM_CONTINUE(       	 0x5000, 0x0800             )
   975: 	ROM_CONTINUE(       	 0x7000, 0x0800             )
   976: 	ROM_CONTINUE(       	 0x5800, 0x0800             )
   977: 	ROM_CONTINUE(       	 0x7800, 0x0800             )
   978: 	ROM_LOAD( "rom7.d1",     0x8000, 0x0800, CRC(327a3c21) SHA1(e938915d28ac4ec033b20d33728788493e3f30f6) )	/* 3rd bitplane */
   979: 	ROM_CONTINUE(       	 0xa000, 0x0800             )
   980: 	ROM_CONTINUE(       	 0x8800, 0x0800             )
   981: 	ROM_CONTINUE(       	 0xa800, 0x0800             )
   982: 	ROM_CONTINUE(       	 0x9000, 0x0800             )
   983: 	ROM_CONTINUE(       	 0xb000, 0x0800             )
   984: 	ROM_CONTINUE(       	 0x9800, 0x0800             )
   985: 	ROM_CONTINUE(       	 0xb800, 0x0800             )
   986: 
   987: 	ROM_REGION( 0x00300, REGION_PROMS, 0 ) /* Color PROMs */
   988: 	ROM_LOAD( "red.l10",     0x0000, 0x0100, CRC(e6c9ba52) SHA1(6ea96f9bd71de6181d675b0f2d59a8c5e1be5aa3) )
   989: 	ROM_LOAD( "green.k10",   0x0100, 0x0100, CRC(1bf2d335) SHA1(dcb074d3de939dfc652743e25bc66bd6fbdc3289) )
   990: 	ROM_LOAD( "blue.n10",    0x0200, 0x0100, CRC(e41250ad) SHA1(2e9a2babbacb1753057d46cf1dd6dc183611747e) )
   991: ROM_END
   992: 
   993: 
   994: /***************************************************************************
   995: 
   996: 								Game Drivers
   997: 
   998: ***************************************************************************/
   999: 
  1000: GAME( 1982, lasso,    0,     lasso,    lasso,    0, ROT90, "SNK", "Lasso"                   )
  1001: GAME( 1983, chameleo, 0,     chameleo, chameleo, 0, ROT0,  "Jaleco", "Chameleon"               )
  1002: GAME( 1984, wwjgtin,  0,     wwjgtin,  wwjgtin,  0, ROT0,  "Jaleco / Casio", "Wai Wai Jockey Gate-In!" )
  1003: GAME( 1984, pinbo,    0,     pinbo,    pinbo,    0, ROT90, "Jaleco", "Pinbo" )
  1004: GAME( 1984, pinbos,   pinbo, pinbo,    pinbos,   0, ROT90, "bootleg?", "Pinbo (Strike)" )
  1005: 




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