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

Source Listing


     1: /***************************************************************************
     2: 
     3: Side Pocket - (c) 1986 Data East
     4: 
     5: The original board has an 8751 protection mcu
     6: 
     7: Ernesto Corvi
     8: ernesto@imagina.com
     9: 
    10: Thanks must go to Mirko Buffoni for testing the music.
    11: 
    12: i8751 protection simluation and other fixes by Bryan McPhail, 15/10/00.
    13: 
    14: ***************************************************************************/
    15: 
    16: #include "driver.h" 
    17: #include "vidhrdw/generic.h" 
    18: #include "cpu/m6809/m6809.h" 
    19: #include "cpu/m6502/m6502.h" 
    20: 
    21: /* from vidhrdw */
    22: PALETTE_INIT( sidepckt );
    23: VIDEO_START( sidepckt );
    24: VIDEO_UPDATE( sidepckt );
    25: 
    26: WRITE_HANDLER( sidepckt_flipscreen_w );
    27: WRITE_HANDLER( sidepckt_videoram_w );
    28: WRITE_HANDLER( sidepckt_colorram_w );
    29: static int i8751_return;
    30: 
    31: 
    32: static WRITE_HANDLER( sound_cpu_command_w )
    33: {
    34:     soundlatch_w(offset,data);
    35:     cpu_set_irq_line(1,IRQ_LINE_NMI,PULSE_LINE);
    36: }
    37: 
    38: static READ_HANDLER( sidepckt_i8751_r )
    39: {
    40: 	return i8751_return;
    41: }
    42: 
    43: static WRITE_HANDLER( sidepckt_i8751_w )
    44: {
    45: 	int table_1[]={5,3,2};
    46: 	int table_2[]={0x8e,0x42,0xad,0x58,0xec,0x85,0xdd,0x4c,0xad,0x9f,0x00,0x4c,0x7e,0x42,0xa2,0xff};
    47: 	int table_3[]={0xbd,0x73,0x80,0xbd,0x73,0xa7,0xbd,0x73,0xe0,0x7e,0x72,0x56,0xff,0xff,0xff,0xff};
    48: 	static int current_ptr=0,current_table=0,in_math=0,math_param;
    49: 
    50: 	cpu_set_irq_line(0,M6809_FIRQ_LINE,HOLD_LINE); /* i8751 triggers FIRQ on main cpu */
    51: 
    52: 	/* This function takes multiple parameters */
    53: 	if (in_math==1) {
    54: 		in_math=2;
    55: 		i8751_return=math_param=data;
    56: 	}
    57: 	else if (in_math==2) {
    58: 		in_math=0;
    59: 		i8751_return=math_param/data;
    60: 	}
    61: 	else switch (data) {
    62: 		case 1: /* ID Check */
    63: 			current_table=1; current_ptr=0; i8751_return=table_1[current_ptr++]; break;
    64: 
    65: 		case 2: /* Protection data (executable code) */
    66: 			current_table=2; current_ptr=0; i8751_return=table_2[current_ptr++]; break;
    67: 
    68: 		case 3: /* Protection data (executable code) */
    69: 			current_table=3; current_ptr=0; i8751_return=table_3[current_ptr++]; break;
    70: 
    71: 		case 4: /* Divide function - multiple parameters */
    72: 			in_math=1;
    73: 			i8751_return=4;
    74: 			break;
    75: 
    76: 		case 6: /* Read table data */
    77: 			if (current_table==1) i8751_return=table_1[current_ptr++];
    78: 			if (current_table==2) i8751_return=table_2[current_ptr++];
    79: 			if (current_table==3) i8751_return=table_3[current_ptr++];
    80: 			break;
    81: 	}
    82: }
    83: 
    84: static WRITE_HANDLER( sidepctj_i8751_w )
    85: {
    86: 	int table_1[]={5,3,0};
    87: 	int table_2[]={0x8e,0x42,0xb2,0x58,0xec,0x85,0xdd,0x4c,0xad,0x9f,0x00,0x4c,0x7e,0x42,0xa7,0xff};
    88: 	int table_3[]={0xbd,0x71,0xc8,0xbd,0x71,0xef,0xbd,0x72,0x28,0x7e,0x70,0x9e,0xff,0xff,0xff,0xff};
    89: 	static int current_ptr=0,current_table=0,in_math,math_param;
    90: 
    91: 	cpu_set_irq_line(0,M6809_FIRQ_LINE,HOLD_LINE); /* i8751 triggers FIRQ on main cpu */
    92: 
    93: 	/* This function takes multiple parameters */
    94: 	if (in_math==1) {
    95: 		in_math=2;
    96: 		i8751_return=math_param=data;
    97: 	}
    98: 	else if (in_math==2) {
    99: 		in_math=0;
   100: 		i8751_return=math_param/data;
   101: 	}
   102: 	else switch (data) {
   103: 		case 1: /* ID Check */
   104: 			current_table=1; current_ptr=0; i8751_return=table_1[current_ptr++]; break;
   105: 
   106: 		case 2: /* Protection data */
   107: 			current_table=2; current_ptr=0; i8751_return=table_2[current_ptr++]; break;
   108: 
   109: 		case 3: /* Protection data (executable code) */
   110: 			current_table=3; current_ptr=0; i8751_return=table_3[current_ptr++]; break;
   111: 
   112: 		case 4: /* Divide function - multiple parameters */
   113: 			in_math=1;
   114: 			i8751_return=4;
   115: 			break;
   116: 
   117: 		case 6: /* Read table data */
   118: 			if (current_table==1) i8751_return=table_1[current_ptr++];
   119: 			if (current_table==2) i8751_return=table_2[current_ptr++];
   120: 			if (current_table==3) i8751_return=table_3[current_ptr++];
   121: 			break;
   122: 	}
   123: }
   124: 
   125: /******************************************************************************/
   126: 
   127: static MEMORY_READ_START( readmem )
   128: 	{ 0x0000, 0x0fff, MRA_RAM },
   129: 	{ 0x1000, 0x17ff, videoram_r },
   130: 	{ 0x1800, 0x1fff, colorram_r },
   131: 	{ 0x2000, 0x20ff, MRA_RAM },
   132: 	{ 0x3000, 0x3000, input_port_0_r },
   133: 	{ 0x3001, 0x3001, input_port_1_r },
   134: 	{ 0x3002, 0x3002, input_port_2_r },
   135: 	{ 0x3003, 0x3003, input_port_3_r },
   136: 	{ 0x3014, 0x3014, sidepckt_i8751_r },
   137: 	{ 0x4000, 0xffff, MRA_ROM },
   138: MEMORY_END
   139: 
   140: static MEMORY_WRITE_START( writemem )
   141: 	{ 0x0000, 0x0fff, MWA_RAM },
   142: 	{ 0x1000, 0x13ff, sidepckt_videoram_w, &videoram, &videoram_size },
   143: 	{ 0x1800, 0x1bff, sidepckt_colorram_w, &colorram },
   144: 	{ 0x2000, 0x20ff, MWA_RAM, &spriteram, &spriteram_size },
   145: 	{ 0x3004, 0x3004, sound_cpu_command_w },
   146: 	{ 0x300c, 0x300c, sidepckt_flipscreen_w },
   147: 	{ 0x3018, 0x3018, sidepckt_i8751_w },
   148: 	{ 0x4000, 0xffff, MWA_ROM },
   149: MEMORY_END
   150: 
   151: static MEMORY_WRITE_START( j_writemem )
   152: 	{ 0x0000, 0x0fff, MWA_RAM },
   153: 	{ 0x1000, 0x13ff, sidepckt_videoram_w, &videoram, &videoram_size },
   154: 	{ 0x1800, 0x1bff, sidepckt_colorram_w, &colorram },
   155: 	{ 0x2000, 0x20ff, MWA_RAM, &spriteram, &spriteram_size },
   156: 	{ 0x3004, 0x3004, sound_cpu_command_w },
   157: 	{ 0x300c, 0x300c, sidepckt_flipscreen_w },
   158: 	{ 0x3018, 0x3018, sidepctj_i8751_w },
   159: 	{ 0x4000, 0xffff, MWA_ROM },
   160: MEMORY_END
   161: 
   162: static MEMORY_READ_START( sound_readmem )
   163:     { 0x0000, 0x0fff, MRA_RAM },
   164:     { 0x3000, 0x3000, soundlatch_r },
   165:     { 0x8000, 0xffff, MRA_ROM },
   166: MEMORY_END
   167: 
   168: static MEMORY_WRITE_START( sound_writemem )
   169:     { 0x0000, 0x0fff, MWA_RAM },
   170:     { 0x1000, 0x1000, YM2203_control_port_0_w },
   171:     { 0x1001, 0x1001, YM2203_write_port_0_w },
   172:     { 0x2000, 0x2000, YM3526_control_port_0_w },
   173:     { 0x2001, 0x2001, YM3526_write_port_0_w },
   174:     { 0x8000, 0xffff, MWA_ROM },
   175: MEMORY_END
   176: 
   177: /******************************************************************************/
   178: 
   179: INPUT_PORTS_START( sidepckt )
   180:     PORT_START /* 0x3000 */
   181:     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY )
   182:     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY )
   183:     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY )
   184:     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY )
   185:     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )
   186:     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 )
   187:     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START1 )
   188:     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
   189: 
   190:     PORT_START /* 0x3001 */
   191: 	/* I haven't found a way to make the game use the 2p controls */
   192:     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_COCKTAIL )
   193:     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_COCKTAIL )
   194:     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_COCKTAIL )
   195:     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_COCKTAIL )
   196:     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
   197:     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_COCKTAIL )
   198:     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
   199:     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
   200: 
   201:     PORT_START /* 0x3002 */
   202: 	PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coin_B ) )
   203: 	PORT_DIPSETTING(    0x03, DEF_STR( 1C_2C ) )
   204: 	PORT_DIPSETTING(    0x02, DEF_STR( 1C_3C ) )
   205: 	PORT_DIPSETTING(    0x01, DEF_STR( 1C_4C ) )
   206: 	PORT_DIPSETTING(    0x00, DEF_STR( 1C_6C ) )
   207: 	PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Coin_A ) )
   208: 	PORT_DIPSETTING(    0x00, DEF_STR( 4C_1C ) )
   209: 	PORT_DIPSETTING(    0x04, DEF_STR( 3C_1C ) )
   210: 	PORT_DIPSETTING(    0x08, DEF_STR( 2C_1C ) )
   211: 	PORT_DIPSETTING(    0x0c, DEF_STR( 1C_1C ) )
   212: 	PORT_DIPNAME( 0x10, 0x10, "Unused?" )
   213: 	PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
   214: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
   215: 	PORT_DIPNAME( 0x20, 0x20, "Unused?" )
   216: 	PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
   217: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
   218: 	PORT_DIPNAME( 0x40, 0x40, DEF_STR( Demo_Sounds ) )
   219: 	PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
   220: 	PORT_DIPSETTING(    0x40, DEF_STR( On ) )
   221: 	PORT_DIPNAME( 0x80, 0x80, "Unused?" )
   222: 	PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
   223: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
   224: 
   225:     PORT_START /* 0x3003 */
   226: 	PORT_DIPNAME( 0x03, 0x03, "Timer Speed" )
   227: 	PORT_BITX( 0,       0x00, IPT_DIPSWITCH_SETTING | IPF_CHEAT, "Stopped", IP_KEY_NONE, IP_JOY_NONE )
   228: 	PORT_DIPSETTING(    0x03, "Slow" )
   229: 	PORT_DIPSETTING(    0x02, "Medium" )
   230: 	PORT_DIPSETTING(    0x01, "Fast" )
   231: 	PORT_DIPNAME( 0x0c, 0x08, DEF_STR( Lives ) )
   232: 	PORT_DIPSETTING(    0x04, "2" )
   233: 	PORT_DIPSETTING(    0x08, "3" )
   234: 	PORT_DIPSETTING(    0x0c, "6" )
   235: 	PORT_BITX( 0,       0x00, IPT_DIPSWITCH_SETTING | IPF_CHEAT, "Infinite", IP_KEY_NONE, IP_JOY_NONE )
   236: 	PORT_DIPNAME( 0x30, 0x00, DEF_STR( Unknown ) )
   237: 	PORT_DIPSETTING(    0x00, "0" )
   238: 	PORT_DIPSETTING(    0x10, "1" )
   239: 	PORT_DIPSETTING(    0x20, "2" )
   240: 	PORT_DIPSETTING(    0x30, "3" )
   241:     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN3 )
   242: 	PORT_DIPNAME( 0x80, 0x80, "Unused?" )
   243: 	PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
   244: 	PORT_DIPSETTING(    0x00, DEF_STR( On ) )
   245: INPUT_PORTS_END
   246: 
   247: 
   248: 
   249: static struct GfxLayout charlayout =
   250: {
   251:     8,8,    /* 8*8 characters */
   252:     2048,   /* 2048 characters */
   253:     3,      /* 3 bits per pixel */
   254:     { 0, 0x8000*8, 0x10000*8 },     /* the bitplanes are separated */
   255:     { 0, 1, 2, 3, 4, 5, 6, 7 },
   256:     { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
   257:     8*8     /* every char takes 8 consecutive bytes */
   258: };
   259: 
   260: static struct GfxLayout spritelayout =
   261: {
   262:     16,16,  /* 16*16 sprites */
   263:     1024,   /* 1024 sprites */
   264:     3,      /* 3 bits per pixel */
   265:     { 0, 0x8000*8, 0x10000*8 },     /* the bitplanes are separated */
   266:     { 128+0, 128+1, 128+2, 128+3, 128+4, 128+5, 128+6, 128+7, 0, 1, 2, 3, 4, 5, 6, 7 },
   267:     { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8, 8*8, 9*8, 10*8, 11*8, 12*8, 13*8, 14*8, 15*8 },
   268:     32*8    /* every char takes 8 consecutive bytes */
   269: };
   270: 
   271: static struct GfxDecodeInfo gfxdecodeinfo[] =
   272: {
   273: 	{ REGION_GFX1, 0, &charlayout,   128,  4 },	/* colors 128-159 */
   274: 	{ REGION_GFX2, 0, &spritelayout,   0, 16 },	/* colors   0-127 */
   275: 	{ -1 } /* end of array */
   276: };
   277: 
   278: 
   279: 
   280: /* handler called by the 3526 emulator when the internal timers cause an IRQ */
   281: static void irqhandler(int linestate)
   282: {
   283: 	cpu_set_irq_line(1,0,linestate);
   284: }
   285: 
   286: static struct YM2203interface ym2203_interface =
   287: {
   288:     1,      /* 1 chip */
   289:     1500000,        /* 1.5 MHz */
   290:     { YM2203_VOL(25,25) },
   291:     { 0 },
   292:     { 0 },
   293:     { 0 },
   294:     { 0 }
   295: };
   296: 
   297: static struct YM3526interface ym3526_interface =
   298: {
   299: 	1,			/* 1 chip */
   300: 	3000000,	/* 3 MHz */
   301: 	{ 100 },		/* volume */
   302: 	{ irqhandler},
   303: };
   304: 
   305: 
   306: 
   307: static MACHINE_DRIVER_START( sidepckt )
   308: 
   309: 	/* basic machine hardware */
   310: 	MDRV_CPU_ADD(M6809, 2000000)        /* 2 MHz */
   311: 	MDRV_CPU_MEMORY(readmem,writemem)
   312: 	MDRV_CPU_VBLANK_INT(nmi_line_pulse,1)
   313: 
   314: 	MDRV_CPU_ADD(M6502, 1500000)
   315: 	MDRV_CPU_FLAGS(CPU_AUDIO_CPU)        /* 1.5 MHz */
   316: 	MDRV_CPU_MEMORY(sound_readmem,sound_writemem)
   317: 								/* NMIs are triggered by the main cpu */
   318: 	MDRV_FRAMES_PER_SECOND(58)
   319: 	MDRV_VBLANK_DURATION(DEFAULT_REAL_60HZ_VBLANK_DURATION)  /* VERIFY:  May be 55 or 56 */
   320: 
   321: 	/* video hardware */
   322: 	MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
   323: 	MDRV_SCREEN_SIZE(32*8, 32*8)
   324: 	MDRV_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
   325: 	MDRV_GFXDECODE(gfxdecodeinfo)
   326: 	MDRV_PALETTE_LENGTH(256)
   327: 
   328: 	MDRV_PALETTE_INIT(sidepckt)
   329: 	MDRV_VIDEO_START(sidepckt)
   330: 	MDRV_VIDEO_UPDATE(sidepckt)
   331: 
   332: 	/* sound hardware */
   333: 	MDRV_SOUND_ADD(YM2203, ym2203_interface)
   334: 	MDRV_SOUND_ADD(YM3526, ym3526_interface)
   335: MACHINE_DRIVER_END
   336: 
   337: 
   338: static MACHINE_DRIVER_START( sidepctj )
   339: 
   340: 	/* basic machine hardware */
   341: 	MDRV_CPU_ADD(M6809, 2000000)        /* 2 MHz */
   342: 	MDRV_CPU_MEMORY(readmem,j_writemem)
   343: 	MDRV_CPU_VBLANK_INT(nmi_line_pulse,1)
   344: 
   345: 	MDRV_CPU_ADD(M6502, 1500000)
   346: 	MDRV_CPU_FLAGS(CPU_AUDIO_CPU)        /* 1.5 MHz */
   347: 	MDRV_CPU_MEMORY(sound_readmem,sound_writemem)
   348: 								/* NMIs are triggered by the main cpu */
   349: 	MDRV_FRAMES_PER_SECOND(58)
   350: 	MDRV_VBLANK_DURATION(DEFAULT_REAL_60HZ_VBLANK_DURATION)  /* VERIFY:  May be 55 or 56 */
   351: 
   352: 	/* video hardware */
   353: 	MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
   354: 	MDRV_SCREEN_SIZE(32*8, 32*8)
   355: 	MDRV_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
   356: 	MDRV_GFXDECODE(gfxdecodeinfo)
   357: 	MDRV_PALETTE_LENGTH(256)
   358: 
   359: 	MDRV_PALETTE_INIT(sidepckt)
   360: 	MDRV_VIDEO_START(sidepckt)
   361: 	MDRV_VIDEO_UPDATE(sidepckt)
   362: 
   363: 	/* sound hardware */
   364: 	MDRV_SOUND_ADD(YM2203, ym2203_interface)
   365: 	MDRV_SOUND_ADD(YM3526, ym3526_interface)
   366: MACHINE_DRIVER_END
   367: 
   368: /***************************************************************************
   369: 
   370:   Game driver(s)
   371: 
   372: ***************************************************************************/
   373: 
   374: ROM_START( sidepckt )
   375:     ROM_REGION( 0x10000, REGION_CPU1, 0 )     /* 64k for code */
   376:     ROM_LOAD( "dh00",         0x00000, 0x10000, CRC(251b316e) SHA1(c777d87621b8fefe0e33156be03da8aed733db9a) )
   377: 
   378:     ROM_REGION( 0x10000, REGION_CPU2, 0 )     /* 64k for the audio cpu */
   379:     ROM_LOAD( "dh04.bin",     0x08000, 0x8000, CRC(d076e62e) SHA1(720ff1a6a58697b4a9c7c4f31c24a2cf8a04900a) )
   380: 
   381:     ROM_REGION( 0x18000, REGION_GFX1, ROMREGION_DISPOSE )
   382:     ROM_LOAD( "sp_07.bin",    0x00000, 0x8000, CRC(9d6f7969) SHA1(583852be0861a89c63ce09eb39146ec379b9e12d) ) /* characters */
   383:     ROM_LOAD( "sp_06.bin",    0x08000, 0x8000, CRC(580e4e43) SHA1(de152a5d4fbc52d80e3eb9af17835ecb6258d45e) )
   384:     ROM_LOAD( "sp_05.bin",    0x10000, 0x8000, CRC(05ab71d2) SHA1(6f06d1d1440a5fb05c01f712457d0bb167e93099) )
   385: 
   386:     ROM_REGION( 0x18000, REGION_GFX2, ROMREGION_DISPOSE )
   387:     ROM_LOAD( "dh01.bin",     0x00000, 0x8000, CRC(a2cdfbea) SHA1(0721e538e3306d616f11008f784cf21e679f330d) ) /* sprites */
   388:     ROM_LOAD( "dh02.bin",     0x08000, 0x8000, CRC(eeb5c3e7) SHA1(57eda1cc29124e04fe5025a904634d8ca52c0f12) )
   389:     ROM_LOAD( "dh03.bin",     0x10000, 0x8000, CRC(8e18d21d) SHA1(74f0ddf1fcbed386332eba882b4136295b4f096d) )
   390: 
   391:     ROM_REGION( 0x0200, REGION_PROMS, 0 )	/* color PROMs */
   392:     ROM_LOAD( "dh-09.bpr",    0x0000, 0x0100, CRC(ce049b4f) SHA1(e4918cef7b319dd40cf1722eb8bf5e79be04fd6c) )
   393:     ROM_LOAD( "dh-08.bpr",    0x0100, 0x0100, CRC(cdf2180f) SHA1(123215d096f88b66396d40d7a579380d0b5b2b89) )
   394: ROM_END
   395: 
   396: ROM_START( sidepctj )
   397:     ROM_REGION( 0x10000, REGION_CPU1, 0 )     /* 64k for code */
   398:     ROM_LOAD( "dh00.bin",     0x00000, 0x10000, CRC(a66bc28d) SHA1(cd62ce1dce6fe42d9745eec50d11e86b076d28e1) )
   399: 
   400:     ROM_REGION( 0x10000, REGION_CPU2, 0 )     /* 64k for the audio cpu */
   401:     ROM_LOAD( "dh04.bin",     0x08000, 0x8000, CRC(d076e62e) SHA1(720ff1a6a58697b4a9c7c4f31c24a2cf8a04900a) )
   402: 
   403:     ROM_REGION( 0x18000, REGION_GFX1, ROMREGION_DISPOSE )
   404:     ROM_LOAD( "dh07.bin",     0x00000, 0x8000, CRC(7d0ce858) SHA1(3a158f218a762e6841d2611f41ace67a1afefb35) ) /* characters */
   405:     ROM_LOAD( "dh06.bin",     0x08000, 0x8000, CRC(b86ddf72) SHA1(7596dd1b646971d8df1bc4fd157ccf161a712d59) )
   406:     ROM_LOAD( "dh05.bin",     0x10000, 0x8000, CRC(df6f94f2) SHA1(605796191f37cb76d496aa459243655070bb90c0) )
   407: 
   408:     ROM_REGION( 0x18000, REGION_GFX2, ROMREGION_DISPOSE )
   409:     ROM_LOAD( "dh01.bin",     0x00000, 0x8000, CRC(a2cdfbea) SHA1(0721e538e3306d616f11008f784cf21e679f330d) ) /* sprites */
   410:     ROM_LOAD( "dh02.bin",     0x08000, 0x8000, CRC(eeb5c3e7) SHA1(57eda1cc29124e04fe5025a904634d8ca52c0f12) )
   411:     ROM_LOAD( "dh03.bin",     0x10000, 0x8000, CRC(8e18d21d) SHA1(74f0ddf1fcbed386332eba882b4136295b4f096d) )
   412: 
   413:     ROM_REGION( 0x0200, REGION_PROMS, 0 )	/* color PROMs */
   414:     ROM_LOAD( "dh-09.bpr",    0x0000, 0x0100, CRC(ce049b4f) SHA1(e4918cef7b319dd40cf1722eb8bf5e79be04fd6c) )
   415:     ROM_LOAD( "dh-08.bpr",    0x0100, 0x0100, CRC(cdf2180f) SHA1(123215d096f88b66396d40d7a579380d0b5b2b89) )
   416: ROM_END
   417: 
   418: ROM_START( sidepctb )
   419:     ROM_REGION( 0x10000, REGION_CPU1, 0 )     /* 64k for code */
   420:     ROM_LOAD( "sp_09.bin",    0x04000, 0x4000, CRC(3c6fe54b) SHA1(4025ac48d75f171f4c979d3fcd6a2f8da18cef4f) )
   421:     ROM_LOAD( "sp_08.bin",    0x08000, 0x8000, CRC(347f81cd) SHA1(5ab06130f35788e51a881cc0f387649532145bd6) )
   422: 
   423:     ROM_REGION( 0x10000, REGION_CPU2, 0 )     /* 64k for the audio cpu */
   424:     ROM_LOAD( "dh04.bin",     0x08000, 0x8000, CRC(d076e62e) SHA1(720ff1a6a58697b4a9c7c4f31c24a2cf8a04900a) )
   425: 
   426:     ROM_REGION( 0x18000, REGION_GFX1, ROMREGION_DISPOSE )
   427:     ROM_LOAD( "sp_07.bin",    0x00000, 0x8000, CRC(9d6f7969) SHA1(583852be0861a89c63ce09eb39146ec379b9e12d) ) /* characters */
   428:     ROM_LOAD( "sp_06.bin",    0x08000, 0x8000, CRC(580e4e43) SHA1(de152a5d4fbc52d80e3eb9af17835ecb6258d45e) )
   429:     ROM_LOAD( "sp_05.bin",    0x10000, 0x8000, CRC(05ab71d2) SHA1(6f06d1d1440a5fb05c01f712457d0bb167e93099) )
   430: 
   431:     ROM_REGION( 0x18000, REGION_GFX2, ROMREGION_DISPOSE )
   432:     ROM_LOAD( "dh01.bin",     0x00000, 0x8000, CRC(a2cdfbea) SHA1(0721e538e3306d616f11008f784cf21e679f330d) ) /* sprites */
   433:     ROM_LOAD( "dh02.bin",     0x08000, 0x8000, CRC(eeb5c3e7) SHA1(57eda1cc29124e04fe5025a904634d8ca52c0f12) )
   434:     ROM_LOAD( "dh03.bin",     0x10000, 0x8000, CRC(8e18d21d) SHA1(74f0ddf1fcbed386332eba882b4136295b4f096d) )
   435: 
   436:     ROM_REGION( 0x0200, REGION_PROMS, 0 )	/* color PROMs */
   437:     ROM_LOAD( "dh-09.bpr",    0x0000, 0x0100, CRC(ce049b4f) SHA1(e4918cef7b319dd40cf1722eb8bf5e79be04fd6c) )
   438:     ROM_LOAD( "dh-08.bpr",    0x0100, 0x0100, CRC(cdf2180f) SHA1(123215d096f88b66396d40d7a579380d0b5b2b89) )
   439: ROM_END
   440: 
   441: 
   442: 
   443: GAME( 1986, sidepckt, 0,        sidepckt, sidepckt, 0, ROT0, "Data East Corporation", "Side Pocket (World)" )
   444: GAME( 1986, sidepctj, sidepckt, sidepctj, sidepckt, 0, ROT0, "Data East Corporation", "Side Pocket (Japan)" )
   445: GAME( 1986, sidepctb, sidepckt, sidepckt, sidepckt, 0, ROT0, "bootleg", "Side Pocket (bootleg)" )
   446: 




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