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

Source Listing


     1: /***************************************************************************
     2: 
     3: 	'Rohga' era hardware:
     4: 
     5: 	Rogha Armour Attack			(c) 1991 Data East Corporation
     6: 	Wizard Fire					(c) 1992 Data East Corporation
     7: 	Nitro Ball					(c) 1992 Data East Corporation
     8: 
     9: 	This hardware is capable of alpha-blending on sprites and playfields
    10: 
    11: 	Todo:  On Wizard Fire when you insert a coin and press start, the start
    12: 	button being held seems to select the knight right away.  Emulation bug.
    13: 
    14: 	Emulation by Bryan McPhail, mish@tendril.co.uk
    15: 
    16: ***************************************************************************/
    17: 
    18: #include "driver.h" 
    19: #include "vidhrdw/generic.h" 
    20: #include "cpu/h6280/h6280.h" 
    21: #include "decocrpt.h" 
    22: #include "decoprot.h" 
    23: #include "deco16ic.h" 
    24: 
    25: VIDEO_START( rohga );
    26: VIDEO_START( wizdfire );
    27: VIDEO_START( nitrobal );
    28: VIDEO_UPDATE( rohga );
    29: VIDEO_UPDATE( wizdfire );
    30: VIDEO_UPDATE( nitrobal );
    31: 
    32: static READ16_HANDLER( rohga_dip3_r ) { return readinputport(3); }
    33: static READ16_HANDLER( nitrobal_control_r ) { return readinputport(3); }
    34: 
    35: /**********************************************************************************/
    36: 
    37: static MEMORY_READ16_START( rohga_readmem )
    38: 	{ 0x000000, 0x1fffff, MRA16_ROM },
    39: 	{ 0x280000, 0x2807ff, deco16_104_rohga_prot_r }, /* Protection device */
    40: 	{ 0x2c0000, 0x2c0001, rohga_dip3_r },
    41: 	{ 0x321100, 0x321101, MRA16_NOP }, /* Irq ack?  Value not used */
    42: 	{ 0x3c0000, 0x3c1fff, MRA16_RAM },
    43: 	{ 0x3c2000, 0x3c2fff, MRA16_RAM },
    44: 	{ 0x3c4000, 0x3c4fff, MRA16_RAM },
    45: 	{ 0x3c6000, 0x3c6fff, MRA16_RAM },
    46: 	{ 0x3d0000, 0x3d07ff, MRA16_RAM },
    47: 	{ 0x3e0000, 0x3e1fff, MRA16_RAM },
    48: 	{ 0x3f0000, 0x3f3fff, MRA16_RAM },
    49: MEMORY_END
    50: 
    51: static MEMORY_WRITE16_START( rohga_writemem )
    52: 	{ 0x000000, 0x1fffff, MWA16_ROM },
    53: 	{ 0x200000, 0x20000f, MWA16_RAM, &deco16_pf12_control },
    54: 	{ 0x240000, 0x24000f, MWA16_RAM, &deco16_pf34_control },
    55: 	{ 0x280000, 0x2807ff, deco16_104_rohga_prot_w, &deco16_prot_ram }, /* Protection writes */
    56: 	{ 0x280800, 0x280fff, deco16_104_rohga_prot_w }, /* Mirror */
    57: //	{ 0x300000, 0x300001, MWA16_NOP },
    58: //	{ 0x310000, 0x310003, MWA16_NOP },
    59: 	{ 0x310008, 0x31000b, MWA16_NOP }, /* Palette control?  0000 1111 always written */
    60: 	{ 0x322000, 0x322001, deco16_priority_w },
    61: 	{ 0x3c0000, 0x3c1fff, deco16_pf1_data_w, &deco16_pf1_data },
    62: 	{ 0x3c2000, 0x3c2fff, deco16_pf2_data_w, &deco16_pf2_data },
    63: 	{ 0x3c4000, 0x3c4fff, deco16_pf3_data_w, &deco16_pf3_data },
    64: 	{ 0x3c6000, 0x3c6fff, deco16_pf4_data_w, &deco16_pf4_data },
    65: 	{ 0x3c8000, 0x3c87ff, MWA16_RAM, &deco16_pf1_rowscroll },
    66: 	{ 0x3ca000, 0x3ca7ff, MWA16_RAM, &deco16_pf2_rowscroll },
    67: 	{ 0x3cc000, 0x3cc7ff, MWA16_RAM, &deco16_pf3_rowscroll },
    68: 	{ 0x3ce000, 0x3ce7ff, MWA16_RAM, &deco16_pf4_rowscroll },
    69: 	{ 0x3d0000, 0x3d07ff, MWA16_RAM, &spriteram16, &spriteram_size },
    70: 	{ 0x3e0000, 0x3e1fff, deco16_nonbuffered_palette_w, &paletteram16 },
    71: 	{ 0x3f0000, 0x3f3fff, MWA16_RAM }, /* Main ram */
    72: MEMORY_END
    73: 
    74: static MEMORY_READ16_START( wizdfire_readmem )
    75: 	{ 0x000000, 0x1fffff, MRA16_ROM },
    76: 	{ 0x200000, 0x200fff, MRA16_RAM },
    77: 	{ 0x202000, 0x202fff, MRA16_RAM },
    78: 	{ 0x208000, 0x208fff, MRA16_RAM },
    79: 	{ 0x20a000, 0x20afff, MRA16_RAM },
    80: 	{ 0x20c000, 0x20cfff, MRA16_RAM },
    81: 	{ 0x20e000, 0x20efff, MRA16_RAM },
    82: 	{ 0x340000, 0x3407ff, MRA16_RAM },
    83: 	{ 0x360000, 0x3607ff, MRA16_RAM },
    84: 	{ 0x380000, 0x381fff, MRA16_RAM },
    85: 	{ 0xfdc000, 0xfe3fff, MRA16_RAM },
    86: 	{ 0xfe4000, 0xfe47ff, deco16_104_prot_r }, /* Protection device */
    87: 	{ 0xfe5000, 0xfeffff, MRA16_RAM },
    88: MEMORY_END
    89: 
    90: static MEMORY_WRITE16_START( wizdfire_writemem )
    91: 	{ 0x000000, 0x1fffff, MWA16_ROM },
    92: 
    93: 	{ 0x200000, 0x200fff, deco16_pf1_data_w, &deco16_pf1_data },
    94: 	{ 0x202000, 0x202fff, deco16_pf2_data_w, &deco16_pf2_data },
    95: 	{ 0x208000, 0x208fff, deco16_pf3_data_w, &deco16_pf3_data },
    96: 	{ 0x20a000, 0x20afff, deco16_pf4_data_w, &deco16_pf4_data },
    97: 
    98: 	{ 0x20b000, 0x20b3ff, MWA16_RAM }, /* ? Always 0 written */
    99: 	{ 0x20c000, 0x20c7ff, MWA16_RAM, &deco16_pf3_rowscroll },
   100: 	{ 0x20e000, 0x20e7ff, MWA16_RAM, &deco16_pf4_rowscroll },
   101: 
   102: 	{ 0x300000, 0x30000f, MWA16_RAM, &deco16_pf12_control },
   103: 	{ 0x310000, 0x31000f, MWA16_RAM, &deco16_pf34_control },
   104: 
   105: 	{ 0x320000, 0x320001, deco16_priority_w }, /* Priority */
   106: 	{ 0x320002, 0x320003, MWA16_NOP }, /* ? */
   107: 	{ 0x320004, 0x320005, MWA16_NOP }, /* VBL IRQ ack */
   108: 
   109: 	{ 0x340000, 0x3407ff, MWA16_RAM, &spriteram16, &spriteram_size },
   110: 	{ 0x350000, 0x350001, buffer_spriteram16_w }, /* Triggers DMA for spriteram */
   111: 	{ 0x360000, 0x3607ff, MWA16_RAM, &spriteram16_2, &spriteram_2_size },
   112: 	{ 0x370000, 0x370001, buffer_spriteram16_2_w }, /* Triggers DMA for spriteram */
   113: 
   114: 	{ 0x380000, 0x381fff, deco16_buffered_palette_w, &paletteram16 },
   115: 	{ 0x390008, 0x390009, deco16_palette_dma_w },
   116: 
   117: 	{ 0xfe4000, 0xfe47ff, deco16_104_prot_w, &deco16_prot_ram }, /* Protection writes */
   118: 	{ 0xfdc000, 0xfeffff, MWA16_RAM }, /* Main ram */
   119: MEMORY_END
   120: 
   121: static MEMORY_READ16_START( nitrobal_readmem )
   122: 	{ 0x000000, 0x1fffff, MRA16_ROM },
   123: 
   124: 	{ 0x200000, 0x200fff, MRA16_RAM },
   125: 	{ 0x202000, 0x202fff, MRA16_RAM },
   126: 	{ 0x204000, 0x2047ff, MRA16_RAM },
   127: 	{ 0x206000, 0x2067ff, MRA16_RAM },
   128: 	{ 0x208000, 0x208fff, MRA16_RAM },
   129: 	{ 0x20a000, 0x20afff, MRA16_RAM },
   130: 	{ 0x20c000, 0x20c7ff, MRA16_RAM },
   131: 	{ 0x20e000, 0x20e7ff, MRA16_RAM },
   132: 
   133: 	{ 0x300000, 0x30000f, MRA16_RAM },
   134: 	{ 0x310000, 0x31000f, MRA16_RAM },
   135: 	{ 0x320000, 0x320001, nitrobal_control_r },
   136: 
   137: 	{ 0x340000, 0x3407ff, MRA16_RAM },
   138: 	{ 0x360000, 0x3607ff, MRA16_RAM },
   139: 	{ 0x380000, 0x381fff, MRA16_RAM },
   140: 
   141: 	{ 0xff4000, 0xff47ff, deco16_146_nitroball_prot_r }, /* Protection device */
   142: 	{ 0xfec000, 0xffffff, MRA16_RAM },
   143: MEMORY_END
   144: 
   145: static MEMORY_WRITE16_START( nitrobal_writemem )
   146: 	{ 0x000000, 0x1fffff, MWA16_ROM },
   147: 
   148: 	{ 0x200000, 0x200fff, deco16_pf1_data_w, &deco16_pf1_data },
   149: 	{ 0x202000, 0x202fff, deco16_pf2_data_w, &deco16_pf2_data },
   150: 	{ 0x208000, 0x208fff, deco16_pf3_data_w, &deco16_pf3_data },
   151: 	{ 0x20a000, 0x20afff, deco16_pf4_data_w, &deco16_pf4_data },
   152: 
   153: 	{ 0x204000, 0x2047ff, MWA16_RAM, &deco16_pf1_rowscroll },
   154: 	{ 0x206000, 0x2067ff, MWA16_RAM, &deco16_pf2_rowscroll },
   155: 	{ 0x20c000, 0x20c7ff, MWA16_RAM, &deco16_pf3_rowscroll },
   156: 	{ 0x20e000, 0x20e7ff, MWA16_RAM, &deco16_pf4_rowscroll },
   157: 
   158: 	{ 0x300000, 0x30000f, MWA16_RAM, &deco16_pf12_control },
   159: 	{ 0x310000, 0x31000f, MWA16_RAM, &deco16_pf34_control },
   160: 
   161: 	{ 0x320000, 0x320001, deco16_priority_w }, /* Priority */
   162: 	{ 0x320002, 0x320003, MWA16_NOP }, /* ? */
   163: 	{ 0x320004, 0x320005, MWA16_NOP }, /* VBL IRQ ack */
   164: 
   165: 	{ 0x340000, 0x3407ff, MWA16_RAM, &spriteram16, &spriteram_size },
   166: 	{ 0x350000, 0x350001, buffer_spriteram16_w }, /* Triggers DMA for spriteram */
   167: 	{ 0x360000, 0x3607ff, MWA16_RAM, &spriteram16_2, &spriteram_2_size },
   168: 	{ 0x370000, 0x370001, buffer_spriteram16_2_w }, /* Triggers DMA for spriteram */
   169: 
   170: 	{ 0x380000, 0x381fff, deco16_buffered_palette_w, &paletteram16 },
   171: 	{ 0x390008, 0x390009, deco16_palette_dma_w },
   172: 
   173: 	{ 0xff4000, 0xff47ff, deco16_146_nitroball_prot_w, &deco16_prot_ram }, /* Protection writes */
   174: 	{ 0xfec000, 0xffffff, MWA16_RAM }, /* Main ram */
   175: MEMORY_END
   176: 
   177: /******************************************************************************/
   178: 
   179: static MEMORY_READ_START( sound_readmem )
   180: 	{ 0x000000, 0x00ffff, MRA_ROM },
   181: 	{ 0x100000, 0x100001, MRA_NOP },
   182: 	{ 0x110000, 0x110001, YM2151_status_port_0_r },
   183: 	{ 0x120000, 0x120001, OKIM6295_status_0_r },
   184: 	{ 0x130000, 0x130001, OKIM6295_status_1_r },
   185: 	{ 0x140000, 0x140001, soundlatch_r },
   186: 	{ 0x1f0000, 0x1f1fff, MRA_BANK8 },
   187: MEMORY_END
   188: 
   189: static MEMORY_WRITE_START( sound_writemem )
   190: 	{ 0x000000, 0x00ffff, MWA_ROM },
   191: 	{ 0x100000, 0x100001, MWA_NOP }, /* Todo:  Check Nitroball/Rohga */
   192: 	{ 0x110000, 0x110001, YM2151_word_0_w },
   193: 	{ 0x120000, 0x120001, OKIM6295_data_0_w },
   194: 	{ 0x130000, 0x130001, OKIM6295_data_1_w },
   195: 	{ 0x1f0000, 0x1f1fff, MWA_BANK8 },
   196: 	{ 0x1fec00, 0x1fec01, H6280_timer_w },
   197: 	{ 0x1ff402, 0x1ff403, H6280_irq_status_w },
   198: MEMORY_END
   199: 
   200: /**********************************************************************************/
   201: 
   202: INPUT_PORTS_START( rohga )
   203: 	PORT_START
   204: 	PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY )
   205: 	PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY )
   206: 	PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY )
   207: 	PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY )
   208: 	PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 )
   209: 	PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 )
   210: 	PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNUSED )
   211: 	PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START1 )
   212: 	PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY | IPF_PLAYER2 )
   213: 	PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY | IPF_PLAYER2 )
   214: 	PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY | IPF_PLAYER2 )
   215: 	PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
   216: 	PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
   217: 	PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
   218: 	PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNUSED )
   219: 	PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_START2 )
   220: 
   221: 	PORT_START
   222: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
   223: 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
   224: 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
   225: 	PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_VBLANK )
   226: 
   227: 	PORT_START	/* Dip switch bank 1/2 */
   228: 	PORT_DIPNAME( 0x0007, 0x0007, DEF_STR( Coin_A ) )
   229: 	PORT_DIPSETTING(      0x0000, DEF_STR( 3C_1C ) )
   230: 	PORT_DIPSETTING(      0x0001, DEF_STR( 2C_1C ) )
   231: 	PORT_DIPSETTING(      0x0007, DEF_STR( 1C_1C ) )
   232: 	PORT_DIPSETTING(      0x0006, DEF_STR( 1C_2C ) )
   233: 	PORT_DIPSETTING(      0x0005, DEF_STR( 1C_3C ) )
   234: 	PORT_DIPSETTING(      0x0004, DEF_STR( 1C_4C ) )
   235: 	PORT_DIPSETTING(      0x0003, DEF_STR( 1C_5C ) )
   236: 	PORT_DIPSETTING(      0x0002, DEF_STR( 1C_6C ) )
   237: 	PORT_DIPNAME( 0x0038, 0x0038, DEF_STR( Coin_B ) )
   238: 	PORT_DIPSETTING(      0x0000, DEF_STR( 3C_1C ) )
   239: 	PORT_DIPSETTING(      0x0008, DEF_STR( 2C_1C ) )
   240: 	PORT_DIPSETTING(      0x0038, DEF_STR( 1C_1C ) )
   241: 	PORT_DIPSETTING(      0x0030, DEF_STR( 1C_2C ) )
   242: 	PORT_DIPSETTING(      0x0028, DEF_STR( 1C_3C ) )
   243: 	PORT_DIPSETTING(      0x0020, DEF_STR( 1C_4C ) )
   244: 	PORT_DIPSETTING(      0x0018, DEF_STR( 1C_5C ) )
   245: 	PORT_DIPSETTING(      0x0010, DEF_STR( 1C_6C ) )
   246: 	PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Flip_Screen ) )
   247: 	PORT_DIPSETTING(      0x0040, DEF_STR( Off ) )
   248: 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
   249: 	PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unknown ) )
   250: 	PORT_DIPSETTING(      0x0080, DEF_STR( Off ) )
   251: 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
   252: 	PORT_DIPNAME( 0x0300, 0x0300, DEF_STR( Lives ) )
   253: 	PORT_DIPSETTING(      0x0100, "1" )
   254: 	PORT_DIPSETTING(      0x0000, "2" )
   255: 	PORT_DIPSETTING(      0x0300, "3" )
   256: 	PORT_DIPSETTING(      0x0200, "4" )
   257: 	PORT_DIPNAME( 0x0c00, 0x0c00, DEF_STR( Difficulty ) )
   258: 	PORT_DIPSETTING(      0x0800, "Easy" )
   259: 	PORT_DIPSETTING(      0x0c00, "Normal" )
   260: 	PORT_DIPSETTING(      0x0400, "Hard" )
   261: 	PORT_DIPSETTING(      0x0000, "Hardest" )
   262: 	PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Unknown ) )
   263: 	PORT_DIPSETTING(      0x1000, DEF_STR( Off ) )
   264: 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
   265: 	PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Unknown ) )
   266: 	PORT_DIPSETTING(      0x2000, DEF_STR( Off ) )
   267: 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
   268: 	PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Unknown ) )
   269: 	PORT_DIPSETTING(      0x4000, DEF_STR( Off ) )
   270: 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
   271: 	PORT_DIPNAME( 0x8000, 0x0000, DEF_STR( Demo_Sounds ) )
   272: 	PORT_DIPSETTING(      0x8000, DEF_STR( Off ) )
   273: 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
   274: 
   275: 	PORT_START	/* Dip switch bank 3 */
   276: 	PORT_DIPNAME( 0x0001, 0x0001, DEF_STR( Unknown ) )
   277: 	PORT_DIPSETTING(      0x0001, DEF_STR( Off ) )
   278: 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
   279: 	PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Unknown ) )
   280: 	PORT_DIPSETTING(      0x0002, DEF_STR( Off ) )
   281: 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
   282: 	PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Unknown ) )
   283: 	PORT_DIPSETTING(      0x0004, DEF_STR( Off ) )
   284: 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
   285: 	PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Unknown ) )
   286: 	PORT_DIPSETTING(      0x0008, DEF_STR( Off ) )
   287: 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
   288: 	PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Unknown ) )
   289: 	PORT_DIPSETTING(      0x0010, DEF_STR( Off ) )
   290: 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
   291: 	PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Unknown ) )
   292: 	PORT_DIPSETTING(      0x0020, DEF_STR( Off ) )
   293: 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
   294: 	PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Unknown ) )
   295: 	PORT_DIPSETTING(      0x0040, DEF_STR( Off ) )
   296: 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
   297: 	PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unknown ) )
   298: 	PORT_DIPSETTING(      0x0080, DEF_STR( Off ) )
   299: 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
   300: INPUT_PORTS_END
   301: 
   302: INPUT_PORTS_START( wizdfire )
   303: 	PORT_START
   304: 	PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY )
   305: 	PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY )
   306: 	PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY )
   307: 	PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY )
   308: 	PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 )
   309: 	PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 )
   310: 	PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNUSED )
   311: 	PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START1 )
   312: 	PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY | IPF_PLAYER2 )
   313: 	PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY | IPF_PLAYER2 )
   314: 	PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY | IPF_PLAYER2 )
   315: 	PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
   316: 	PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
   317: 	PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
   318: 	PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNUSED )
   319: 	PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_START2 )
   320: 
   321: 	PORT_START
   322: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
   323: 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
   324: 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
   325: 	PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_VBLANK )
   326: 
   327: 	PORT_START	/* Dip switch bank 1/2 */
   328: 	PORT_DIPNAME( 0x0007, 0x0007, DEF_STR( Coin_A ) )
   329: 	PORT_DIPSETTING(      0x0000, DEF_STR( 3C_1C ) )
   330: 	PORT_DIPSETTING(      0x0001, DEF_STR( 2C_1C ) )
   331: 	PORT_DIPSETTING(      0x0007, DEF_STR( 1C_1C ) )
   332: 	PORT_DIPSETTING(      0x0006, DEF_STR( 1C_2C ) )
   333: 	PORT_DIPSETTING(      0x0005, DEF_STR( 1C_3C ) )
   334: 	PORT_DIPSETTING(      0x0004, DEF_STR( 1C_4C ) )
   335: 	PORT_DIPSETTING(      0x0003, DEF_STR( 1C_5C ) )
   336: 	PORT_DIPSETTING(      0x0002, DEF_STR( 1C_6C ) )
   337: 	PORT_DIPNAME( 0x0038, 0x0038, DEF_STR( Coin_B ) )
   338: 	PORT_DIPSETTING(      0x0000, DEF_STR( 3C_1C ) )
   339: 	PORT_DIPSETTING(      0x0008, DEF_STR( 2C_1C ) )
   340: 	PORT_DIPSETTING(      0x0038, DEF_STR( 1C_1C ) )
   341: 	PORT_DIPSETTING(      0x0030, DEF_STR( 1C_2C ) )
   342: 	PORT_DIPSETTING(      0x0028, DEF_STR( 1C_3C ) )
   343: 	PORT_DIPSETTING(      0x0020, DEF_STR( 1C_4C ) )
   344: 	PORT_DIPSETTING(      0x0018, DEF_STR( 1C_5C ) )
   345: 	PORT_DIPSETTING(      0x0010, DEF_STR( 1C_6C ) )
   346: 	PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Flip_Screen ) )
   347: 	PORT_DIPSETTING(      0x0040, DEF_STR( Off ) )
   348: 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
   349: 	PORT_DIPNAME( 0x0080, 0x0080, "2 Coins to Start, 1 to Continue" )
   350: 	PORT_DIPSETTING(      0x0080, DEF_STR( Off ) )
   351: 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
   352: 	PORT_DIPNAME( 0x0300, 0x0300, DEF_STR( Lives ) )
   353: 	PORT_DIPSETTING(      0x0000, "2" )
   354: 	PORT_DIPSETTING(      0x0100, "3" )
   355: 	PORT_DIPSETTING(      0x0300, "4" )
   356: 	PORT_DIPSETTING(      0x0200, "5" )
   357: 	PORT_DIPNAME( 0x0c00, 0x0c00, DEF_STR( Difficulty ) )
   358: 	PORT_DIPSETTING(      0x0800, "Easy" )
   359: 	PORT_DIPSETTING(      0x0c00, "Normal" )
   360: 	PORT_DIPSETTING(      0x0400, "Hard" )
   361: 	PORT_DIPSETTING(      0x0000, "Hardest" )
   362: 	PORT_DIPNAME( 0x3000, 0x3000, "Magic Guage Speed" )
   363: 	PORT_DIPSETTING(      0x0000, "Very Slow" )
   364: 	PORT_DIPSETTING(      0x1000, "Slow" )
   365: 	PORT_DIPSETTING(      0x3000, "Normal" )
   366: 	PORT_DIPSETTING(      0x2000, "Fast" )
   367: 	PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Unused ) )
   368: 	PORT_DIPSETTING(      0x4000, DEF_STR( Off ) )
   369: 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
   370: 	PORT_DIPNAME( 0x8000, 0x0000, DEF_STR( Demo_Sounds ) )
   371: 	PORT_DIPSETTING(      0x8000, DEF_STR( Off ) )
   372: 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
   373: INPUT_PORTS_END
   374: 
   375: INPUT_PORTS_START( nitrobal )
   376: 	PORT_START
   377: 	PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY )
   378: 	PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY )
   379: 	PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY )
   380: 	PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY )
   381: 	PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 )
   382: 	PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 )
   383: 	PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNUSED )
   384: 	PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START1 )
   385: 	PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    | IPF_8WAY | IPF_PLAYER2 )
   386: 	PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  | IPF_8WAY | IPF_PLAYER2 )
   387: 	PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  | IPF_8WAY | IPF_PLAYER2 )
   388: 	PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
   389: 	PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
   390: 	PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
   391: 	PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNUSED )
   392: 	PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_START2 )
   393: 
   394: 	PORT_START
   395: 	PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
   396: 	PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
   397: 	PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
   398: 	PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_VBLANK )
   399: 
   400: 	PORT_START	/* Dip switch bank 1/2 */
   401: 	PORT_DIPNAME( 0x0007, 0x0007, DEF_STR( Coin_A ) )
   402: 	PORT_DIPSETTING(      0x0000, DEF_STR( 3C_1C ) )
   403: 	PORT_DIPSETTING(      0x0001, DEF_STR( 2C_1C ) )
   404: 	PORT_DIPSETTING(      0x0007, DEF_STR( 1C_1C ) )
   405: 	PORT_DIPSETTING(      0x0006, DEF_STR( 1C_2C ) )
   406: 	PORT_DIPSETTING(      0x0005, DEF_STR( 1C_3C ) )
   407: 	PORT_DIPSETTING(      0x0004, DEF_STR( 1C_4C ) )
   408: 	PORT_DIPSETTING(      0x0003, DEF_STR( 1C_5C ) )
   409: 	PORT_DIPSETTING(      0x0002, DEF_STR( 1C_6C ) )
   410: 	PORT_DIPNAME( 0x0038, 0x0038, DEF_STR( Coin_B ) )
   411: 	PORT_DIPSETTING(      0x0000, DEF_STR( 3C_1C ) )
   412: 	PORT_DIPSETTING(      0x0008, DEF_STR( 2C_1C ) )
   413: 	PORT_DIPSETTING(      0x0038, DEF_STR( 1C_1C ) )
   414: 	PORT_DIPSETTING(      0x0030, DEF_STR( 1C_2C ) )
   415: 	PORT_DIPSETTING(      0x0028, DEF_STR( 1C_3C ) )
   416: 	PORT_DIPSETTING(      0x0020, DEF_STR( 1C_4C ) )
   417: 	PORT_DIPSETTING(      0x0018, DEF_STR( 1C_5C ) )
   418: 	PORT_DIPSETTING(      0x0010, DEF_STR( 1C_6C ) )
   419: 	PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Flip_Screen ) )
   420: 	PORT_DIPSETTING(      0x0040, DEF_STR( Off ) )
   421: 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
   422: 	PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unknown ) )
   423: 	PORT_DIPSETTING(      0x0080, DEF_STR( Off ) )
   424: 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
   425: 	PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Unknown ) )
   426: 	PORT_DIPSETTING(      0x0100, DEF_STR( Off ) )
   427: 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
   428: 	PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Unknown ) )
   429: 	PORT_DIPSETTING(      0x0200, DEF_STR( Off ) )
   430: 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
   431: 	PORT_DIPNAME( 0x0400, 0x0800, DEF_STR( Unknown ) )
   432: 	PORT_DIPSETTING(      0x0800, DEF_STR( Off ) )
   433: 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
   434: 	PORT_DIPNAME( 0x0800, 0x0400, DEF_STR( Unknown ) )
   435: 	PORT_DIPSETTING(      0x0800, DEF_STR( Off ) )
   436: 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
   437: 	PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Unknown ) )
   438: 	PORT_DIPSETTING(      0x1000, DEF_STR( Off ) )
   439: 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
   440: 	PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Unknown ) )
   441: 	PORT_DIPSETTING(      0x2000, DEF_STR( Off ) )
   442: 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
   443: 	PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Unknown ) )
   444: 	PORT_DIPSETTING(      0x4000, DEF_STR( Off ) )
   445: 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
   446: 	PORT_DIPNAME( 0x8000, 0x0000, DEF_STR( Demo_Sounds ) )
   447: 	PORT_DIPSETTING(      0x8000, DEF_STR( Off ) )
   448: 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
   449: 
   450: 	PORT_START /* There's an unused(?) connector on the pcb which presumably is this */
   451: 	PORT_BIT( 0x7f, IP_ACTIVE_LOW, IPT_UNKNOWN )
   452: 	PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE2 )
   453: INPUT_PORTS_END
   454: 
   455: /**********************************************************************************/
   456: 
   457: static struct GfxLayout charlayout =
   458: {
   459: 	8,8,
   460: 	RGN_FRAC(1,2),
   461: 	4,
   462: 	{ RGN_FRAC(1,2)+8, RGN_FRAC(1,2), 8, 0 },
   463: 	{ 0, 1, 2, 3, 4, 5, 6, 7 },
   464: 	{ 0*16, 1*16, 2*16, 3*16, 4*16, 5*16, 6*16, 7*16 },
   465: 	16*8	/* every char takes 8 consecutive bytes */
   466: };
   467: 
   468: static struct GfxLayout spritelayout =
   469: {
   470: 	16,16,
   471: 	RGN_FRAC(1,1),
   472: 	4,
   473: 	{ 16, 0, 24, 8 },
   474: 	{ 64*8+0, 64*8+1, 64*8+2, 64*8+3, 64*8+4, 64*8+5, 64*8+6, 64*8+7,
   475: 		0, 1, 2, 3, 4, 5, 6, 7 },
   476: 	{ 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32,
   477: 			8*32, 9*32, 10*32, 11*32, 12*32, 13*32, 14*32, 15*32 },
   478: 	128*8
   479: };
   480: 
   481: static struct GfxLayout spritelayout_6bpp =
   482: {
   483: 	16,16,
   484: 	4096*8,
   485: 	6,
   486: 	{ 0x400000*8+8, 0x400000*8, 0x200000*8+8, 0x200000*8, 8, 0 },
   487: 	{ 7,6,5,4,3,2,1,0,
   488: 	32*8+7, 32*8+6, 32*8+5, 32*8+4, 32*8+3, 32*8+2, 32*8+1, 32*8+0,  },
   489: 	{ 15*16, 14*16, 13*16, 12*16, 11*16, 10*16, 9*16, 8*16,
   490: 			7*16, 6*16, 5*16, 4*16, 3*16, 2*16, 1*16, 0*16 },
   491: 	64*8
   492: };
   493: 
   494: static struct GfxLayout tilelayout =
   495: {
   496: 	16,16,
   497: 	RGN_FRAC(1,2),
   498: 	4,
   499: 	{ RGN_FRAC(1,2)+8, RGN_FRAC(1,2), 8, 0 },
   500: 	{ 32*8+0, 32*8+1, 32*8+2, 32*8+3, 32*8+4, 32*8+5, 32*8+6, 32*8+7,
   501: 		0, 1, 2, 3, 4, 5, 6, 7 },
   502: 	{ 0*16, 1*16, 2*16, 3*16, 4*16, 5*16, 6*16, 7*16,
   503: 			8*16, 9*16, 10*16, 11*16, 12*16, 13*16, 14*16, 15*16 },
   504: 	64*8
   505: };
   506: 
   507: static struct GfxLayout tilelayout_8bpp =
   508: {
   509: 	16,16,
   510: 	RGN_FRAC(1,4),
   511: 	8,
   512: 	{ RGN_FRAC(3,4)+8, RGN_FRAC(3,4), RGN_FRAC(1,4)+8, RGN_FRAC(1,4), RGN_FRAC(2,4)+8, RGN_FRAC(2,4), 8, 0 },
   513: 	{ 32*8+0, 32*8+1, 32*8+2, 32*8+3, 32*8+4, 32*8+5, 32*8+6, 32*8+7,
   514: 		0, 1, 2, 3, 4, 5, 6, 7 },
   515: 	{ 0*16, 1*16, 2*16, 3*16, 4*16, 5*16, 6*16, 7*16,
   516: 			8*16, 9*16, 10*16, 11*16, 12*16, 13*16, 14*16, 15*16 },
   517: 	64*8
   518: };
   519: 
   520: static struct GfxDecodeInfo gfxdecodeinfo[] =
   521: {
   522: 	{ REGION_GFX1, 0, &charlayout,          0, 32 },	/* Characters 8x8 */
   523: 	{ REGION_GFX2, 0, &tilelayout,          0, 32 },	/* Tiles 16x16 */
   524: 	{ REGION_GFX3, 0, &tilelayout,        512, 32 },	/* Tiles 16x16 */
   525: 	{ REGION_GFX4, 0, &spritelayout_6bpp,1024, 32 },	/* Sprites 16x16 */
   526: 	{ -1 } /* end of array */
   527: };
   528: 
   529: static struct GfxDecodeInfo gfxdecodeinfo_wizdfire[] =
   530: {
   531: 	{ REGION_GFX1, 0, &charlayout,        0, 32 },	/* Gfx chip 1 as 8x8 */
   532: 	{ REGION_GFX2, 0, &tilelayout,        0, 32 },	/* Gfx chip 1 as 16x16 */
   533: 	{ REGION_GFX3, 0, &tilelayout,      512, 32 },  /* Gfx chip 2 as 16x16 */
   534: 	{ REGION_GFX4, 0, &spritelayout,   1024, 32 }, /* Sprites 16x16 */
   535: 	{ REGION_GFX5, 0, &spritelayout,   1536, 32 },
   536: 	{ -1 } /* end of array */
   537: };
   538: 
   539: static struct GfxDecodeInfo gfxdecodeinfo_nitrobal[] =
   540: {
   541: 	{ REGION_GFX1, 0, &charlayout,        0, 32 },	/* Gfx chip 1 as 8x8 */
   542: 	{ REGION_GFX2, 0, &tilelayout,        0, 32 },	/* Gfx chip 1 as 16x16 */
   543: 	{ REGION_GFX3, 0, &tilelayout_8bpp, 512,  2 },  /* Gfx chip 2 as 16x16 */
   544: 	{ REGION_GFX4, 0, &spritelayout,   1024, 32 },  /* Sprites 16x16 */
   545: 	{ REGION_GFX5, 0, &spritelayout,   1536, 32 },
   546: 	{ -1 } /* end of array */
   547: };
   548: 
   549: /**********************************************************************************/
   550: 
   551: static void sound_irq(int state)
   552: {
   553: 	cpu_set_irq_line(1,1,state); /* IRQ 2 */
   554: }
   555: 
   556: static WRITE_HANDLER( sound_bankswitch_w )
   557: {
   558: 	OKIM6295_set_bank_base(0, ((data & 1)>>0) * 0x40000);
   559: 	OKIM6295_set_bank_base(1, ((data & 2)>>1) * 0x40000);
   560: }
   561: 
   562: static struct YM2151interface ym2151_interface =
   563: {
   564: 	1,
   565: 	32220000/9, /* Accurate, audio section crystal is 32.220 MHz */
   566: 	{ YM3012_VOL(40,MIXER_PAN_LEFT,40,MIXER_PAN_RIGHT) },
   567: 	{ sound_irq },
   568: 	{ sound_bankswitch_w }
   569: };
   570: 
   571: static struct OKIM6295interface okim6295_interface =
   572: {
   573: 	2,              /* 2 chips */
   574: 	{ 32220000/32/132, 32220000/16/132 },/* Frequency */
   575: 	{ REGION_SOUND1, REGION_SOUND2 },
   576: 	{ 95, 40 } /* Note!  Keep chip 1 (voices) louder than chip 2 */
   577: };
   578: 
   579: /**********************************************************************************/
   580: 
   581: static MACHINE_DRIVER_START( rohga )
   582: 
   583: 	/* basic machine hardware */
   584: 	MDRV_CPU_ADD(M68000, 14000000)
   585: 	MDRV_CPU_MEMORY(rohga_readmem,rohga_writemem)
   586: 	MDRV_CPU_VBLANK_INT(irq6_line_hold,1)
   587: 
   588: 	MDRV_CPU_ADD(H6280,32220000/8)
   589: 	MDRV_CPU_FLAGS(CPU_AUDIO_CPU)
   590: 	MDRV_CPU_MEMORY(sound_readmem,sound_writemem)
   591: 
   592: 	MDRV_FRAMES_PER_SECOND(60)
   593: 	MDRV_VBLANK_DURATION(529)
   594: 
   595: 	/* video hardware */
   596: 	MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER | VIDEO_NEEDS_6BITS_PER_GUN | VIDEO_BUFFERS_SPRITERAM)
   597: 	MDRV_SCREEN_SIZE(40*8, 32*8)
   598: 	MDRV_VISIBLE_AREA(0*8, 40*8-1, 1*8, 31*8-1)
   599: 	MDRV_GFXDECODE(gfxdecodeinfo)
   600: 	MDRV_PALETTE_LENGTH(2048)
   601: 
   602: 	MDRV_VIDEO_START(rohga)
   603: 	MDRV_VIDEO_UPDATE(rohga)
   604: 
   605: 	/* sound hardware */
   606: 	MDRV_SOUND_ATTRIBUTES(SOUND_SUPPORTS_STEREO)
   607: 	MDRV_SOUND_ADD(YM2151, ym2151_interface)
   608: 	MDRV_SOUND_ADD(OKIM6295, okim6295_interface)
   609: MACHINE_DRIVER_END
   610: 
   611: static MACHINE_DRIVER_START( wizdfire )
   612: 
   613: 	/* basic machine hardware */
   614: 	MDRV_CPU_ADD(M68000, 14000000)
   615: 	MDRV_CPU_MEMORY(wizdfire_readmem,wizdfire_writemem)
   616: 	MDRV_CPU_VBLANK_INT(irq6_line_hold,1)
   617: 
   618: 	MDRV_CPU_ADD(H6280,32220000/8)
   619: 	MDRV_CPU_FLAGS(CPU_AUDIO_CPU)
   620: 	MDRV_CPU_MEMORY(sound_readmem,sound_writemem)
   621: 
   622: 	MDRV_FRAMES_PER_SECOND(60)
   623: 	MDRV_VBLANK_DURATION(529)
   624: 
   625: 	/* video hardware */
   626: 	MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER | VIDEO_NEEDS_6BITS_PER_GUN | VIDEO_BUFFERS_SPRITERAM | VIDEO_RGB_DIRECT)
   627: 	MDRV_SCREEN_SIZE(40*8, 32*8)
   628: 	MDRV_VISIBLE_AREA(0*8, 40*8-1, 1*8, 31*8-1)
   629: 	MDRV_GFXDECODE(gfxdecodeinfo_wizdfire)
   630: 	MDRV_PALETTE_LENGTH(2048)
   631: 
   632: 	MDRV_VIDEO_START(wizdfire)
   633: 	MDRV_VIDEO_UPDATE(wizdfire)
   634: 
   635: 	/* sound hardware */
   636: 	MDRV_SOUND_ATTRIBUTES(SOUND_SUPPORTS_STEREO)
   637: 	MDRV_SOUND_ADD(YM2151, ym2151_interface)
   638: 	MDRV_SOUND_ADD(OKIM6295, okim6295_interface)
   639: MACHINE_DRIVER_END
   640: 
   641: static MACHINE_DRIVER_START( nitrobal )
   642: 
   643: 	/* basic machine hardware */
   644: 	MDRV_CPU_ADD(M68000, 14000000)
   645: 	MDRV_CPU_MEMORY(nitrobal_readmem,nitrobal_writemem)
   646: 	MDRV_CPU_VBLANK_INT(irq6_line_hold,1)
   647: 
   648: 	MDRV_CPU_ADD(H6280,32220000/8)
   649: 	MDRV_CPU_FLAGS(CPU_AUDIO_CPU)
   650: 	MDRV_CPU_MEMORY(sound_readmem,sound_writemem)
   651: 
   652: 	MDRV_FRAMES_PER_SECOND(60)
   653: 	MDRV_VBLANK_DURATION(529)
   654: 
   655: 	/* video hardware */
   656: 	MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER | VIDEO_NEEDS_6BITS_PER_GUN | VIDEO_BUFFERS_SPRITERAM | VIDEO_RGB_DIRECT)
   657: 	MDRV_SCREEN_SIZE(40*8, 32*8)
   658: 	MDRV_VISIBLE_AREA(0*8, 40*8-1, 1*8, 31*8-1)
   659: 	MDRV_GFXDECODE(gfxdecodeinfo_nitrobal)
   660: 	MDRV_PALETTE_LENGTH(2048)
   661: 
   662: 	MDRV_VIDEO_START(nitrobal)
   663: 	MDRV_VIDEO_UPDATE(nitrobal)
   664: 
   665: 	/* sound hardware */
   666: 	MDRV_SOUND_ATTRIBUTES(SOUND_SUPPORTS_STEREO)
   667: 	MDRV_SOUND_ADD(YM2151, ym2151_interface)
   668: 	MDRV_SOUND_ADD(OKIM6295, okim6295_interface)
   669: MACHINE_DRIVER_END
   670: 
   671: /**********************************************************************************/
   672: 
   673: ROM_START( rohgau )
   674: 	ROM_REGION(0x200000, REGION_CPU1, 0 ) /* 68000 code */
   675: 	ROM_LOAD16_BYTE( "ha00.2a",  0x000000, 0x40000, CRC(d8d13052) )
   676: 	ROM_LOAD16_BYTE( "ha03.2d",  0x000001, 0x40000, CRC(5f683bbf) )
   677: 	ROM_LOAD16_BYTE( "mam00.8a",  0x100000, 0x80000, CRC(0fa440a6) )
   678: 	ROM_LOAD16_BYTE( "mam07.8d",  0x100001, 0x80000, CRC(f8bc7f20) )
   679: 
   680: 	ROM_REGION(0x10000, REGION_CPU2, 0 ) /* Sound CPU */
   681: 	ROM_LOAD( "ha04.18p",  0x00000,  0x10000,  CRC(eb6608eb) )
   682: 
   683: 	ROM_REGION( 0x020000, REGION_GFX1, ROMREGION_DISPOSE )
   684: 	ROM_LOAD16_BYTE( "ha01.13a",  0x00000,  0x10000,  CRC(fb8f8519) ) /* Encrypted tiles */
   685: 	ROM_LOAD16_BYTE( "ha02.14a",  0x00001,  0x10000,  CRC(aa47c17f) )
   686: 
   687: 	ROM_REGION( 0x100000, REGION_GFX2, ROMREGION_DISPOSE )
   688: 	ROM_LOAD( "mam01.10a", 0x000000, 0x080000,  CRC(dbf4fbcc) ) /* Encrypted tiles */
   689: 	ROM_LOAD( "mam02.11a", 0x080000, 0x080000,  CRC(b1fac481) )
   690: 
   691: 	ROM_REGION( 0x200000, REGION_GFX3, ROMREGION_DISPOSE )
   692: 	ROM_LOAD( "mam08.17d",  0x000000, 0x100000,  CRC(ca97a83f) ) /* tiles 1 & 2 */
   693: 	ROM_LOAD( "mam09.18d",  0x100000, 0x100000,  CRC(3f57d56f) )
   694: 
   695: 	ROM_REGION( 0x600000, REGION_GFX4, ROMREGION_DISPOSE )
   696: 	ROM_LOAD( "mam05.19a", 0x000000, 0x100000,  CRC(307a2cd1) ) /* 6bpp sprites */
   697: 	ROM_LOAD( "mam06.20a", 0x100000, 0x100000,  CRC(a1119a2d) )
   698: 	ROM_LOAD( "mam10.19d", 0x200000, 0x100000,  CRC(99f48f9f) )
   699: 	ROM_LOAD( "mam11.20d", 0x300000, 0x100000,  CRC(c3f12859) )
   700: 	ROM_LOAD( "mam03.17a", 0x400000, 0x100000,  CRC(fc4dfd48) )
   701: 	ROM_LOAD( "mam04.18a", 0x500000, 0x100000,  CRC(7d3b38bf) )
   702: 
   703: 	ROM_REGION(0x80000, REGION_SOUND1, 0 ) /* Oki samples */
   704: 	ROM_LOAD( "mam12.14p", 0x00000,  0x80000,  CRC(6f00b791) )
   705: 
   706: 	ROM_REGION(0x80000, REGION_SOUND2, 0 ) /* Oki samples */
   707: 	ROM_LOAD( "mam13.15p", 0x00000,  0x80000,  CRC(525b9461) )
   708: 
   709: 	ROM_REGION( 512, REGION_PROMS, 0 )
   710: 	ROM_LOAD( "hb-00.11p", 0x00000,  0x200,  CRC(b7a7baad) )	/* ? */
   711: ROM_END
   712: 
   713: ROM_START( rohgah )
   714: 	ROM_REGION(0x200000, REGION_CPU1, 0 ) /* 68000 code */
   715: 	ROM_LOAD16_BYTE( "jd00-2.2a", 0x000000, 0x40000, CRC(ec70646a) )
   716: 	ROM_LOAD16_BYTE( "jd03-2.2d", 0x000001, 0x40000, CRC(11d4c9a2) )
   717: 	ROM_LOAD16_BYTE( "mam00.8a",  0x100000, 0x80000, CRC(0fa440a6) )
   718: 	ROM_LOAD16_BYTE( "mam07.8d",  0x100001, 0x80000, CRC(f8bc7f20) )
   719: 
   720: 	ROM_REGION(0x10000, REGION_CPU2, 0 ) /* Sound CPU */
   721: 	ROM_LOAD( "ha04.18p",  0x00000,  0x10000,  CRC(eb6608eb) )
   722: 
   723: 	ROM_REGION( 0x020000, REGION_GFX1, ROMREGION_DISPOSE )
   724: 	ROM_LOAD16_BYTE( "ha01.13a",  0x00000,  0x10000,  CRC(fb8f8519) ) /* Encrypted tiles */
   725: 	ROM_LOAD16_BYTE( "ha02.14a",  0x00001,  0x10000,  CRC(aa47c17f) )
   726: 
   727: 	ROM_REGION( 0x100000, REGION_GFX2, ROMREGION_DISPOSE )
   728: 	ROM_LOAD( "mam01.10a", 0x000000, 0x080000,  CRC(dbf4fbcc) ) /* Encrypted tiles */
   729: 	ROM_LOAD( "mam02.11a", 0x080000, 0x080000,  CRC(b1fac481) )
   730: 
   731: 	ROM_REGION( 0x200000, REGION_GFX3, ROMREGION_DISPOSE )
   732: 	ROM_LOAD( "mam08.17d",  0x000000, 0x100000,  CRC(ca97a83f) ) /* tiles 1 & 2 */
   733: 	ROM_LOAD( "mam09.18d",  0x100000, 0x100000,  CRC(3f57d56f) )
   734: 
   735: 	ROM_REGION( 0x600000, REGION_GFX4, ROMREGION_DISPOSE )
   736: 	ROM_LOAD( "mam05.19a", 0x000000, 0x100000,  CRC(307a2cd1) ) /* 6bpp sprites */
   737: 	ROM_LOAD( "mam06.20a", 0x100000, 0x100000,  CRC(a1119a2d) )
   738: 	ROM_LOAD( "mam10.19d", 0x200000, 0x100000,  CRC(99f48f9f) )
   739: 	ROM_LOAD( "mam11.20d", 0x300000, 0x100000,  CRC(c3f12859) )
   740: 	ROM_LOAD( "mam03.17a", 0x400000, 0x100000,  CRC(fc4dfd48) )
   741: 	ROM_LOAD( "mam04.18a", 0x500000, 0x100000,  CRC(7d3b38bf) )
   742: 
   743: 	ROM_REGION(0x80000, REGION_SOUND1, 0 ) /* Oki samples */
   744: 	ROM_LOAD( "mam12.14p", 0x00000,  0x80000,  CRC(6f00b791) )
   745: 
   746: 	ROM_REGION(0x80000, REGION_SOUND2, 0 ) /* Oki samples */
   747: 	ROM_LOAD( "mam13.15p", 0x00000,  0x80000,  CRC(525b9461) )
   748: 
   749: 	ROM_REGION( 512, REGION_PROMS, 0 )
   750: 	ROM_LOAD( "hb-00.11p", 0x00000,  0x200,  CRC(b7a7baad) )	/* ? */
   751: ROM_END
   752: 
   753: ROM_START( rohga )
   754: 	ROM_REGION(0x200000, REGION_CPU1, 0 ) /* 68000 code */
   755: 	ROM_LOAD16_BYTE( "jd00.bin",  0x000000, 0x40000, CRC(e046c77a) )
   756: 	ROM_LOAD16_BYTE( "jd03.bin",  0x000001, 0x40000, CRC(2c5120b8) )
   757: 	ROM_LOAD16_BYTE( "mam00.8a",  0x100000, 0x80000, CRC(0fa440a6) )
   758: 	ROM_LOAD16_BYTE( "mam07.8d",  0x100001, 0x80000, CRC(f8bc7f20) )
   759: 
   760: 	ROM_REGION(0x10000, REGION_CPU2, 0 ) /* Sound CPU */
   761: 	ROM_LOAD( "ha04.18p",  0x00000,  0x10000,  CRC(eb6608eb) )
   762: 
   763: 	ROM_REGION( 0x020000, REGION_GFX1, ROMREGION_DISPOSE )
   764: 	ROM_LOAD16_BYTE( "ha01.13a",  0x00000,  0x10000,  CRC(fb8f8519) ) /* Encrypted tiles */
   765: 	ROM_LOAD16_BYTE( "ha02.14a",  0x00001,  0x10000,  CRC(aa47c17f) )
   766: 
   767: 	ROM_REGION( 0x100000, REGION_GFX2, ROMREGION_DISPOSE )
   768: 	ROM_LOAD( "mam01.10a", 0x000000, 0x080000,  CRC(dbf4fbcc) ) /* Encrypted tiles */
   769: 	ROM_LOAD( "mam02.11a", 0x080000, 0x080000,  CRC(b1fac481) )
   770: 
   771: 	ROM_REGION( 0x200000, REGION_GFX3, ROMREGION_DISPOSE )
   772: 	ROM_LOAD( "mam08.17d",  0x000000, 0x100000,  CRC(ca97a83f) ) /* tiles 1 & 2 */
   773: 	ROM_LOAD( "mam09.18d",  0x100000, 0x100000,  CRC(3f57d56f) )
   774: 
   775: 	ROM_REGION( 0x600000, REGION_GFX4, ROMREGION_DISPOSE )
   776: 	ROM_LOAD( "mam05.19a", 0x000000, 0x100000,  CRC(307a2cd1) ) /* 6bpp sprites */
   777: 	ROM_LOAD( "mam06.20a", 0x100000, 0x100000,  CRC(a1119a2d) )
   778: 	ROM_LOAD( "mam10.19d", 0x200000, 0x100000,  CRC(99f48f9f) )
   779: 	ROM_LOAD( "mam11.20d", 0x300000, 0x100000,  CRC(c3f12859) )
   780: 	ROM_LOAD( "mam03.17a", 0x400000, 0x100000,  CRC(fc4dfd48) )
   781: 	ROM_LOAD( "mam04.18a", 0x500000, 0x100000,  CRC(7d3b38bf) )
   782: 
   783: 	ROM_REGION(0x80000, REGION_SOUND1, 0 ) /* Oki samples */
   784: 	ROM_LOAD( "mam12.14p", 0x00000,  0x80000,  CRC(6f00b791) )
   785: 
   786: 	ROM_REGION(0x80000, REGION_SOUND2, 0 ) /* Oki samples */
   787: 	ROM_LOAD( "mam13.15p", 0x00000,  0x80000,  CRC(525b9461) )
   788: 
   789: 	ROM_REGION( 512, REGION_PROMS, 0 )
   790: 	ROM_LOAD( "hb-00.11p", 0x00000,  0x200,  CRC(b7a7baad) )	/* ? */
   791: ROM_END
   792: 
   793: ROM_START( wizdfire )
   794: 	ROM_REGION(0x200000, REGION_CPU1, 0 ) /* 68000 code */
   795: 	ROM_LOAD16_BYTE( "jf-01.3d",   0x000000, 0x20000, CRC(bde42a41) SHA1(0379de9c4cdcce35554b5dc15241ed2c4f0d7611) )
   796: 	ROM_LOAD16_BYTE( "jf-00.3a",   0x000001, 0x20000, CRC(bca3c995) SHA1(dbebc9e301c04ee82ca4b658d3ab870790d1605b) )
   797: 	ROM_LOAD16_BYTE( "jf-03.5d",   0x040000, 0x20000, CRC(5217d404) SHA1(7cfcdb9e2c812bf0d4ac8306834242876ac47844) )
   798: 	ROM_LOAD16_BYTE( "jf-02.5a",   0x040001, 0x20000, CRC(36a1ce28) SHA1(62d52d720c89022de97759777230c45c460d8fb6) )
   799: 	ROM_LOAD16_BYTE( "mas13",   0x080000, 0x80000, CRC(7e5256ce) SHA1(431d78ad185ba0216097f131fb2583a1a067e4f0) )
   800: 	ROM_LOAD16_BYTE( "mas12",   0x080001, 0x80000, CRC(005bd499) SHA1(862079022f97bd11f2f33677dce55bd3b144a81b) )
   801: 
   802: 	ROM_REGION(0x10000, REGION_CPU2, 0 ) /* Sound CPU */
   803: 	ROM_LOAD( "jf-06.20r",  0x00000,  0x10000,  CRC(79042546) SHA1(231561df9415a289756a533709f610894fb9176e) )
   804: 
   805: 	ROM_REGION( 0x020000, REGION_GFX1, ROMREGION_DISPOSE )
   806: 	ROM_LOAD16_BYTE( "jf-04.10d",  0x00000,  0x10000,  CRC(73cba800) SHA1(dd7612fe1482713fcee5960b7db158be872d7fda) ) /* Chars */
   807: 	ROM_LOAD16_BYTE( "jf-05.12d",  0x00001,  0x10000,  CRC(22e2c49d) SHA1(06cc2d0476156d1f521c4c57621ce3922a23aa04) )
   808: 
   809: 	ROM_REGION( 0x200000, REGION_GFX2, ROMREGION_DISPOSE )
   810: 	ROM_LOAD( "mas00", 0x000000, 0x100000,  CRC(3d011034) SHA1(167d6d088d51a41f196be104d795ffe24297c96a) ) /* Tiles */
   811: 	ROM_LOAD( "mas01", 0x100000, 0x100000,  CRC(6d0c9d0b) SHA1(63e19dfd6451810637664b08e880aef139ca6ed5) )
   812: 
   813: 	ROM_REGION( 0x100000, REGION_GFX3, ROMREGION_DISPOSE )
   814: 	ROM_LOAD( "mas02", 0x000000, 0x080000,  CRC(af00e620) SHA1(43f4680b22ac6baf840274462c07fee68a2fbdfb) )
   815: 	ROM_LOAD( "mas03", 0x080000, 0x080000,  CRC(2fe61ea2) SHA1(0909e6c689c3e10225d7c074bd654ff2ada96983) )
   816: 
   817: 	ROM_REGION( 0x400000, REGION_GFX4, ROMREGION_DISPOSE )
   818: 	ROM_LOAD16_BYTE( "mas04", 0x000001, 0x100000,  CRC(1e56953b) SHA1(0655ac7f3c5030a80c2d6bad5c3a79b2cb1ae4a2) ) /* Sprites #1 */
   819: 	ROM_LOAD16_BYTE( "mas05", 0x000000, 0x100000,  CRC(3826b8f8) SHA1(d59197b4e0525b86876f9cce6fbf80caba976851) )
   820: 	ROM_LOAD16_BYTE( "mas06", 0x200001, 0x100000,  CRC(3b8bbd45) SHA1(c9f9d4daf9c0cba5385af26f3762b29c291ff62b) )
   821: 	ROM_LOAD16_BYTE( "mas07", 0x200000, 0x100000,  CRC(31303769) SHA1(509604be06ec8e0c1b56a81a8ffccdf0f79e9fd7) )
   822: 
   823: 	ROM_REGION( 0x100000, REGION_GFX5, ROMREGION_DISPOSE )
   824: 	ROM_LOAD16_BYTE( "mas08", 0x000001, 0x080000,  CRC(e224fb7a) SHA1(9aa92fb98bddff313db2077c4db102e94c7af09b) ) /* Sprites #2 */
   825: 	ROM_LOAD16_BYTE( "mas09", 0x000000, 0x080000,  CRC(5f6deb41) SHA1(850d0e157b4355e866ec770a2012293b2c55648f) )
   826: 
   827: 	ROM_REGION(0x80000, REGION_SOUND1, 0 ) /* Oki samples */
   828: 	ROM_LOAD( "mas10",  0x00000,  0x80000,  CRC(6edc06a7) SHA1(8ab92cca9d4a5d4fed3d99737c6f023f3f606db2) )
   829: 
   830: 	ROM_REGION(0x80000, REGION_SOUND2, 0 ) /* Oki samples */
   831: 	ROM_LOAD( "mas11",  0x00000,  0x80000,  CRC(c2f0a4f2) SHA1(af71d649aea273c17d7fbcf8693e8a1d4b31f7f8) )
   832: 
   833: 	ROM_REGION( 1024, REGION_PROMS, 0 )
   834: 	ROM_LOAD( "mb7122h.16l", 0x00000,  0x400,  CRC(2bee57cc) SHA1(bc48670aa7c39f6ff7fae4c819eab22ed2db875b) )	/* Priority (unused) */
   835: ROM_END
   836: 
   837: ROM_START( darksel2 )
   838: 	ROM_REGION(0x200000, REGION_CPU1, 0 ) /* 68000 code */
   839: 	ROM_LOAD16_BYTE( "jb01-3",  0x000000, 0x20000, CRC(82308c01) SHA1(aa0733e244f14f2c84b6929236771cbc99532bb2) )
   840: 	ROM_LOAD16_BYTE( "jb00-3",  0x000001, 0x20000, CRC(1d38113a) SHA1(69dc5a4dbe9d9737df198240f3db6f2115e311a5) )
   841: 	ROM_LOAD16_BYTE( "jf-03.5d",0x040000, 0x20000, CRC(5217d404) SHA1(7cfcdb9e2c812bf0d4ac8306834242876ac47844) )
   842: 	ROM_LOAD16_BYTE( "jf-02.5a",0x040001, 0x20000, CRC(36a1ce28) SHA1(62d52d720c89022de97759777230c45c460d8fb6) )
   843: 	ROM_LOAD16_BYTE( "mas13",   0x080000, 0x80000, CRC(7e5256ce) SHA1(431d78ad185ba0216097f131fb2583a1a067e4f0) )
   844: 	ROM_LOAD16_BYTE( "mas12",   0x080001, 0x80000, CRC(005bd499) SHA1(862079022f97bd11f2f33677dce55bd3b144a81b) )
   845: 
   846: 	ROM_REGION(0x10000, REGION_CPU2, 0 ) /* Sound CPU */
   847: 	ROM_LOAD( "jb06",  0x00000,  0x10000,  CRC(2066a1dd) SHA1(a0d136e90825fa9c089894a6852c634676d64579) )
   848: 
   849: 	ROM_REGION( 0x020000, REGION_GFX1, ROMREGION_DISPOSE )
   850: 	ROM_LOAD16_BYTE( "jf-04.10d",  0x00000,  0x10000,  CRC(73cba800) SHA1(dd7612fe1482713fcee5960b7db158be872d7fda) ) /* Chars */
   851: 	ROM_LOAD16_BYTE( "jf-05.12d",  0x00001,  0x10000,  CRC(22e2c49d) SHA1(06cc2d0476156d1f521c4c57621ce3922a23aa04) )
   852: 
   853: 	ROM_REGION( 0x200000, REGION_GFX2, ROMREGION_DISPOSE )
   854: 	ROM_LOAD( "mas00", 0x000000, 0x100000,  CRC(3d011034) SHA1(167d6d088d51a41f196be104d795ffe24297c96a) ) /* Tiles */
   855: 	ROM_LOAD( "mas01", 0x100000, 0x100000,  CRC(6d0c9d0b) SHA1(63e19dfd6451810637664b08e880aef139ca6ed5) )
   856: 
   857: 	ROM_REGION( 0x100000, REGION_GFX3, ROMREGION_DISPOSE )
   858: 	ROM_LOAD( "mas02", 0x000000, 0x080000,  CRC(af00e620) SHA1(43f4680b22ac6baf840274462c07fee68a2fbdfb) )
   859: 	ROM_LOAD( "mas03", 0x080000, 0x080000,  CRC(2fe61ea2) SHA1(0909e6c689c3e10225d7c074bd654ff2ada96983) )
   860: 
   861: 	ROM_REGION( 0x400000, REGION_GFX4, ROMREGION_DISPOSE )
   862: 	ROM_LOAD16_BYTE( "mas04", 0x000001, 0x100000,  CRC(1e56953b) SHA1(0655ac7f3c5030a80c2d6bad5c3a79b2cb1ae4a2) ) /* Sprites #1 */
   863: 	ROM_LOAD16_BYTE( "mas05", 0x000000, 0x100000,  CRC(3826b8f8) SHA1(d59197b4e0525b86876f9cce6fbf80caba976851) )
   864: 	ROM_LOAD16_BYTE( "mas06", 0x200001, 0x100000,  CRC(3b8bbd45) SHA1(c9f9d4daf9c0cba5385af26f3762b29c291ff62b) )
   865: 	ROM_LOAD16_BYTE( "mas07", 0x200000, 0x100000,  CRC(31303769) SHA1(509604be06ec8e0c1b56a81a8ffccdf0f79e9fd7) )
   866: 
   867: 	ROM_REGION( 0x100000, REGION_GFX5, ROMREGION_DISPOSE )
   868: 	ROM_LOAD16_BYTE( "mas08", 0x000001, 0x080000,  CRC(e224fb7a) SHA1(9aa92fb98bddff313db2077c4db102e94c7af09b) ) /* Sprites #2 */
   869: 	ROM_LOAD16_BYTE( "mas09", 0x000000, 0x080000,  CRC(5f6deb41) SHA1(850d0e157b4355e866ec770a2012293b2c55648f) )
   870: 
   871: 	ROM_REGION(0x80000, REGION_SOUND1, 0 ) /* Oki samples */
   872: 	ROM_LOAD( "mas10",  0x00000,  0x80000,  CRC(6edc06a7) SHA1(8ab92cca9d4a5d4fed3d99737c6f023f3f606db2) )
   873: 
   874: 	ROM_REGION(0x80000, REGION_SOUND2, 0 ) /* Oki samples */
   875: 	ROM_LOAD( "mas11",  0x00000,  0x80000,  CRC(c2f0a4f2) SHA1(af71d649aea273c17d7fbcf8693e8a1d4b31f7f8) )
   876: 
   877: 	ROM_REGION( 1024, REGION_PROMS, 0 )
   878: 	ROM_LOAD( "mb7122h.16l", 0x00000,  0x400,  CRC(2bee57cc) SHA1(bc48670aa7c39f6ff7fae4c819eab22ed2db875b) )	/* Priority (unused) */
   879: ROM_END
   880: 
   881: ROM_START( nitrobal )
   882: 	ROM_REGION(0x200000, REGION_CPU1, 0 ) /* 68000 code */
   883: 	ROM_LOAD16_BYTE( "jl01-4.d3",   0x000000, 0x20000, CRC(0414e409) SHA1(bc19e7d2d9e768ce4052511043867c0ef9b0b61b) )
   884: 	ROM_LOAD16_BYTE( "jl00-4.b3",   0x000001, 0x20000, CRC(dd9e2bcc) SHA1(dede49a4fafcfa03f38ba6c1149c9f8b115fb306) )
   885: 	ROM_LOAD16_BYTE( "jl03-4.d5",   0x040000, 0x20000, CRC(ea264ac5) SHA1(ccdb87bbdd9e38537dd290d237d76ec32559efa3) )
   886: 	ROM_LOAD16_BYTE( "jl02-4.b5",   0x040001, 0x20000, CRC(74047997) SHA1(bfd2f24889250e06945bb4798b40a56f832a9b19) )
   887: 	ROM_LOAD16_BYTE( "jl05-2.d6",   0x080000, 0x40000, CRC(b820fa20) SHA1(8509567cf988fe27552d37241b25b66a6e1a9c39) )
   888: 	ROM_LOAD16_BYTE( "jl04-2.b6",   0x080001, 0x40000, CRC(1fd8995b) SHA1(75d77835500e4b7caca92ba634859d7a2ad9b84c) )
   889: 	/* Two empty rom slots at d7, b7 */
   890: 
   891: 	ROM_REGION(0x10000, REGION_CPU2, 0 ) /* Sound CPU */
   892: 	ROM_LOAD( "jl08.r20",  0x00000,  0x10000,  CRC(93d93fe1) SHA1(efc618724251d23a23b3019d475f7739a7e88751) )
   893: 
   894: 	ROM_REGION( 0x020000, REGION_GFX1, ROMREGION_DISPOSE )
   895: 	ROM_LOAD16_BYTE( "jl06.d10",  0x00000,  0x10000,  CRC(91cf668e) SHA1(fc153eaa09777f79369037a139470ad1118e8d7e) ) /* Chars */
   896: 	ROM_LOAD16_BYTE( "jl07.d12",  0x00001,  0x10000,  CRC(e61d0e42) SHA1(80d6ada356c721b0be826554ec6731dbbc19e0ab) )
   897: 
   898: 	ROM_REGION( 0x100000, REGION_GFX2, ROMREGION_DISPOSE )
   899: 	ROM_LOAD( "mav00.b10", 0x00000, 0x80000,  CRC(34785d97) SHA1(094f881cd699d1b9fd079778f20f8c9d83283e6e) ) /* Tiles */
   900: 	ROM_LOAD( "mav01.b12", 0x80000, 0x80000,  CRC(8b531b16) SHA1(f734286f4510b2c09dc2d6d2b8c8da9dc4424287) )
   901: 
   902: 	ROM_REGION( 0x200000, REGION_GFX3, ROMREGION_DISPOSE )
   903: 	ROM_LOAD( "mav02.b16", 0x000000, 0x100000,  CRC(20723bf7) SHA1(b3491d98ff415701fec2b58d85f99c743d71b013) ) /* Tiles */
   904: 	ROM_LOAD( "mav03.e16", 0x100000, 0x100000,  CRC(ef6195f0) SHA1(491bc030519c78b84396f7f8a21df9daf8acc140) )
   905: 
   906: 	ROM_REGION( 0x300000, REGION_GFX4, ROMREGION_DISPOSE )
   907: 	ROM_LOAD16_BYTE( "mav05.e19", 0x000000, 0x100000,  CRC(d92d769c) SHA1(8012e7f2b9a7cbccde8da90025647443beb6c47c) ) /* Sprites #1 */
   908: 	ROM_LOAD16_BYTE( "mav04.b19", 0x000001, 0x100000,  CRC(8ba48385) SHA1(926ae1e0e99b8e022b6798ceb29dd080cfc1bada) )
   909: 	ROM_LOAD16_BYTE( "mav07.e20", 0x200000, 0x080000,  CRC(5fc10ccd) SHA1(7debcf223802d5c2ea3d29d39850c8756c863b31) )
   910: 	ROM_LOAD16_BYTE( "mav06.b20", 0x200001, 0x080000,  CRC(ae6201a5) SHA1(c0ae87fa96d12377c5522cb8adfed03373ab3757) )
   911: 
   912: 	ROM_REGION( 0x80000, REGION_GFX5, ROMREGION_DISPOSE )
   913: 	ROM_LOAD16_BYTE( "mav09.e23", 0x000000, 0x040000,  CRC(1ce7b51a) SHA1(17ed8f34bf6d057e0504e72e95f448d5923aa82e) ) /* Sprites #2 */
   914: 	ROM_LOAD16_BYTE( "mav08.b23", 0x000001, 0x040000,  CRC(64966576) SHA1(40c14c0f62eef0317abfb7192505e0337fb5cde5) )
   915: 
   916: 	ROM_REGION(0x80000, REGION_SOUND1, 0 ) /* Oki samples */
   917: 	ROM_LOAD( "mav10.r17",  0x00000,  0x80000,  CRC(8ad734b0) SHA1(768b9f54bbf4b54591cafecb7a27960da919ce84) )
   918: 
   919: 	ROM_REGION(0x80000, REGION_SOUND2, 0 ) /* Oki samples */
   920: 	ROM_LOAD( "mav11.r19",  0x00000,  0x80000,  CRC(ef513908) SHA1(72db6c704071d7a784b3768c256fc51087e9e93c) )
   921: ROM_END
   922: 
   923: /**********************************************************************************/
   924: 
   925: static DRIVER_INIT( rohga )
   926: {
   927: 	deco56_decrypt(REGION_GFX1);
   928: 	deco56_decrypt(REGION_GFX2);
   929: }
   930: 
   931: static DRIVER_INIT( wizdfire )
   932: {
   933: 	deco74_decrypt(REGION_GFX1);
   934: 	deco74_decrypt(REGION_GFX2);
   935: 	deco74_decrypt(REGION_GFX3);
   936: }
   937: 
   938: static DRIVER_INIT( nitrobal )
   939: {
   940: 	deco56_decrypt(REGION_GFX1);
   941: 	deco56_decrypt(REGION_GFX2);
   942: 	deco74_decrypt(REGION_GFX3);
   943: }
   944: 
   945: GAMEX(1991, rohga,    0,       rohga,    rohga,    rohga,    ROT0,   "Data East Corporation", "Rohga Armour Force (Asia/Europe v3.0)", GAME_UNEMULATED_PROTECTION )
   946: GAMEX(1991, rohgah,   rohga,   rohga,    rohga,    rohga,    ROT0,   "Data East Corporation", "Rohga Armour Force (Hong Kong v3.0)", GAME_UNEMULATED_PROTECTION )
   947: GAMEX(1991, rohgau,   rohga,   rohga,    rohga,    rohga,    ROT0,   "Data East Corporation", "Rohga Armour Force (US v1.0)", GAME_UNEMULATED_PROTECTION )
   948: GAME( 1992, wizdfire, 0,       wizdfire, wizdfire, wizdfire, ROT0,   "Data East Corporation", "Wizard Fire (US v1.1)" )
   949: GAME( 1992, darksel2, wizdfire,wizdfire, wizdfire, wizdfire, ROT0,   "Data East Corporation", "Dark Seal 2 (Japan v2.1)" )
   950: GAME( 1992, nitrobal, 0,       nitrobal, nitrobal, nitrobal, ROT270, "Data East Corporation", "Nitro Ball (US)" )
   951: 




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