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

Source Listing


     1: /*******************************************************************************
     2: 
     3: Equites           (c) 1984 Alpha Denshi Co./Sega
     4: Bull Fighter      (c) 1984 Alpha Denshi Co./Sega
     5: The Koukouyakyuh  (c) 1985 Alpha Denshi Co.
     6: Splendor Blast    (c) 1985 Alpha Denshi Co.
     7: High Voltage      (c) 1985 Alpha Denshi Co.
     8: 
     9: drivers by Acho A. Tang
    10: 
    11: 
    12: Stephh's notes (based on the games M68000 code and some tests) :
    13: 
    14: 0) all games
    15: 
    16:   - To enter sort of "test mode", bits 0 and 1 need to be ON when the game is reset.
    17:     Acho said that it could be a switch (but I'm not sure of that), and that's why
    18:     I've added a EASY_TEST_MODE compilation switch.
    19: 
    20: 
    21: 1) 'equites'
    22: 
    23:   - When in "test mode", press START1 to cycle through next sound, and press START2
    24:     to directly test the inputs and the Dip Switches.
    25:   - When the number of buttons is set to 2, you need to press BOTH BUTTON1 and
    26:     BUTTON2 to have the same effect as BUTTON3.
    27: 
    28: 
    29: 2) 'bullfgtr'
    30: 
    31:   - When in "test mode", press START1 to cycle through next sound, and press START2
    32:     to directly test the inputs and the Dip Switches.
    33:   - I'm not sure I understand how the coinage is handled, and so it's hard to make
    34:     a good description. Anyway, the values are correct.
    35: 
    36: 
    37: 3) 'kouyakyu'
    38: 
    39:   - When in "test mode", press START1 to cycle through next sound, and press START2
    40:     to directly test the inputs and the Dip Switches.
    41:   - Bit 1 of Dip Switch is only read in combinaison of bit 0 during P.O.S.T. to
    42:     enter the "test mode", but it doesn't add any credit ! That's why I've patched
    43:     the inputs, so you can enter the "test mode" by pressing COIN1 during P.O.S.T.
    44: 
    45: 
    46: 4) 'splndrbt'
    47: 
    48:   - When starting a 2 players game, when player 1 game is over, the game enters in
    49:     an infinite loop on displaying the "GAME OVER" message.
    50:   - You can test player 2 by putting 0xff instead of 0x00 at 0x040009 ($9,A6).
    51:   - FYI, what should change the contents of $9,A6 is the routine at 0x000932,
    52:     but I haven't found where this routine could be called 8( 8303 issue ?
    53: 
    54: 
    55: 5) 'hvoltage'
    56: 
    57:   - When starting a 2 players game, when player 1 game is over, the game becomes
    58:     buggy on displaying the "GAME OVER" message and you can't start a new game
    59:     anymore.
    60:   - You can test player 2 by putting 0xff instead of 0x00 at 0x040009 ($9,A6).
    61:   - FYI, what should change the contents of $9,A6 is the routine at 0x000fc4,
    62:     but I haven't found where this routine could be called 8( 8404 issue ?
    63: 
    64:   - There is sort of "debug mode" that you can access if 0x000038.w returns 0x0000
    65:     instead of 0xffff. To enable it, turn HVOLTAGE_HACK to 1 then enable the fake
    66:     Dip Switch.
    67:   - When you are in "debug mode", the Inputs and Dip Switches have special features.
    68:     Here is IMO the full list :
    69: 
    70:       * pressing IPT_JOYSTICK_DOWN of player 2 freezes the game
    71:       * pressing IPT_JOYSTICK_UP of player 2 unfreezes the game
    72:       * pressing IPT_COIN1 gives invulnerability (the collision routine isn't called)
    73:       * pressing IPT_COIN2 speeds up the game and you don't need to kill the bosses
    74:       * when bit 2 is On, you are given invulnerability (same effect as IPT_COIN1)
    75:       * when bit 3 is On, you don't need to kill the bosses (only the last one)
    76:       * when bit 4 is On ("Lives" Dip Switch set to "5"), some coordonates are displayed
    77:       * when bit 7 is On ("Coinage" Dip Switch set to "A 1/3C B 1/6C" or "A 2/1C B 3/1C"),
    78:         a "band" is displayed at the left of the screen
    79: 
    80: 
    81: TO DO :
    82: 
    83:   - support screen flipping in 'equites' and 'splndrbt'.
    84: 
    85: 
    86: Revisions:
    87: 
    88: xx-xx-2002 (trial release)
    89: 
    90: 
    91: Hardware Deficiencies
    92: ---------------------
    93: 
    94: - Lack of 8303/8404 tech info. All MCU results are wild guesses.
    95: 
    96:   equites_8404rule(unsigned pc, int offset, int data) details:
    97: 
    98: 	    pc: 68000 code address where the program queries the MCU
    99: 	offset: 8404 memory offset(in bytes) from where MCU data is read
   100: 	  data: fake byte-value to return (negative numbers trigger special conditions)
   101: 
   102: - Bull Fighter's RGB PROMs need redump. (make-up's included *inaccurate*)
   103: - The Koukouyakyuh's epr-6706.bin needs redump. (fixed ROM included)
   104: 
   105: 
   106: Emulation Deficiencies
   107: ----------------------
   108: 
   109: - Equites has a one-frame sprite lag in either the X or Y direction depends on interrupt timing.
   110: - High Voltage and Splendor Blast have unexplanable sprite gaps that require verification.
   111: - MSM5232 clock speed and capacitor values are not known.
   112: - There seems to be a rheostat on Equites' soundboard to adjust the MSM5232's music pitch.
   113: - It hasn't been confirmed whether music tempos are the same across all games.
   114: 
   115: 
   116: * Special Thanks to:
   117: 
   118:   Jarek Burczynski for a superb MSM5232 emulation
   119:   The Equites WIP webmasters(Maccy? Lone Wolf?) for all the vital screenshots and sound clips
   120:   Yasuhiro Ogawa for the correct Equites ROM information
   121: 
   122: 
   123: Other unemulated Alpha Denshi games that may use similar hardware:
   124: -----------------------------------------------------------
   125: Year Genre Name             Japanese Name
   126: -----------------------------------------------------------
   127: 1984 (SPT) Champion Croquet ƒ`ƒƒƒ“ƒsƒIƒ“ƒNƒƒbƒP[
   128: 1985 (SPT) Exciting Soccer2 ƒGƒLƒTƒCƒeƒBƒ“ƒOƒTƒbƒJ[2
   129: 1985 (???) Tune Pit(?)      ƒ`ƒF[ƒ“ƒsƒbƒg
   130: 1985 (MAJ) Perfect Janputer ƒp[ƒtƒFƒNƒgƒWƒƒƒ“ƒsƒ…[ƒ^[
   131: 
   132: 
   133: *******************************************************************************/
   134: // Directives
   135: 
   136: #include "driver.h" 
   137: #include "vidhrdw/generic.h" 
   138: 
   139: #define HVOLTAGE_HACK	0 
   140: #define EASY_TEST_MODE	0 
   141: 
   142: // Equites Hardware
   143: #define BMPAD 8 
   144: 
   145: /******************************************************************************/
   146: // Imports
   147: 
   148: // Common Hardware Start
   149: #define EQUITES_ADD_SOUNDBOARD7 \ 
   150: 	MDRV_CPU_ADD(8085A, 5000000) \
   151: 	MDRV_CPU_FLAGS(CPU_AUDIO_CPU) \
   152: 	MDRV_CPU_MEMORY(equites_s_readmem, equites_s_writemem) \
   153: 	MDRV_CPU_PORTS(0, equites_s_writeport) \
   154: 	MDRV_CPU_PERIODIC_INT(nmi_line_pulse, 4000) \
   155: 	MDRV_SOUND_ADD(MSM5232, equites_5232intf) \
   156: 	MDRV_SOUND_ADD(AY8910, equites_8910intf) \
   157: 	MDRV_SOUND_ADD(DAC, equites_dacintf)
   158: 
   159: extern void equites_8404init(void);
   160: extern void equites_8404rule(unsigned pc, int offset, int data);
   161: 
   162: extern READ16_HANDLER(equites_8404_r);
   163: extern WRITE_HANDLER(equites_5232_w);
   164: extern WRITE_HANDLER(equites_8910control_w);
   165: extern WRITE_HANDLER(equites_8910data_w);
   166: extern WRITE_HANDLER(equites_dac0_w);
   167: extern WRITE_HANDLER(equites_dac1_w);
   168: 
   169: extern data16_t *equites_8404ram;
   170: extern struct MSM5232interface equites_5232intf;
   171: extern struct AY8910interface equites_8910intf;
   172: extern struct DACinterface equites_dacintf;
   173: 
   174: static MEMORY_READ_START( equites_s_readmem )
   175: 	{ 0x0000, 0xbfff, MRA_ROM }, // sound program
   176: 	{ 0xc000, 0xc000, soundlatch_r },
   177: 	{ 0xe000, 0xe0ff, MRA_RAM }, // stack and variables
   178: MEMORY_END
   179: 
   180: static MEMORY_WRITE_START( equites_s_writemem )
   181: 	{ 0x0000, 0xbfff, MWA_ROM }, // sound program
   182: 	{ 0xc080, 0xc08d, equites_5232_w },
   183: 	{ 0xc0a0, 0xc0a0, equites_8910data_w },
   184: 	{ 0xc0a1, 0xc0a1, equites_8910control_w },
   185: 	{ 0xc0b0, 0xc0b0, MWA_NOP }, // INTR: sync with main melody
   186: 	{ 0xc0c0, 0xc0c0, MWA_NOP }, // INTR: sync with specific beats
   187: 	{ 0xc0d0, 0xc0d0, equites_dac0_w },
   188: 	{ 0xc0e0, 0xc0e0, equites_dac1_w },
   189: 	{ 0xc0f8, 0xc0fe, MWA_NOP }, // soundboard I/O, ignored
   190: 	{ 0xc0ff, 0xc0ff, soundlatch_clear_w },
   191: 	{ 0xe000, 0xe0ff, MWA_RAM }, // stack and variables
   192: MEMORY_END
   193: 
   194: static PORT_WRITE_START( equites_s_writeport )
   195: 	{ 0x00e0, 0x00e5, MWA_NOP }, // soundboard I/O, ignored
   196: PORT_END
   197: // Common Hardware End
   198: 
   199: // Equites Hardware
   200: extern PALETTE_INIT( equites );
   201: extern VIDEO_START( equites );
   202: extern VIDEO_UPDATE( equites );
   203: extern READ16_HANDLER(equites_spriteram_r);
   204: extern WRITE16_HANDLER(equites_charram_w);
   205: extern WRITE16_HANDLER(equites_scrollreg_w);
   206: extern WRITE16_HANDLER(equites_bgcolor_w);
   207: 
   208: // Splendor Blast Hareware
   209: extern MACHINE_INIT( splndrbt );
   210: extern PALETTE_INIT( splndrbt );
   211: extern VIDEO_START( splndrbt );
   212: extern VIDEO_UPDATE( splndrbt );
   213: extern READ16_HANDLER(splndrbt_bankedchar_r);
   214: extern WRITE16_HANDLER(splndrbt_charram_w);
   215: extern WRITE16_HANDLER(splndrbt_bankedchar_w);
   216: extern WRITE16_HANDLER(splndrbt_selchar0_w);
   217: extern WRITE16_HANDLER(splndrbt_selchar1_w);
   218: extern WRITE16_HANDLER(splndrbt_scrollram_w);
   219: extern WRITE16_HANDLER(splndrbt_bgcolor_w);
   220: extern data16_t *splndrbt_scrollx, *splndrbt_scrolly;
   221: 
   222: /******************************************************************************/
   223: // Locals
   224: 
   225: // Equites Hardware
   226: static int disablejoyport2 = 0;
   227: 
   228: /******************************************************************************/
   229: // Exports
   230: 
   231: // Common
   232: data16_t *equites_workram;
   233: int equites_id;
   234: 
   235: // Equites Hardware
   236: int equites_flip;
   237: 
   238: // Splendor Blast Hardware
   239: int splndrbt_flip;
   240: 
   241: /******************************************************************************/
   242: // Local Functions
   243: 
   244: /******************************************************************************/
   245: // Interrupt Handlers
   246: 
   247: // Equites Hardware
   248: static INTERRUPT_GEN( equites_interrupt )
   249: {
   250: 	if (cpu_getiloops())
   251: 		cpu_set_irq_line(0, 2, HOLD_LINE);
   252: 	else
   253: 		cpu_set_irq_line(0, 1, HOLD_LINE);
   254: }
   255: 
   256: // Splendor Blast Hareware
   257: static INTERRUPT_GEN( splndrbt_interrupt )
   258: {
   259: 	if (cpu_getiloops())
   260: 		cpu_set_irq_line(0, 1, HOLD_LINE);
   261: 	else
   262: 		cpu_set_irq_line(0, 2, HOLD_LINE);
   263: }
   264: 
   265: /******************************************************************************/
   266: // Main CPU Handlers
   267: 
   268: // Equites Hardware
   269: static READ16_HANDLER(equites_joyport_r)
   270: {
   271: 	int data;
   272: 
   273: 	data = readinputport(0);
   274: 	if (disablejoyport2) data = (data & 0x80ff) | (data<<8 & 0x7f00);
   275: 
   276: 	return (data);
   277: }
   278: 
   279: static WRITE16_HANDLER(equites_flip0_w)
   280: {
   281: 	if (ACCESSING_LSB) disablejoyport2 = 1;
   282: 	if (ACCESSING_MSB) equites_flip = 0;
   283: }
   284: 
   285: static WRITE16_HANDLER(equites_flip1_w)
   286: {
   287: 	if (ACCESSING_LSB) disablejoyport2 = 0;
   288: 	if (ACCESSING_MSB) equites_flip = 1;
   289: }
   290: 
   291: // Splendor Blast Hardware
   292: #if HVOLTAGE_HACK 
   293: static READ16_HANDLER(hvoltage_debug_r)
   294: {
   295: 	return(readinputport(2));
   296: }
   297: #endif 
   298: 
   299: static WRITE16_HANDLER(splndrbt_flip0_w)
   300: {
   301: 	if (ACCESSING_LSB) splndrbt_flip = 0;
   302: 	if (ACCESSING_MSB) equites_bgcolor_w(offset, data, 0x00ff);
   303: }
   304: 
   305: static WRITE16_HANDLER(splndrbt_flip1_w)
   306: {
   307: 	if (ACCESSING_LSB) splndrbt_flip = 1;
   308: }
   309: #if 0 
   310: static WRITE16_HANDLER(log16_w)
   311: {
   312: 	int pc = activecpu_get_pc();
   313: 
   314: 	usrintf_showmessage("%04x: %04x(w)\n", pc, data);
   315: 	logerror("%04x: %04x(w)\n", pc, data);
   316: }
   317: #endif 
   318: /******************************************************************************/
   319: // Main CPU Memory Map
   320: 
   321: // Equites Hardware
   322: static MEMORY_READ16_START( equites_readmem )
   323: 	{ 0x000000, 0x00ffff, MRA16_ROM }, // main program
   324: 	{ 0x040000, 0x040fff, MRA16_RAM }, // work RAM
   325: 	{ 0x080000, 0x080fff, MRA16_RAM }, // char RAM
   326: 	{ 0x0c0000, 0x0c0fff, MRA16_RAM }, // scroll RAM
   327: 	{ 0x100000, 0x100fff, equites_spriteram_r }, // sprite RAM
   328: 	{ 0x140000, 0x1407ff, equites_8404_r }, // 8404 RAM
   329: 	{ 0x180000, 0x180001, input_port_1_word_r }, // MSB: DIP switches
   330: 	{ 0x1c0000, 0x1c0001, equites_joyport_r }, // joyport[2211] (shares the same addr with scrollreg)
   331: MEMORY_END
   332: 
   333: static MEMORY_WRITE16_START( equites_writemem )
   334: 	{ 0x000000, 0x00ffff, MWA16_NOP }, // ROM area is written several times (dev system?)
   335: 	{ 0x040000, 0x040fff, MWA16_RAM, &equites_workram },
   336: 	{ 0x080000, 0x080fff, equites_charram_w, &videoram16 },
   337: 	{ 0x0c0000, 0x0c0fff, MWA16_RAM, &spriteram16_2 },
   338: 	{ 0x100000, 0x100fff, MWA16_RAM, &spriteram16, &spriteram_size },
   339: 	{ 0x140000, 0x1407ff, MWA16_RAM, &equites_8404ram },
   340: 	{ 0x180000, 0x180001, soundlatch_word_w }, // LSB: sound latch
   341: 	{ 0x184000, 0x184001, equites_flip0_w }, // [MMLL] MM: normal screen, LL: use joystick 1 only
   342: 	{ 0x188000, 0x188001, MWA16_NOP }, // 8404 control port1
   343: 	{ 0x18c000, 0x18c001, MWA16_NOP }, // 8404 control port2
   344: 	{ 0x1a4000, 0x1a4001, equites_flip1_w }, // [MMLL] MM: flip screen, LL: use both joysticks
   345: 	{ 0x1a8000, 0x1a8001, MWA16_NOP }, // 8404 control port3
   346: 	{ 0x1ac000, 0x1ac001, MWA16_NOP }, // 8404 control port4
   347: 	{ 0x1c0000, 0x1c0001, equites_scrollreg_w }, // scroll register[XXYY]
   348: 	{ 0x380000, 0x380001, equites_bgcolor_w }, // bg color register[CC--]
   349: 	{ 0x780000, 0x780001, MWA16_NOP }, // watchdog
   350: MEMORY_END
   351: 
   352: // Splendor Blast Hardware
   353: static MEMORY_READ16_START( splndrbt_readmem )
   354: 	{ 0x000000, 0x00ffff, MRA16_ROM }, // main program
   355: 	{ 0x040000, 0x040fff, MRA16_RAM }, // work RAM
   356: 	{ 0x080000, 0x080001, input_port_0_word_r }, // joyport [2211]
   357: 	{ 0x0c0000, 0x0c0001, input_port_1_word_r }, // MSB: DIP switches LSB: not used
   358: 	{ 0x100000, 0x100001, MRA16_RAM }, // no read
   359: 	{ 0x1c0000, 0x1c0001, MRA16_RAM }, // LSB: watchdog
   360: 	{ 0x180000, 0x1807ff, equites_8404_r }, // 8404 RAM
   361: 	{ 0x200000, 0x200fff, MRA16_RAM }, // char page 0
   362: 	{ 0x201000, 0x201fff, splndrbt_bankedchar_r }, // banked char page 1, 2
   363: 	{ 0x400000, 0x400fff, MRA16_RAM }, // scroll RAM 0,1
   364: 	{ 0x600000, 0x6001ff, MRA16_RAM }, // sprite RAM 0,1,2
   365: MEMORY_END
   366: 
   367: static MEMORY_WRITE16_START( splndrbt_writemem )
   368: 	{ 0x000000, 0x00ffff, MWA16_NOP },
   369: 	{ 0x040000, 0x040fff, MWA16_RAM, &equites_workram }, // work RAM
   370: 	{ 0x0c0000, 0x0c0001, splndrbt_flip0_w }, // [MMLL] MM: bg color register, LL: normal screen
   371: 	{ 0x0c4000, 0x0c4001, MWA16_NOP }, // 8404 control port1
   372: 	{ 0x0c8000, 0x0c8001, MWA16_NOP }, // 8404 control port2
   373: 	{ 0x0cc000, 0x0cc001, splndrbt_selchar0_w }, // select active char map
   374: 	{ 0x0e0000, 0x0e0001, splndrbt_flip1_w }, // [MMLL] MM: not used, LL: flip screen
   375: 	{ 0x0e4000, 0x0e4001, MWA16_NOP }, // 8404 control port3
   376: 	{ 0x0e8000, 0x0e8001, MWA16_NOP }, // 8404 control port4
   377: 	{ 0x0ec000, 0x0ec001, splndrbt_selchar1_w }, // select active char map
   378: 	{ 0x100000, 0x100001, MWA16_RAM, &splndrbt_scrollx }, // scrollx
   379: 	{ 0x140000, 0x140001, soundlatch_word_w }, // LSB: sound command
   380: 	{ 0x1c0000, 0x1c0001, MWA16_RAM, &splndrbt_scrolly }, // scrolly
   381: 	{ 0x180000, 0x1807ff, MWA16_RAM, &equites_8404ram }, // 8404 RAM
   382: 	{ 0x200000, 0x200fff, splndrbt_charram_w, &videoram16, &videoram_size }, // char RAM page 0
   383: 	{ 0x201000, 0x201fff, splndrbt_bankedchar_w }, // banked char RAM page 1,2
   384: 	{ 0x400000, 0x400fff, splndrbt_scrollram_w, &spriteram16_2 }, // scroll RAM 0,1
   385: 	{ 0x600000, 0x6001ff, MWA16_RAM, &spriteram16, &spriteram_size }, // sprite RAM 0,1,2
   386: MEMORY_END
   387: 
   388: /******************************************************************************/
   389: // Common Port Map
   390: 
   391: #define EQUITES_PLAYER_INPUT_LSB( button1, button2, button3, start ) \ 
   392: 	PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP    | IPF_8WAY ) \
   393: 	PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN  | IPF_8WAY ) \
   394: 	PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT | IPF_8WAY ) \
   395: 	PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT  | IPF_8WAY ) \
   396: 	PORT_BIT( 0x0010, IP_ACTIVE_HIGH, button1 ) \
   397: 	PORT_BIT( 0x0020, IP_ACTIVE_HIGH, button2 ) \
   398: 	PORT_BIT( 0x0040, IP_ACTIVE_HIGH, button3 ) \
   399: 	PORT_BIT( 0x0080, IP_ACTIVE_HIGH, start )
   400: 
   401: #define EQUITES_PLAYER_INPUT_MSB( button1, button2, button3, start ) \ 
   402: 	PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP    | IPF_8WAY | IPF_COCKTAIL ) \
   403: 	PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN  | IPF_8WAY | IPF_COCKTAIL ) \
   404: 	PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_COCKTAIL ) \
   405: 	PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT  | IPF_8WAY | IPF_COCKTAIL ) \
   406: 	PORT_BIT( 0x1000, IP_ACTIVE_HIGH, button1 | IPF_COCKTAIL ) \
   407: 	PORT_BIT( 0x2000, IP_ACTIVE_HIGH, button2 | IPF_COCKTAIL ) \
   408: 	PORT_BIT( 0x4000, IP_ACTIVE_HIGH, button3 | IPF_COCKTAIL ) \
   409: 	PORT_BIT( 0x8000, IP_ACTIVE_HIGH, start )
   410: 
   411: /******************************************************************************/
   412: // Equites Port Map
   413: 
   414: INPUT_PORTS_START( equites )
   415: 	PORT_START
   416: 	EQUITES_PLAYER_INPUT_LSB( IPT_BUTTON1, IPT_BUTTON2, IPT_BUTTON3, IPT_START1 )
   417: 	EQUITES_PLAYER_INPUT_MSB( IPT_BUTTON1, IPT_BUTTON2, IPT_BUTTON3, IPT_START2 )
   418: 
   419: 	PORT_START
   420: 	PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_COIN1 )
   421: 	PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_COIN2 )
   422: #if EASY_TEST_MODE 
   423: 	PORT_SERVICE( 0x0300, IP_ACTIVE_HIGH )
   424: #endif 
   425: 	PORT_DIPNAME( 0x0400, 0x0400, DEF_STR( Cabinet ) )
   426: 	PORT_DIPSETTING(      0x0400, DEF_STR( Upright ) )
   427: 	PORT_DIPSETTING(      0x0000, DEF_STR( Cocktail ) )
   428: 	PORT_DIPNAME( 0x0800, 0x0800, "Buttons" )
   429: 	PORT_DIPSETTING(      0x0000, "2" )
   430: 	PORT_DIPSETTING(      0x0800, "3" )
   431: 	PORT_DIPNAME( 0x1000, 0x0000, DEF_STR ( Lives ) )
   432: 	PORT_DIPSETTING(      0x0000, "3" )
   433: 	PORT_DIPSETTING(      0x1000, "5" )
   434: 	PORT_DIPNAME( 0x2000, 0x0000, DEF_STR ( Difficulty ) )
   435: 	PORT_DIPSETTING(      0x0000, "Normal" )
   436: 	PORT_DIPSETTING(      0x2000, "Hard" )
   437: 	PORT_DIPNAME( 0xc000, 0x0000, DEF_STR( Coinage ) )
   438: 	PORT_DIPSETTING(      0xc000, "A 2C/1C B 3C/1C" )
   439: 	PORT_DIPSETTING(      0x0000, "A 1C/1C B 2C/1C" )
   440: 	PORT_DIPSETTING(      0x8000, "A 1C/2C B 1C/4C" )
   441: 	PORT_DIPSETTING(      0x4000, "A 1C/3C B 1C/6C" )
   442: INPUT_PORTS_END
   443: 
   444: /******************************************************************************/
   445: // Bull Fighter Port Map
   446: 
   447: INPUT_PORTS_START( bullfgtr )
   448: 	PORT_START
   449: 	EQUITES_PLAYER_INPUT_LSB( IPT_BUTTON1, IPT_BUTTON2, IPT_BUTTON3, IPT_START1 )
   450: 	EQUITES_PLAYER_INPUT_MSB( IPT_BUTTON1, IPT_BUTTON2, IPT_BUTTON3, IPT_START2 )
   451: 
   452: 	PORT_START
   453: 	PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_COIN1 )
   454: 	PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_COIN2 )
   455: #if EASY_TEST_MODE 
   456: 	PORT_SERVICE( 0x0300, IP_ACTIVE_HIGH )
   457: #endif 
   458: 	PORT_DIPNAME( 0x0c00, 0x0000, "Game Time" )
   459: 	PORT_DIPSETTING(      0x0c00, "3:00" )
   460: 	PORT_DIPSETTING(      0x0800, "2:00" )
   461: 	PORT_DIPSETTING(      0x0000, "1:30" )
   462: 	PORT_DIPSETTING(      0x0400, "1:00" )
   463: 	PORT_DIPNAME( 0x2000, 0x0000, DEF_STR ( Difficulty ) )
   464: 	PORT_DIPSETTING(      0x0000, "Normal" )
   465: 	PORT_DIPSETTING(      0x2000, "Hard" )
   466: 	PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Demo_Sounds ) )
   467: 	PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
   468: 	PORT_DIPSETTING(      0x4000, DEF_STR( On ) )
   469: 	PORT_DIPNAME( 0x9000, 0x0000, DEF_STR( Coinage ) )
   470: //	PORT_DIPSETTING(      0x9000, "A 1C/1C B 1C/1C" )		// More than 1 credit per player needed
   471: 	PORT_DIPSETTING(      0x0000, "A 1C/1C B 1C/1C" )
   472: 	PORT_DIPSETTING(      0x8000, "A 1C/1C B 1C/4C" )
   473: 	PORT_DIPSETTING(      0x1000, "A 1C/2C B 1C/3C" )
   474: INPUT_PORTS_END
   475: 
   476: /******************************************************************************/
   477: // Koukouyakyuh Port Map
   478: 
   479: INPUT_PORTS_START( kouyakyu )
   480: 	PORT_START
   481: 	EQUITES_PLAYER_INPUT_LSB( IPT_BUTTON1, IPT_BUTTON2, IPT_BUTTON3, IPT_START1 )
   482: 	EQUITES_PLAYER_INPUT_MSB( IPT_BUTTON1, IPT_BUTTON2, IPT_BUTTON3, IPT_START2 )
   483: 
   484: 	PORT_START
   485: //	PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_COIN1 )
   486: //	PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_UNUSED )
   487: 	PORT_BIT( 0x0300, IP_ACTIVE_HIGH, IPT_COIN1 )
   488: #if EASY_TEST_MODE 
   489: 	PORT_SERVICE( 0x0300, IP_ACTIVE_HIGH )
   490: #endif 
   491: 	PORT_DIPNAME( 0x0c00, 0x0000, "Game Points" )
   492: 	PORT_DIPSETTING(      0x0800, "3000" )
   493: 	PORT_DIPSETTING(      0x0400, "4000" )
   494: 	PORT_DIPSETTING(      0x0000, "5000" )
   495: 	PORT_DIPSETTING(      0x0c00, "7000" )
   496: 	PORT_DIPNAME( 0x2000, 0x0000, DEF_STR( Unused ) )
   497: 	PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
   498: 	PORT_DIPSETTING(      0x2000, DEF_STR( On ) )
   499: 	PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Demo_Sounds ) )
   500: 	PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
   501: 	PORT_DIPSETTING(      0x4000, DEF_STR( On ) )
   502: 	PORT_DIPNAME( 0x9000, 0x0000, DEF_STR( Coinage ) )
   503: 	PORT_DIPSETTING(      0x9000, "1C/1C (2C per player)" )
   504: 	PORT_DIPSETTING(      0x0000, "1C/1C (1C per player)" )
   505: 	PORT_DIPSETTING(      0x8000, "1C/1C (1C for 2 players)" )
   506: 	PORT_DIPSETTING(      0x1000, "1C/3C (1C per player)" )
   507: INPUT_PORTS_END
   508: 
   509: /******************************************************************************/
   510: // Splendor Blast Port Map
   511: 
   512: INPUT_PORTS_START( splndrbt )
   513: 	PORT_START
   514: 	EQUITES_PLAYER_INPUT_LSB( IPT_BUTTON1, IPT_BUTTON2, IPT_UNKNOWN, IPT_START1 )
   515: 	EQUITES_PLAYER_INPUT_MSB( IPT_BUTTON1, IPT_BUTTON2, IPT_UNKNOWN, IPT_START2 )
   516: 
   517: 	PORT_START
   518: 	PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_COIN1 )
   519: 	PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_COIN2 )
   520: #if EASY_TEST_MODE 
   521: 	PORT_SERVICE( 0x0300, IP_ACTIVE_HIGH )
   522: #endif 
   523: 	PORT_DIPNAME( 0x0c00, 0x0000, DEF_STR ( Difficulty ) )
   524: 	PORT_DIPSETTING(      0x0400, "Easy" )
   525: 	PORT_DIPSETTING(      0x0000, "Normal" )
   526: 	PORT_DIPSETTING(      0x0800, "Hard" )
   527: 	PORT_DIPSETTING(      0x0c00, "Hardest" )
   528: 	PORT_DIPNAME( 0x1000, 0x0000, DEF_STR( Demo_Sounds ) )
   529: 	PORT_DIPSETTING(      0x1000, DEF_STR( Off ) )
   530: 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
   531: 	PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Cabinet ) )
   532: 	PORT_DIPSETTING(      0x2000, DEF_STR( Upright ) )
   533: 	PORT_DIPSETTING(      0x0000, DEF_STR( Cocktail ) )
   534: 	PORT_DIPNAME( 0xc000, 0x0000, DEF_STR( Coinage ) )
   535: 	PORT_DIPSETTING(      0xc000, "A 2C/1C B 3C/1C" )
   536: 	PORT_DIPSETTING(      0x0000, "A 1C/1C B 2C/1C" )
   537: 	PORT_DIPSETTING(      0x4000, "A 1C/2C B 1C/4C" )
   538: 	PORT_DIPSETTING(      0x8000, "A 1C/3C B 1C/6C" )
   539: INPUT_PORTS_END
   540: 
   541: /******************************************************************************/
   542: // High Voltage Port Map
   543: 
   544: INPUT_PORTS_START( hvoltage )
   545: 	PORT_START
   546: 	EQUITES_PLAYER_INPUT_LSB( IPT_BUTTON1, IPT_BUTTON2, IPT_UNKNOWN, IPT_START1 )
   547: 	EQUITES_PLAYER_INPUT_MSB( IPT_BUTTON1, IPT_BUTTON2, IPT_UNKNOWN, IPT_START2 )
   548: 
   549: 	PORT_START
   550: 	PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_COIN1 )
   551: 	PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_COIN2 )
   552: #if EASY_TEST_MODE 
   553: 	PORT_SERVICE( 0x0300, IP_ACTIVE_HIGH )
   554: #endif 
   555: #if HVOLTAGE_HACK 
   556: 	PORT_DIPNAME( 0x0400, 0x0000, "Invulnerability" )
   557: 	PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
   558: 	PORT_DIPSETTING(      0x0400, DEF_STR( On ) )
   559: 	PORT_DIPNAME( 0x0800, 0x0000, "Need to kill Bosses" )
   560: 	PORT_DIPSETTING(      0x0800, DEF_STR( No ) )
   561: 	PORT_DIPSETTING(      0x0000, DEF_STR( Yes ) )
   562: #else 
   563: 	PORT_DIPNAME( 0x0c00, 0x0000, DEF_STR ( Difficulty ) )
   564: 	PORT_DIPSETTING(      0x0400, "Easy" )
   565: 	PORT_DIPSETTING(      0x0000, "Normal" )
   566: 	PORT_DIPSETTING(      0x0800, "Hard" )
   567: 	PORT_DIPSETTING(      0x0c00, "Hardest" )
   568: #endif 
   569: 	PORT_DIPNAME( 0x1000, 0x0000, DEF_STR ( Lives ) )			// See notes
   570: 	PORT_DIPSETTING(      0x0000, "3" )
   571: 	PORT_DIPSETTING(      0x1000, "5" )
   572: 	PORT_DIPNAME( 0x2000, 0x0000, DEF_STR ( Bonus_Life ) )
   573: 	PORT_DIPSETTING(      0x0000, "50k, 100k then every 100k" )
   574: 	PORT_DIPSETTING(      0x2000, "50k, 200k then every 100k" )
   575: 	PORT_DIPNAME( 0xc000, 0x0000, DEF_STR( Coinage ) )			// See notes
   576: 	PORT_DIPSETTING(      0xc000, "A 2C/1C B 3C/1C" )
   577: 	PORT_DIPSETTING(      0x0000, "A 1C/1C B 2C/1C" )
   578: 	PORT_DIPSETTING(      0x4000, "A 1C/2C B 1C/4C" )
   579: 	PORT_DIPSETTING(      0x8000, "A 1C/3C B 1C/6C" )
   580: 
   581: #if HVOLTAGE_HACK 
   582: 	/* Fake port to handle debug mode */
   583: 	PORT_START
   584: 	PORT_DIPNAME( 0xffff, 0xffff, "Debug Mode" )
   585: 	PORT_DIPSETTING(      0xffff, DEF_STR( Off ) )
   586: 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
   587: #endif 
   588: INPUT_PORTS_END
   589: 
   590: /******************************************************************************/
   591: // Graphics Layouts
   592: 
   593: // Equites Hardware
   594: static struct GfxLayout eq_charlayout =
   595: {
   596: 	8, 8,
   597: 	256,
   598: 	2,
   599: 	{ 0, 4 },
   600: 	{ 8*8+3, 8*8+2, 8*8+1, 8*8, 3, 2, 1, 0 },
   601: 	{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
   602: 	16*8
   603: };
   604: 
   605: static struct GfxLayout eq_tilelayout =
   606: {
   607: 	16, 16,
   608: 	256,
   609: 	3,
   610: 	{ 0, 0x4000*8, 0x4000*8+4 },
   611: 	{
   612: 	  128*1+3, 128*1+2, 128*1+1, 128*1+0,
   613: 	  128*2+3, 128*2+2, 128*2+1, 128*2+0,
   614: 	  128*3+3, 128*3+2, 128*3+1, 128*3+0,
   615: 	        3,       2,       1,       0
   616: 	},
   617: 	{ 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 },
   618: 	64*8
   619: };
   620: 
   621: static struct GfxLayout eq_spritelayout =
   622: {
   623: 	16, 14,
   624: 	256,
   625: 	3,
   626: 	{ 0, 0x4000*8, 0x4000*8+4 },
   627: 	{
   628: 	        3,       2,       1,       0,
   629: 	  128*1+3, 128*1+2, 128*1+1, 128*1+0,
   630: 	  128*2+3, 128*2+2, 128*2+1, 128*2+0,
   631: 	  128*3+3, 128*3+2, 128*3+1, 128*3+0
   632: 	},
   633: 	{ 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 },
   634: 	64*8
   635: };
   636: 
   637: static struct GfxDecodeInfo equites_gfxdecodeinfo[] =
   638: {
   639: 	{ REGION_GFX1, 0, &eq_charlayout,     0, 32 }, // chars
   640: 	{ REGION_GFX2, 0, &eq_tilelayout,   128, 16 }, // tile set0
   641: 	{ REGION_GFX3, 0, &eq_tilelayout,   128, 16 }, // tile set1
   642: 	{ REGION_GFX4, 0, &eq_spritelayout, 256, 16 }, // sprite set0
   643: 	{ REGION_GFX5, 0, &eq_spritelayout, 256, 16 }, // sprite set1
   644: 	{ -1 } // end of array
   645: };
   646: 
   647: // Splendor Blast Hardware
   648: static struct GfxLayout sp_charlayout =
   649: {
   650: 	8, 8,
   651: 	512,
   652: 	2,
   653: 	{ 0, 4 },
   654: 	{ 8*8+3, 8*8+2, 8*8+1, 8*8, 3, 2, 1, 0 },
   655: 	{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
   656: 	16*8
   657: };
   658: 
   659: static struct GfxLayout sp_tilelayout =
   660: {
   661: 	16,16,
   662: 	256,
   663: 	2,
   664: 	{ 0, 4 },
   665: 	{
   666: 	  16*8+3, 16*8+2, 16*8+1, 16*8+0,
   667: 	  32*8+3, 32*8+2, 32*8+1, 32*8+0,
   668: 	  48*8+3, 48*8+2, 48*8+1, 48*8+0,
   669: 	       3,      2,      1,      0
   670: 	},
   671: 	{ 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 },
   672: 	64*8
   673: };
   674: 
   675: static struct GfxLayout sp_spritelayout =
   676: {
   677: 	32,32,
   678: 	128,
   679: 	3,
   680: 	{ 0, 0x8000*8, 0x8000*8+4 },
   681: 	{
   682: 	  0*8+3, 0*8+2, 0*8+1, 0*8+0, 1*8+3, 1*8+2, 1*8+1, 1*8+0,
   683: 	  2*8+3, 2*8+2, 2*8+1, 2*8+0, 3*8+3, 3*8+2, 3*8+1, 3*8+0,
   684: 	  4*8+3, 4*8+2, 4*8+1, 4*8+0, 5*8+3, 5*8+2, 5*8+1, 5*8+0,
   685: 	  6*8+3, 6*8+2, 6*8+1, 6*8+0, 7*8+3, 7*8+2, 7*8+1, 7*8+0
   686: 	},
   687: 	{
   688: 	  0*8*8, 1*8*8, 2*8*8, 3*8*8, 4*8*8, 5*8*8, 6*8*8, 7*8*8,
   689: 	  8*8*8, 9*8*8,10*8*8,11*8*8,12*8*8,13*8*8,14*8*8,15*8*8,
   690: 	 31*8*8,30*8*8,29*8*8,28*8*8,27*8*8,26*8*8,25*8*8,24*8*8,
   691: 	 23*8*8,22*8*8,21*8*8,20*8*8,19*8*8,18*8*8,17*8*8,16*8*8
   692: 	},
   693: 	8*32*8
   694: };
   695: 
   696: static struct GfxDecodeInfo splndrbt_gfxdecodeinfo[] =
   697: {
   698: 	{ REGION_GFX1, 0, &sp_charlayout,     0, 256/4 }, // 512 4-color chars
   699: 	{ REGION_GFX2, 0, &sp_tilelayout,   256, 256/4 }, // 256 4-color tiles
   700: 	{ REGION_GFX3, 0, &sp_tilelayout,   256, 256/4 }, // 256 4-color tiles
   701: 	{ REGION_GFX4, 0, &sp_spritelayout, 512, 256/8 }, // 256 8-color sprites
   702: 	{ -1 } // end of array
   703: };
   704: 
   705: /******************************************************************************/
   706: // Hardware Definitions
   707: 
   708: static MACHINE_DRIVER_START( equites )
   709: 
   710: 	/* basic machine hardware */
   711: 	MDRV_CPU_ADD(M68000, 12000000/2) // OSC: 12Mhz
   712: 	MDRV_CPU_MEMORY(equites_readmem, equites_writemem)
   713: 	MDRV_CPU_VBLANK_INT(equites_interrupt, 2)
   714: 
   715: 	MDRV_FRAMES_PER_SECOND(60)
   716: 	MDRV_VBLANK_DURATION(DEFAULT_60HZ_VBLANK_DURATION | VIDEO_UPDATE_BEFORE_VBLANK)
   717: 
   718: 	/* video hardware */
   719: 	MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
   720: 	MDRV_SCREEN_SIZE(256 +BMPAD*2, 256 +BMPAD*2)
   721: 	MDRV_VISIBLE_AREA(0 +BMPAD, 256-1 +BMPAD, 24 +BMPAD, 232-1 +BMPAD)
   722: 	MDRV_PALETTE_LENGTH(256)
   723: 	MDRV_COLORTABLE_LENGTH(384)
   724: 	MDRV_GFXDECODE(equites_gfxdecodeinfo)
   725: 
   726: 	MDRV_PALETTE_INIT(equites)
   727: 	MDRV_VIDEO_START(equites)
   728: 	MDRV_VIDEO_UPDATE(equites)
   729: 
   730: 	/* sound hardware */
   731: 	EQUITES_ADD_SOUNDBOARD7
   732: 
   733: MACHINE_DRIVER_END
   734: 
   735: static MACHINE_DRIVER_START( splndrbt )
   736: 
   737: 	/* basic machine hardware */
   738: 	MDRV_CPU_ADD(M68000, 12000000/2) // OSC: 12Mhz
   739: 	MDRV_CPU_MEMORY(splndrbt_readmem, splndrbt_writemem)
   740: 	MDRV_CPU_VBLANK_INT(splndrbt_interrupt, 2)
   741: 
   742: 	MDRV_FRAMES_PER_SECOND(60)
   743: 	MDRV_VBLANK_DURATION(DEFAULT_60HZ_VBLANK_DURATION | VIDEO_UPDATE_BEFORE_VBLANK)
   744: 	MDRV_MACHINE_INIT(splndrbt)
   745: 
   746: 	/* video hardware */
   747: 	MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
   748: 	MDRV_SCREEN_SIZE(256, 256)
   749: 	MDRV_VISIBLE_AREA(0, 256-1, 64, 256-1)
   750: 	MDRV_PALETTE_LENGTH(256)
   751: 	MDRV_COLORTABLE_LENGTH(1536)
   752: 	MDRV_GFXDECODE(splndrbt_gfxdecodeinfo)
   753: 
   754: 	MDRV_PALETTE_INIT(splndrbt)
   755: 	MDRV_VIDEO_START(splndrbt)
   756: 	MDRV_VIDEO_UPDATE(splndrbt)
   757: 
   758: 	/* sound hardware */
   759: 	EQUITES_ADD_SOUNDBOARD7
   760: 
   761: MACHINE_DRIVER_END
   762: 
   763: /******************************************************************************/
   764: // Equites ROM Map
   765: 
   766: ROM_START( equites )
   767: 	ROM_REGION( 0x10000, REGION_CPU1, 0 ) // 68000 ROMs
   768: 	ROM_LOAD16_BYTE( "ep1", 0x00001, 0x2000, CRC(6a4fe5f7) SHA1(5ff1594a2cee28cc7d59448eb57473088ac6f14b) )
   769: 	ROM_LOAD16_BYTE( "ep5", 0x00000, 0x2000, CRC(00faa3eb) SHA1(6b31d041ad4ca81eda36487f659997cc4030f23c) )
   770: 	ROM_LOAD16_BYTE( "epr-ep2.12d", 0x04001, 0x2000, CRC(0c1bc2e7) SHA1(4c3510dfeee2fb2f295a32e2fe2021c4c7f08e8a) )
   771: 	ROM_LOAD16_BYTE( "epr-ep6.12b", 0x04000, 0x2000, CRC(bbed3dcc) SHA1(46ef2c60ccfa76a187b19dc0b7e6c594050b183f) )
   772: 	ROM_LOAD16_BYTE( "epr-ep3.10d", 0x08001, 0x2000, CRC(5f2d059a) SHA1(03fe904a445cce89462788fecfd61ac53f4dd17f) )
   773: 	ROM_LOAD16_BYTE( "epr-ep7.10b", 0x08000, 0x2000, CRC(a8f6b8aa) SHA1(ee4edb54c147a95944482e998616b025642a268a) )
   774: 	ROM_LOAD16_BYTE( "ep4",  0x0c001, 0x2000, CRC(b636e086) SHA1(5fc23a86b6051ecf6ff3f95f810f0eb471a203b0) )
   775: 	ROM_LOAD16_BYTE( "ep8",  0x0c000, 0x2000, CRC(d7ee48b0) SHA1(d0398704d8e89f2b0a9ed05e18f7c644d1e047c0) )
   776: 
   777: 	ROM_REGION( 0x10000, REGION_CPU2, 0 ) // Z80 ROMs
   778: 	ROM_LOAD( "ev1.1m", 0x00000, 0x2000, CRC(43faaf2e) SHA1(c9aaf298d673eb70399366776474f1b242549eb4) )
   779: 	ROM_LOAD( "ev2.1l", 0x02000, 0x2000, CRC(09e6702d) SHA1(896771f73a486e5035909eeed9ef48103d81d4ae) )
   780: 	ROM_LOAD( "ev3.1k", 0x04000, 0x2000, CRC(10ff140b) SHA1(7c28f988a9c8b2a702d007096199e67b447a183c) )
   781: 	ROM_LOAD( "ev4.1h", 0x06000, 0x2000, CRC(b7917264) SHA1(e58345fda088b171fd348959de15082f3cb42514) )
   782: 
   783: 	ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) // chars
   784: 	ROM_LOAD( "ep9",  0x00000, 0x1000, CRC(0325be11) SHA1(d95667b439e3d97b08efeaf08022348546a4f385) )
   785: 
   786: 	ROM_REGION( 0x8000, REGION_GFX2, ROMREGION_DISPOSE ) // tile set1
   787: 	ROM_LOAD_NIB_HIGH( "eb5.7h",  0x00000, 0x2000, CRC(cbef7da5) SHA1(c5fcd2341ce5b039a15116fbd85796bb5ddc4701) )
   788: 	ROM_LOAD         ( "eb5.7h",  0x02000, 0x2000, CRC(cbef7da5) SHA1(c5fcd2341ce5b039a15116fbd85796bb5ddc4701) )
   789: 	ROM_LOAD         ( "eb1.7f",  0x04000, 0x2000, CRC(9a236583) SHA1(fcc4da2efe904f0178bd83fdee25d4752b9cc5ce) )
   790: 	ROM_LOAD         ( "eb2.8f",  0x06000, 0x2000, CRC(f0fb6355) SHA1(3c4c009f80e648d02767b29bb8d18f4de7b26d4e) )
   791: 
   792: 	ROM_REGION( 0x8000, REGION_GFX3, ROMREGION_DISPOSE ) // tile set2
   793: 	ROM_LOAD_NIB_HIGH( "eb6.8h",  0x00000, 0x2000, CRC(1e5e5475) SHA1(80ebe9326c628685faafb259f956a98ac435c809) )
   794: 	ROM_LOAD         ( "eb6.8h",  0x02000, 0x2000, CRC(1e5e5475) SHA1(80ebe9326c628685faafb259f956a98ac435c809) )
   795: 	ROM_LOAD         ( "eb3.10f", 0x04000, 0x2000, CRC(dbd0044b) SHA1(5611517bb0f54bfb0585eeca8af21fbfc2f65b2c) )
   796: 	ROM_LOAD         ( "eb4.11f", 0x06000, 0x2000, CRC(f8f8e600) SHA1(c7c97e4dc1f7a73694c98b2b1a3d7fa9f3317a2a) )
   797: 
   798: 	ROM_REGION( 0x8000, REGION_GFX4, ROMREGION_DISPOSE ) // sprite set1
   799: 	ROM_LOAD_NIB_HIGH( "es5.5h",     0x00000, 0x2000, CRC(d5b82e6a) SHA1(956a1413426e53f8a735260e660805b04016ca8d) )
   800: 	ROM_LOAD         ( "es5.5h",     0x02000, 0x2000, CRC(d5b82e6a) SHA1(956a1413426e53f8a735260e660805b04016ca8d) )
   801: 	ROM_LOAD         ( "es1.5f",     0x04000, 0x2000, CRC(cf81a2cd) SHA1(a1b45451cafeaceabe3dfe24eb073098a33ab22b) )
   802: 	ROM_LOAD         ( "es2.4f",     0x06000, 0x2000, CRC(ae3111d8) SHA1(d63633b531339fa04af757f42e956b8eb1debc4e) )
   803: 
   804: 	ROM_REGION( 0x8000, REGION_GFX5, ROMREGION_DISPOSE ) // sprite set2
   805: 	ROM_LOAD_NIB_HIGH( "es6.4h",     0x00000, 0x2000, CRC(cb4f5da9) SHA1(5af8f6aca0a3bb6417430e0179ec97c33d4014e3) )
   806: 	ROM_LOAD         ( "es6.4h",     0x02000, 0x2000, CRC(cb4f5da9) SHA1(5af8f6aca0a3bb6417430e0179ec97c33d4014e3) )
   807: 	ROM_LOAD         ( "es3.2f",     0x04000, 0x2000, CRC(3d44f815) SHA1(1835aef280a6915acbf7cad771d65bf1074f0f98) )
   808: 	ROM_LOAD         ( "es4.1f",     0x06000, 0x2000, CRC(16e6d18a) SHA1(44f9045ad034808070cd6497a3b94c3d8cc93262) )
   809: 
   810: 	ROM_REGION( 0x0300, REGION_PROMS, 0 ) // RGB PROMs
   811: 	ROM_LOAD( "bprom.3a",  0x00000, 0x100, CRC(2fcdf217) SHA1(4acf67d37e844c2773028ecffe72a66754ed5bca) ) // R
   812: 	ROM_LOAD( "bprom.1a",  0x00100, 0x100, CRC(d7e6cd1f) SHA1(ce330e43ba8a97ab79040c053a25e46e8fe60bdb) ) // G
   813: 	ROM_LOAD( "bprom.2a",  0x00200, 0x100, CRC(e3d106e8) SHA1(6b153eb8140d36b4d194e26106a5ba5bffd1a851) ) // B
   814: 
   815: 	ROM_REGION( 0x0100, REGION_USER1, 0 ) // CLUT(same PROM x 4)
   816: 	ROM_LOAD( "bprom.6b",  0x0000, 0x100, CRC(6294cddf) SHA1(c7a2854f62e31032df2b07fae3fb3b51ac6daac2) )
   817: 	ROM_LOAD( "bprom.7b",  0x0000, 0x100, CRC(6294cddf) SHA1(c7a2854f62e31032df2b07fae3fb3b51ac6daac2) )
   818: 	ROM_LOAD( "bprom.9b",  0x0000, 0x100, CRC(6294cddf) SHA1(c7a2854f62e31032df2b07fae3fb3b51ac6daac2) )
   819: 	ROM_LOAD( "bprom.10b", 0x0000, 0x100, CRC(6294cddf) SHA1(c7a2854f62e31032df2b07fae3fb3b51ac6daac2) )
   820: 
   821: 	ROM_REGION( 0x0020, REGION_USER2, 0 ) // MSM5232 PROM?
   822: 	ROM_LOAD( "bprom.3h",  0x00000, 0x020, CRC(33b98466) SHA1(017c73cf8c17dc5047c89316ae5b45f8d22092e8) )
   823: ROM_END
   824: 
   825: ROM_START( equitess )
   826: 	ROM_REGION( 0x10000, REGION_CPU1, 0 ) // 68000 ROMs
   827: 	ROM_LOAD16_BYTE( "epr-ep1.13d", 0x00001, 0x2000, CRC(c6edf1cd) SHA1(21dba62e692f4fdc79155ce169a48ae827bd5994) )
   828: 	ROM_LOAD16_BYTE( "epr-ep5.13b", 0x00000, 0x2000, CRC(c11f0759) SHA1(5caf2b6b777b2fdabc26ea232225be2d789e87f3) )
   829: 	ROM_LOAD16_BYTE( "epr-ep2.12d", 0x04001, 0x2000, CRC(0c1bc2e7) SHA1(4c3510dfeee2fb2f295a32e2fe2021c4c7f08e8a) )
   830: 	ROM_LOAD16_BYTE( "epr-ep6.12b", 0x04000, 0x2000, CRC(bbed3dcc) SHA1(46ef2c60ccfa76a187b19dc0b7e6c594050b183f) )
   831: 	ROM_LOAD16_BYTE( "epr-ep3.10d", 0x08001, 0x2000, CRC(5f2d059a) SHA1(03fe904a445cce89462788fecfd61ac53f4dd17f) )
   832: 	ROM_LOAD16_BYTE( "epr-ep7.10b", 0x08000, 0x2000, CRC(a8f6b8aa) SHA1(ee4edb54c147a95944482e998616b025642a268a) )
   833: 	ROM_LOAD16_BYTE( "epr-ep4.9d",  0x0c001, 0x2000, CRC(956a06bd) SHA1(a716f9aaf0c32c522968f4ff13de904d6e8c7f98) )
   834: 	ROM_LOAD16_BYTE( "epr-ep8.9b",  0x0c000, 0x2000, CRC(4c78d60d) SHA1(207a82779e2fe3e9082f4fa09b87c713a51167e6) )
   835: 
   836: 	ROM_REGION( 0x10000, REGION_CPU2, 0 ) // Z80 ROMs
   837: 	ROM_LOAD( "ev1.1m", 0x00000, 0x2000, CRC(43faaf2e) SHA1(c9aaf298d673eb70399366776474f1b242549eb4) )
   838: 	ROM_LOAD( "ev2.1l", 0x02000, 0x2000, CRC(09e6702d) SHA1(896771f73a486e5035909eeed9ef48103d81d4ae) )
   839: 	ROM_LOAD( "ev3.1k", 0x04000, 0x2000, CRC(10ff140b) SHA1(7c28f988a9c8b2a702d007096199e67b447a183c) )
   840: 	ROM_LOAD( "ev4.1h", 0x06000, 0x2000, CRC(b7917264) SHA1(e58345fda088b171fd348959de15082f3cb42514) )
   841: 
   842: 	ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) // chars
   843: 	ROM_LOAD( "epr-ep0.3e",  0x00000, 0x1000, CRC(3f5a81c3) SHA1(8fd5bc621f483bfa46be7e40e6480b25243bdf70) )
   844: 
   845: 	ROM_REGION( 0x8000, REGION_GFX2, ROMREGION_DISPOSE ) // tile set1
   846: 	ROM_LOAD_NIB_HIGH( "eb5.7h",  0x00000, 0x2000, CRC(cbef7da5) SHA1(c5fcd2341ce5b039a15116fbd85796bb5ddc4701) )
   847: 	ROM_LOAD         ( "eb5.7h",  0x02000, 0x2000, CRC(cbef7da5) SHA1(c5fcd2341ce5b039a15116fbd85796bb5ddc4701) )
   848: 	ROM_LOAD         ( "eb1.7f",  0x04000, 0x2000, CRC(9a236583) SHA1(fcc4da2efe904f0178bd83fdee25d4752b9cc5ce) )
   849: 	ROM_LOAD         ( "eb2.8f",  0x06000, 0x2000, CRC(f0fb6355) SHA1(3c4c009f80e648d02767b29bb8d18f4de7b26d4e) )
   850: 
   851: 	ROM_REGION( 0x8000, REGION_GFX3, ROMREGION_DISPOSE ) // tile set2
   852: 	ROM_LOAD_NIB_HIGH( "eb6.8h",  0x00000, 0x2000, CRC(1e5e5475) SHA1(80ebe9326c628685faafb259f956a98ac435c809) )
   853: 	ROM_LOAD         ( "eb6.8h",  0x02000, 0x2000, CRC(1e5e5475) SHA1(80ebe9326c628685faafb259f956a98ac435c809) )
   854: 	ROM_LOAD         ( "eb3.10f", 0x04000, 0x2000, CRC(dbd0044b) SHA1(5611517bb0f54bfb0585eeca8af21fbfc2f65b2c) )
   855: 	ROM_LOAD         ( "eb4.11f", 0x06000, 0x2000, CRC(f8f8e600) SHA1(c7c97e4dc1f7a73694c98b2b1a3d7fa9f3317a2a) )
   856: 
   857: 	ROM_REGION( 0x8000, REGION_GFX4, ROMREGION_DISPOSE ) // sprite set1
   858: 	ROM_LOAD_NIB_HIGH( "es5.5h",     0x00000, 0x2000, CRC(d5b82e6a) SHA1(956a1413426e53f8a735260e660805b04016ca8d) )
   859: 	ROM_LOAD         ( "es5.5h",     0x02000, 0x2000, CRC(d5b82e6a) SHA1(956a1413426e53f8a735260e660805b04016ca8d) )
   860: 	ROM_LOAD         ( "es1.5f",     0x04000, 0x2000, CRC(cf81a2cd) SHA1(a1b45451cafeaceabe3dfe24eb073098a33ab22b) )
   861: 	ROM_LOAD         ( "es2.4f",     0x06000, 0x2000, CRC(ae3111d8) SHA1(d63633b531339fa04af757f42e956b8eb1debc4e) )
   862: 
   863: 	ROM_REGION( 0x8000, REGION_GFX5, ROMREGION_DISPOSE ) // sprite set2
   864: 	ROM_LOAD_NIB_HIGH( "es6.4h",     0x00000, 0x2000, CRC(cb4f5da9) SHA1(5af8f6aca0a3bb6417430e0179ec97c33d4014e3) )
   865: 	ROM_LOAD         ( "es6.4h",     0x02000, 0x2000, CRC(cb4f5da9) SHA1(5af8f6aca0a3bb6417430e0179ec97c33d4014e3) )
   866: 	ROM_LOAD         ( "es3.2f",     0x04000, 0x2000, CRC(3d44f815) SHA1(1835aef280a6915acbf7cad771d65bf1074f0f98) )
   867: 	ROM_LOAD         ( "es4.1f",     0x06000, 0x2000, CRC(16e6d18a) SHA1(44f9045ad034808070cd6497a3b94c3d8cc93262) )
   868: 
   869: 	ROM_REGION( 0x0300, REGION_PROMS, 0 ) // RGB PROMs
   870: 	ROM_LOAD( "bprom.3a",  0x00000, 0x100, CRC(2fcdf217) SHA1(4acf67d37e844c2773028ecffe72a66754ed5bca) ) // R
   871: 	ROM_LOAD( "bprom.1a",  0x00100, 0x100, CRC(d7e6cd1f) SHA1(ce330e43ba8a97ab79040c053a25e46e8fe60bdb) ) // G
   872: 	ROM_LOAD( "bprom.2a",  0x00200, 0x100, CRC(e3d106e8) SHA1(6b153eb8140d36b4d194e26106a5ba5bffd1a851) ) // B
   873: 
   874: 	ROM_REGION( 0x0100, REGION_USER1, 0 ) // CLUT(same PROM x 4)
   875: 	ROM_LOAD( "bprom.6b",  0x0000, 0x100, CRC(6294cddf) SHA1(c7a2854f62e31032df2b07fae3fb3b51ac6daac2) )
   876: 	ROM_LOAD( "bprom.7b",  0x0000, 0x100, CRC(6294cddf) SHA1(c7a2854f62e31032df2b07fae3fb3b51ac6daac2) )
   877: 	ROM_LOAD( "bprom.9b",  0x0000, 0x100, CRC(6294cddf) SHA1(c7a2854f62e31032df2b07fae3fb3b51ac6daac2) )
   878: 	ROM_LOAD( "bprom.10b", 0x0000, 0x100, CRC(6294cddf) SHA1(c7a2854f62e31032df2b07fae3fb3b51ac6daac2) )
   879: 
   880: 	ROM_REGION( 0x0020, REGION_USER2, 0 ) // MSM5232 PROM?
   881: 	ROM_LOAD( "bprom.3h",  0x00000, 0x020, CRC(33b98466) SHA1(017c73cf8c17dc5047c89316ae5b45f8d22092e8) )
   882: ROM_END
   883: 
   884: /******************************************************************************/
   885: // Koukouyakyuh ROM Map
   886: 
   887: ROM_START( kouyakyu )
   888: 	ROM_REGION( 0x10000, REGION_CPU1, 0 )  // 68000 ROMs
   889: 	ROM_LOAD16_BYTE( "epr-6704.bin", 0x00001, 0x2000, CRC(c7ac2292) SHA1(614bfb0949620d4c260768f14a116b076dd38438) )
   890: 	ROM_LOAD16_BYTE( "epr-6707.bin", 0x00000, 0x2000, CRC(9cb2962e) SHA1(bd1bcbc53a3346e22789f24a35ab3aa681317d02) )
   891: 	ROM_LOAD16_BYTE( "epr-6705.bin", 0x04001, 0x2000, CRC(985327cb) SHA1(86969fe763cbaa527d64de35844773b5ab1d7f83) )
   892: 	ROM_LOAD16_BYTE( "epr-6708.bin", 0x04000, 0x2000, CRC(f8863dc5) SHA1(bfdd294d51420dd70aa97942909a9b8a95ffc05c) )
   893: 	ROM_LOAD16_BYTE( "epr-6706.bin", 0x08001, 0x2000, BAD_DUMP CRC(79e94cd2) SHA1(f44c2292614b46116818fad9a7eb48cceeb3b819)  )	// was bad, manually patched
   894: 	ROM_LOAD16_BYTE( "epr-6709.bin", 0x08000, 0x2000, CRC(f41cb58c) SHA1(f0d1048e949d51432739755f985e4df65b8e918b) )
   895: 	ROM_FILL(                        0x0c000, 0x4000, 0 )
   896: 
   897: 	ROM_REGION( 0x10000, REGION_CPU2, 0 ) // Z80 ROMs
   898: 	ROM_LOAD( "epr-6703.bin", 0x00000, 0x2000, CRC(fbff3a86) SHA1(4ed2887b1e4509ded853a230f735d4d2aa475886) )
   899: 	ROM_LOAD( "epr-6702.bin", 0x02000, 0x2000, CRC(27ddf031) SHA1(2f11d3b693e46852762669ed1e35a667990edec7) )
   900: 	ROM_LOAD( "epr-6701.bin", 0x04000, 0x2000, CRC(3c83588a) SHA1(a84c813ba9d464cffc855397aaacbb9177c86fb4) )
   901: 	ROM_LOAD( "epr-6700.bin", 0x06000, 0x2000, CRC(ee579266) SHA1(94dfcf506049fc78db00084ff7031d19520d9a85) )
   902: 	ROM_LOAD( "epr-6699.bin", 0x08000, 0x2000, CRC(9bfa4a72) SHA1(8ac4d308dab0d67a26b4e3550c2e8064aaf36a74) )
   903: 	ROM_LOAD( "epr-6698.bin", 0x0a000, 0x2000, CRC(7adfd1ff) SHA1(b543dd6734a681a187dabf602bea390de663039c) )
   904: 
   905: 	ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) // chars
   906: 	ROM_LOAD( "epr-6710.bin", 0x00000, 0x1000, CRC(accda190) SHA1(265d2fd92574d65e7890e48d5f305bf903a67bc8) )
   907: 
   908: 	ROM_REGION( 0x8000, REGION_GFX2, ROMREGION_DISPOSE ) // tile set1
   909: 	ROM_LOAD_NIB_HIGH( "epr-6695.bin", 0x00000, 0x2000, CRC(22bea465) SHA1(4860d7ee3c386cdacc9c608ffe74ec8bfa58edcb) )
   910: 	ROM_LOAD         ( "epr-6695.bin", 0x02000, 0x2000, CRC(22bea465) SHA1(4860d7ee3c386cdacc9c608ffe74ec8bfa58edcb) )
   911: 	ROM_LOAD         ( "epr-6689.bin", 0x04000, 0x2000, CRC(53bf7587) SHA1(0046cd04d11ce789ff69e0807700a624af96eb36) )
   912: 	ROM_LOAD         ( "epr-6688.bin", 0x06000, 0x2000, CRC(ceb76c5b) SHA1(81fa236871f10c77eb201e1c9771bd57406df15b) )
   913: 
   914: 	ROM_REGION( 0x8000, REGION_GFX3, ROMREGION_DISPOSE ) // tile set2
   915: 	ROM_LOAD_NIB_HIGH( "epr-6694.bin", 0x00000, 0x2000, CRC(51a7345e) SHA1(184c890559ed633e23cb459c313e6179cc3eb542) )
   916: 	ROM_LOAD         ( "epr-6694.bin", 0x02000, 0x2000, CRC(51a7345e) SHA1(184c890559ed633e23cb459c313e6179cc3eb542) )
   917: 	ROM_LOAD         ( "epr-6687.bin", 0x04000, 0x2000, CRC(9c1f49df) SHA1(1a5cf5278777f829d3654e838bd2bb9f4dbb57ba) )
   918: 	ROM_LOAD         ( "epr-6686.bin", 0x06000, 0x2000, CRC(3d9e516f) SHA1(498614821f87dbcc39edb1756e1af6b536044e6a) )
   919: 
   920: 	ROM_REGION( 0x8000, REGION_GFX4, ROMREGION_DISPOSE ) // sprite set1
   921: 	ROM_LOAD_NIB_HIGH( "epr-6696.bin", 0x00000, 0x2000, CRC(0625f48e) SHA1(bea09ccf37f38678fb53c55bd0a79557d6c81b3f) )
   922: 	ROM_LOAD         ( "epr-6696.bin", 0x02000, 0x2000, CRC(0625f48e) SHA1(bea09ccf37f38678fb53c55bd0a79557d6c81b3f) )
   923: 	ROM_LOAD         ( "epr-6690.bin", 0x04000, 0x2000, CRC(a142a11d) SHA1(209c7e0591622434ada4445f3f8789059c5f4f77) )
   924: 	ROM_LOAD         ( "epr-6691.bin", 0x06000, 0x2000, CRC(b640568c) SHA1(8cef1387c469abec8b488621a94cc9575d6c5fcc) )
   925: 
   926: 	ROM_REGION( 0x8000, REGION_GFX5, ROMREGION_DISPOSE ) // sprite set2
   927: 	ROM_LOAD_NIB_HIGH( "epr-6697.bin", 0x00000, 0x2000, CRC(f18afabe) SHA1(abd7f6c0bd0de145c423166a2f4e86ccdb12b1ce) )
   928: 	ROM_LOAD         ( "epr-6697.bin", 0x02000, 0x2000, CRC(f18afabe) SHA1(abd7f6c0bd0de145c423166a2f4e86ccdb12b1ce) )
   929: 	ROM_LOAD         ( "epr-6692.bin", 0x04000, 0x2000, CRC(b91d8172) SHA1(8d8f6ea78ebf652f295ce96abf19e628fe777d07) )
   930: 	ROM_LOAD         ( "epr-6693.bin", 0x06000, 0x2000, CRC(874e3acc) SHA1(29438f196811fc2c8f54b6c47f1c175e4797dd4c) )
   931: 
   932: 	ROM_REGION( 0x0300, REGION_PROMS, 0 ) // RGB PROMS
   933: 	ROM_LOAD( "pr6627.bpr",  0x00000, 0x100, CRC(5ec5480d) SHA1(f966a277539a5d257f32692cdd92ce44b08599e8) ) // R
   934: 	ROM_LOAD( "pr6629.bpr",  0x00100, 0x100, CRC(29c7a393) SHA1(67cced39c0a80655c420aad668dfe836c1d7c643) ) // G
   935: 	ROM_LOAD( "pr6628.bpr",  0x00200, 0x100, CRC(8af247a4) SHA1(01702fbce53dd4875e4825f0487e7aed9cf212fa) ) // B
   936: 
   937: 	ROM_REGION( 0x0100, REGION_USER1, 0 ) // CLUT(same PROM x 4)
   938: 	ROM_LOAD( "pr6630a.bpr", 0x0000, 0x100, CRC(d6e202da) SHA1(500ebd5c95d2d2c33535d25cf7f8f649897dc224) )
   939: 	ROM_LOAD( "pr6630b.bpr", 0x0000, 0x100, CRC(d6e202da) SHA1(500ebd5c95d2d2c33535d25cf7f8f649897dc224) )
   940: 	ROM_LOAD( "pr6630c.bpr", 0x0000, 0x100, CRC(d6e202da) SHA1(500ebd5c95d2d2c33535d25cf7f8f649897dc224) )
   941: 	ROM_LOAD( "pr6630d.bpr", 0x0000, 0x100, CRC(d6e202da) SHA1(500ebd5c95d2d2c33535d25cf7f8f649897dc224) )
   942: 
   943: 	ROM_REGION( 0x0020, REGION_USER2, 0 ) // MSM5232 PROM?(identical to bprom.3h in Equites)
   944: 	ROM_LOAD( "pr.bpr",      0x00000, 0x020, CRC(33b98466) SHA1(017c73cf8c17dc5047c89316ae5b45f8d22092e8) )
   945: ROM_END
   946: 
   947: /******************************************************************************/
   948: // Bull Fighter ROM Map
   949: 
   950: ROM_START( bullfgtr )
   951: 	ROM_REGION( 0x10000, REGION_CPU1, 0 ) // 68000 ROMs
   952: 	ROM_LOAD16_BYTE( "m_d13.bin",  0x00001, 0x2000, CRC(7c35dd4b) SHA1(6bd604ee32c0c5db17f90e24aa254ec7072d27dd) )
   953: 	ROM_LOAD16_BYTE( "m_b13.bin",  0x00000, 0x2000, CRC(c4adddce) SHA1(48b6ddbad52a3941d3e651642b26d9adf70f71f5) )
   954: 	ROM_LOAD16_BYTE( "m_d12.bin",  0x04001, 0x2000, CRC(5d51be2b) SHA1(55d2718479cb71ceefefbaf40c14285e5603e526) )
   955: 	ROM_LOAD16_BYTE( "m_b12.bin",  0x04000, 0x2000, CRC(d98390ef) SHA1(17006503325627055c8b22052d7ed94e474f4ef7) )
   956: 	ROM_LOAD16_BYTE( "m_dd10.bin", 0x08001, 0x2000, CRC(21875752) SHA1(016db4125b1a4584ae277af427370780d96a17c5) )
   957: 	ROM_LOAD16_BYTE( "m_b10.bin",  0x08000, 0x2000, CRC(9d84f678) SHA1(32584d54788cb570bd5210992836f28ba9c87aac) )
   958: 	ROM_FILL(                      0x0c000, 0x4000, 0 )
   959: 
   960: 	ROM_REGION( 0x10000, REGION_CPU2, 0 ) // Z80 ROMs
   961: 	ROM_LOAD( "s_m1.bin", 0x00000, 0x2000, CRC(2a8e6fcf) SHA1(866903408e05938a982ffef4c9b849203c6cc060) )
   962: 	ROM_LOAD( "s_l2.bin", 0x02000, 0x2000, CRC(026e1533) SHA1(6271869a3faaafacfac35262746e87a83c158b93) )
   963: 	ROM_LOAD( "s_k1.bin", 0x04000, 0x2000, CRC(51ee751c) SHA1(60bf848dfdfe313ab05df5a5c05819b0fa87ca50) )
   964: 	ROM_LOAD( "s_h1.bin", 0x06000, 0x2000, CRC(62c7a25b) SHA1(237d3cbdfbf45b33c2f65d30faba151380866a93) )
   965: 
   966: 	ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) // chars
   967: 	ROM_LOAD( "m_e4.bin", 0x000000, 0x1000, CRC(c6894c9a) SHA1(0d5a55cded4fd833211bdc733a78c6c8423897de) )
   968: 
   969: 	ROM_REGION( 0x8000, REGION_GFX2, ROMREGION_DISPOSE ) // tile set1
   970: 	ROM_LOAD_NIB_HIGH( "l_h7.bin",  0x00000, 0x2000, CRC(6d05e9f2) SHA1(4b5c92b72bf73a08a2359fe889a327a696a45e8a) )
   971: 	ROM_LOAD         ( "l_h7.bin",  0x02000, 0x2000, CRC(6d05e9f2) SHA1(4b5c92b72bf73a08a2359fe889a327a696a45e8a) )
   972: 	ROM_LOAD         ( "l_f7.bin",  0x04000, 0x2000, CRC(4352d069) SHA1(bac687f050837b023da00cb53bb524b2a76310d4) )
   973: 	ROM_LOAD         ( "l_f9.bin",  0x06000, 0x2000, CRC(24edfd7d) SHA1(be8a40d8d5ccff06f37c1ab67341f56e41a5ea88) )
   974: 
   975: 	ROM_REGION( 0x8000, REGION_GFX3, ROMREGION_DISPOSE ) // tile set2
   976: 	ROM_LOAD_NIB_HIGH( "l_h9.bin",  0x00000, 0x2000, CRC(016340ae) SHA1(f980d39337c711a15520388967ca4503e7970e18) )
   977: 	ROM_LOAD         ( "l_h9.bin",  0x02000, 0x2000, CRC(016340ae) SHA1(f980d39337c711a15520388967ca4503e7970e18) )
   978: 	ROM_LOAD         ( "l_f10.bin", 0x04000, 0x2000, CRC(4947114e) SHA1(822dc3f14b71dc9e5b69078aefbed6b438aa0690) )
   979: 	ROM_LOAD         ( "l_f12.bin", 0x06000, 0x2000, CRC(fa296cb3) SHA1(2ba864766655cb3dd2999a6cdf96dcefd6818135) )
   980: 
   981: 	ROM_REGION( 0x8000, REGION_GFX4, ROMREGION_DISPOSE ) // sprite set1
   982: 	ROM_LOAD_NIB_HIGH( "l_h6.bin",  0x00000, 0x2000, CRC(48394389) SHA1(a5c6021b60226a775b2052909e8d21b5f79d9ec5) )
   983: 	ROM_LOAD         ( "l_h6.bin",  0x02000, 0x2000, CRC(48394389) SHA1(a5c6021b60226a775b2052909e8d21b5f79d9ec5) )
   984: 	ROM_LOAD         ( "l_f6.bin",  0x04000, 0x2000, CRC(7c69b473) SHA1(abc181b4e5b3f48c667a0bb4814c3818dfc6e9e2) )
   985: 	ROM_LOAD         ( "l_f4.bin",  0x06000, 0x2000, CRC(c3dc713f) SHA1(c2072cc71ea61e0c718c339bda1460d93343469e) )
   986: 
   987: 	ROM_REGION( 0x8000, REGION_GFX5, ROMREGION_DISPOSE ) // sprite set2
   988: 	ROM_LOAD_NIB_HIGH( "l_h4.bin",  0x00000, 0x2000, CRC(141409ec) SHA1(3cc542fa34fdbd71e392c7c22da5d5120642be86) )
   989: 	ROM_LOAD         ( "l_h4.bin",  0x02000, 0x2000, CRC(141409ec) SHA1(3cc542fa34fdbd71e392c7c22da5d5120642be86) )
   990: 	ROM_LOAD         ( "l_f3.bin",  0x04000, 0x2000, CRC(883f93fd) SHA1(a96df701f82e62582522953830049d29bcb3d458) )
   991: 	ROM_LOAD         ( "l_f1.bin",  0x06000, 0x2000, CRC(578ace7b) SHA1(933e85d49db7b27fd85e4713f0984612bc29e134) )
   992: 
   993: 	// all color PROMs of current dump are bad and have wrong sizes
   994: 	ROM_REGION( 0x0300, REGION_PROMS, 0 ) // RGB PROMs
   995: 	ROM_LOAD( "m_a3.bin", 0x00000, 0x100, BAD_DUMP CRC(8203ee60) SHA1(5bf5e54615c77945365c39d6ae95586ae187ebed)  ) // R (made up, dump was bad)
   996: 	ROM_LOAD( "m_a1.bin", 0x00100, 0x100, BAD_DUMP CRC(2eb1a3de) SHA1(80b0e0f882210f2119d7ee307deb856dcc288352)  ) // G (made up, dump was bad)
   997: 	ROM_LOAD( "m_a2.bin", 0x00200, 0x100, BAD_DUMP CRC(2e769d4c) SHA1(4de42319aed5073e88742c006b641efdd52cac80)  ) // B (made up, dump was bad)
   998: 
   999: 	ROM_REGION( 0x0100, REGION_USER1, 0 ) // CLUT(same PROM x 4)
  1000: 	ROM_LOAD( "l_b6.bin",  0x0000, 0x100, CRC(8835a069) SHA1(bc8d4130d4fa0f16bb2511ac66b84d53218042a3) )
  1001: 	ROM_LOAD( "l_b7.bin",  0x0000, 0x100, CRC(8835a069) SHA1(bc8d4130d4fa0f16bb2511ac66b84d53218042a3) )
  1002: 	ROM_LOAD( "l_b9.bin",  0x0000, 0x100, CRC(8835a069) SHA1(bc8d4130d4fa0f16bb2511ac66b84d53218042a3) )
  1003: 	ROM_LOAD( "l_b10.bin", 0x0000, 0x100, CRC(8835a069) SHA1(bc8d4130d4fa0f16bb2511ac66b84d53218042a3) )
  1004: 
  1005: 	ROM_REGION( 0x0020, REGION_USER2, 0 ) // MSM5232 PROMs?(identical to bprom.3h in Equites)
  1006: 	ROM_LOAD( "s_h3.bin",  0x00000, 0x020, CRC(33b98466) SHA1(017c73cf8c17dc5047c89316ae5b45f8d22092e8) )
  1007: ROM_END
  1008: 
  1009: /******************************************************************************/
  1010: // Splendor Blast ROM Map
  1011: 
  1012: ROM_START( splndrbt )
  1013: 	ROM_REGION( 0x10000, REGION_CPU1, 0 ) // 68000 ROMs(16k x 4)
  1014: 	ROM_LOAD16_BYTE( "1.16a", 0x00001, 0x4000, CRC(4bf4b047) SHA1(ef0efffa2f49905e17e4ed3a03cac419793b26d1) )
  1015: 	ROM_LOAD16_BYTE( "2.16c", 0x00000, 0x4000, CRC(27acb656) SHA1(5f2f8d05f2f1c6c92c8364e9e6831ca525cbacd0) )
  1016: 	ROM_LOAD16_BYTE( "3.15a", 0x08001, 0x4000, CRC(5b182189) SHA1(50ebb1fddcb6838442e8a20261f200f3386ce8a8) )
  1017: 	ROM_LOAD16_BYTE( "4.15c", 0x08000, 0x4000, CRC(cde99613) SHA1(250b59f75eee84442da3cc7c599d1e16f0294df9) )
  1018: 
  1019: 	ROM_REGION( 0x10000, REGION_CPU2, 0 ) // Z80 ROMs(8k x 4)
  1020: 	ROM_LOAD( "1_v.1m", 0x00000, 0x2000, CRC(1b3a6e42) SHA1(41a4f0503c939ec0a739c8bc6bf3c8fc354912ee) )
  1021: 	ROM_LOAD( "2_v.1l", 0x02000, 0x2000, CRC(2a618c72) SHA1(6ad459d94352c317150ae6344d4db9bb613938dd) )
  1022: 	ROM_LOAD( "3_v.1k", 0x04000, 0x2000, CRC(bbee5346) SHA1(753cb784b04f081fa1f8590dc28056d9918f313b) )
  1023: 	ROM_LOAD( "4_v.1h", 0x06000, 0x2000, CRC(10f45af4) SHA1(00fa599bad8bf3ba6deee54165f381403096e8f9) )
  1024: 
  1025: 	ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) // 512 chars(8k x 1)
  1026: 	ROM_LOAD( "10.8c",  0x00000, 0x2000, CRC(501887d4) SHA1(3cf4401d6fddff1500066219a71ac3b30ecbdd28) )
  1027: 
  1028: 	ROM_REGION( 0x4000, REGION_GFX2, ROMREGION_DISPOSE ) // 256 tiles(16k x 1)
  1029: 	ROM_LOAD( "8.14m",  0x00000, 0x4000, CRC(c2c86621) SHA1(a715c70ace98502f2c0d4a81539cd79d19e9b6c4) )
  1030: 
  1031: 	ROM_REGION( 0x4000, REGION_GFX3, ROMREGION_DISPOSE ) // 256 tiles(16k x 1)
  1032: 	ROM_LOAD( "9.12m",  0x00000, 0x4000, CRC(4f7da6ff) SHA1(0516271df4a36d6ea38d1b8a5e471e1d2a79e8c1) )
  1033: 
  1034: 	ROM_REGION( 0x10000, REGION_GFX4, ROMREGION_DISPOSE ) // 256 sprites
  1035: 	ROM_LOAD_NIB_HIGH( "6.18n", 0x00000, 0x2000, CRC(aa72237f) SHA1(0a26746a6c448a7fb853ef708e2bdeb76edd99cf) )
  1036: 	ROM_CONTINUE     (          0x04000, 0x2000 )
  1037: 	ROM_LOAD         ( "6.18n", 0x02000, 0x2000, CRC(aa72237f) SHA1(0a26746a6c448a7fb853ef708e2bdeb76edd99cf) )
  1038: 	ROM_CONTINUE     (          0x06000, 0x2000 )
  1039: 	ROM_LOAD         ( "5.18m", 0x08000, 0x4000, CRC(5f618b39) SHA1(2891067e71b8e1183ee5741487faa1561316cade) )
  1040: 	ROM_LOAD         ( "7.17m", 0x0c000, 0x4000, CRC(abdd8483) SHA1(df8c8338c24fa487c49b01ce26db7eb28c8c6b85) )
  1041: 
  1042: 	ROM_REGION( 0x0300, REGION_PROMS, 0 ) // RGB PROMs
  1043: 	ROM_LOAD( "r.3a",   0x00000, 0x100, CRC(ca1f08ce) SHA1(e46e2850d3ee3c8cbb23c10645f07d406c7ff50b) ) // R
  1044: 	ROM_LOAD( "g.1a",   0x00100, 0x100, CRC(66f89177) SHA1(caa51c1bf071764d5089487342794cbf023136c0) ) // G
  1045: 	ROM_LOAD( "b.2a",   0x00200, 0x100, CRC(d14318bc) SHA1(e219963b3e40eb246e608fbe10daa85dbb4c1226) ) // B
  1046: 
  1047: 	ROM_REGION( 0x0500, REGION_USER1, 0 ) // CLUT(256bytes x 5)
  1048: 	ROM_LOAD( "2.8k",   0x00000, 0x100, CRC(e1770ad3) SHA1(e408b175b8fff934e07b0ded1ee21d7f91a9523d) )
  1049: 	ROM_LOAD( "s5.15p", 0x00100, 0x100, CRC(7f6cf709) SHA1(5938faf937b682dcc83e53444cbf5e0bd7741363) )
  1050: 	ROM_LOAD( "s3.8l",  0x00200, 0x100, CRC(1314b0b5) SHA1(31ef4b916110581390afc1ba90c5dca7c08c619f) ) // unknown
  1051: 	ROM_LOAD( "1.9j",   0x00300, 0x100, CRC(f5b9b777) SHA1(a4ec731be77306db6baf319391c4fe78517fe43e) ) // unknown
  1052: 	ROM_LOAD( "4.7m",   0x00400, 0x100, CRC(12cbcd2c) SHA1(a7946820bbf3f7e110a328b673123988af97ce7e) ) // unknown
  1053: 
  1054: 	ROM_REGION( 0x2000, REGION_USER2, 0 ) // unknown(8k x 1)
  1055: 	ROM_LOAD( "0.8h",   0x00000, 0x2000, CRC(12681fb5) SHA1(7a0930819d4cd00475d1897128daa6ac865e07d0) )
  1056: 
  1057: 	ROM_REGION( 0x0020, REGION_USER3, 0 ) // MSM5232 PROMs?(identical to bprom.3h in Equites)
  1058: 	ROM_LOAD( "3h.bpr", 0x00000, 0x020, CRC(33b98466) SHA1(017c73cf8c17dc5047c89316ae5b45f8d22092e8) )
  1059: ROM_END
  1060: 
  1061: /******************************************************************************/
  1062: // High Voltage ROM Map
  1063: 
  1064: ROM_START( hvoltage )
  1065: 	ROM_REGION( 0x10000, REGION_CPU1, 0 ) // 68000 ROMs(16k x 4)
  1066: 	ROM_LOAD16_BYTE( "1.16a", 0x00001, 0x4000, CRC(82606e3b) SHA1(25c3172928d8f1eda2c4c757d505fdfd91f21ea1) )
  1067: 	ROM_LOAD16_BYTE( "2.16c", 0x00000, 0x4000, CRC(1d74fef2) SHA1(3df3dc98a78a137da8c5cddf6a8519b477824fb9) )
  1068: 	ROM_LOAD16_BYTE( "3.15a", 0x08001, 0x4000, CRC(677abe14) SHA1(78b343122f9ad187c823bf49e8f001288c762586) )
  1069: 	ROM_LOAD16_BYTE( "4.15c", 0x08000, 0x4000, CRC(8aab5a20) SHA1(fb90817173ad69c0e00d03814b4e10b18955c07e) )
  1070: 
  1071: 	ROM_REGION( 0x10000, REGION_CPU2, 0 ) // Z80 ROMs(8k x 3)
  1072: 	ROM_LOAD( "5_v.1l", 0x00000, 0x4000, CRC(ed9bb6ea) SHA1(73b0251b86835368ec2a4e98a5f61e28e58fd234) )
  1073: 	ROM_LOAD( "6_v.1h", 0x04000, 0x4000, CRC(e9542211) SHA1(482f2c90e842fe5cc31cc6a39025adf65ba47ce9) )
  1074: 	ROM_LOAD( "7_v.1e", 0x08000, 0x4000, CRC(44d38554) SHA1(6765971376eafa218fda1accb1e173a7c1850cc8) )
  1075: 
  1076: 	ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) // 512 chars(8k x 1)
  1077: 	ROM_LOAD( "5.8c",   0x00000, 0x2000, CRC(656d53cd) SHA1(9971ed7e7da0e8bf46e97e8f75a2c2201b33fc2f) )
  1078: 
  1079: 	ROM_REGION( 0x4000, REGION_GFX2, ROMREGION_DISPOSE ) // 256 tiles(16k x 1)
  1080: 	ROM_LOAD( "9.14m",  0x00000, 0x4000, CRC(506a0989) SHA1(0e7f2c9bab5e83f06a8148f69d8d0cbfe7d55c5e) )
  1081: 
  1082: 	ROM_REGION( 0x4000, REGION_GFX3, ROMREGION_DISPOSE ) // 256 tiles(16k x 1)
  1083: 	ROM_LOAD( "10.12m", 0x00000, 0x4000, CRC(98f87d4f) SHA1(94a7a14b0905597993595b347102436d97fc1dc9) )
  1084: 
  1085: 	ROM_REGION( 0x10000, REGION_GFX4, ROMREGION_DISPOSE ) // 256 sprites
  1086: 	ROM_LOAD_NIB_HIGH( "8.18n", 0x00000, 0x2000, CRC(725acae5) SHA1(ba54598a087f8bb5fa7182b0e85d0e038003e622) )
  1087: 	ROM_CONTINUE     (          0x04000, 0x2000 )
  1088: 	ROM_LOAD         ( "8.18n", 0x02000, 0x2000, CRC(725acae5) SHA1(ba54598a087f8bb5fa7182b0e85d0e038003e622) )
  1089: 	ROM_CONTINUE     (          0x06000, 0x2000 )
  1090: 	ROM_LOAD         ( "6.18m", 0x08000, 0x4000, CRC(9baf2c68) SHA1(208e5ac8eb157d4bf949ab4330827da032a04235) )
  1091: 	ROM_LOAD         ( "7.17m", 0x0c000, 0x4000, CRC(12d25fb1) SHA1(99f5d68bd6d6ee5f2acb7685aceacfb0894c4961) )
  1092: 
  1093: 	ROM_REGION( 0x0300, REGION_PROMS, 0 ) // RGB PROMs
  1094: 	ROM_LOAD( "r.3a",   0x00000, 0x100, CRC(98eccbf6) SHA1(a55755e8388d3edf3020b1129a638fe1e99362b6) ) // R
  1095: 	ROM_LOAD( "g.1a",   0x00100, 0x100, CRC(fab2ed23) SHA1(6f63b6a3196dda76eb9a885b17d886a14365f922) ) // G
  1096: 	ROM_LOAD( "b.2a",   0x00200, 0x100, CRC(7274961b) SHA1(d13070060e216d633675a528cf0dc3de94c95ffb) ) // B
  1097: 
  1098: 	ROM_REGION( 0x0500, REGION_USER1, 0 ) // CLUT(256bytes x 5)
  1099: 	ROM_LOAD( "2.8k",   0x00000, 0x100, CRC(685f4e44) SHA1(110cb8f5a37f22ce9d391bd0cd46dcbb8fcf66b8) )
  1100: 	ROM_LOAD( "s5.15p", 0x00100, 0x100, CRC(b09bcc73) SHA1(f8139feaa9563324b69aeac5c17beccfdbfa0864) )
  1101: 	ROM_LOAD( "3.8l",   0x00200, 0x100, CRC(1314b0b5) SHA1(31ef4b916110581390afc1ba90c5dca7c08c619f) ) // unknown(identical to s3.8l in Splendor Blast)
  1102: 	ROM_LOAD( "1.9j",   0x00300, 0x100, CRC(f5b9b777) SHA1(a4ec731be77306db6baf319391c4fe78517fe43e) ) // unknown(identical to 1.9j in Splendor Blast)
  1103: 	ROM_LOAD( "4.7m",   0x00400, 0x100, CRC(12cbcd2c) SHA1(a7946820bbf3f7e110a328b673123988af97ce7e) ) // unknown(identical to 4.7m in Splendor Blast)
  1104: 
  1105: 	ROM_REGION( 0x2000, REGION_USER2, 0 ) // unknown(8k x 1, identical to 0.8h in Splendor Blast )
  1106: 	ROM_LOAD( "0.8h",   0x00000, 0x2000, CRC(12681fb5) SHA1(7a0930819d4cd00475d1897128daa6ac865e07d0) )
  1107: 
  1108: 	ROM_REGION( 0x0020, REGION_USER3, 0 ) // MSM5232 PROMs?(identical to bprom.3h in Equites)
  1109: 	ROM_LOAD( "3h.bpr", 0x00000, 0x020, CRC(33b98466) SHA1(017c73cf8c17dc5047c89316ae5b45f8d22092e8) )
  1110: ROM_END
  1111: 
  1112: /******************************************************************************/
  1113: // Initializations
  1114: 
  1115: static void equites_init_common(void)
  1116: {
  1117: 	equites_flip = 0;
  1118: 
  1119: 	equites_8404init();
  1120: }
  1121: 
  1122: static void splndrbt_init_common(void)
  1123: {
  1124: 	equites_8404init();
  1125: }
  1126: 
  1127: static DRIVER_INIT( equites )
  1128: {
  1129: 	equites_id = 0x8400;
  1130: 
  1131: 	equites_init_common();
  1132: 
  1133: 	equites_8404rule(0x094a, 0x007, 0x04); // 8404 test
  1134: 	equites_8404rule(0x094e, 0x049, 0x00); // 8404 test
  1135: 
  1136: 	equites_8404rule(0x0c76, 0x00b, 0x04); // death
  1137: 	equites_8404rule(0x0c7e, 0x0cf, 0x0c); // 2nd jmp hi
  1138: 	equites_8404rule(0x0c84, 0x0d1, 0xae); // 2nd jmp lo
  1139: 	equites_8404rule(0x0c8c, 0x0d3, 0x0c); // 1st jmp hi
  1140: 	equites_8404rule(0x0c92, 0x0d5, 0x9c); // 1st jmp lo
  1141: 
  1142: 	equites_8404rule(0x92a6, 0x00f, 0x04); // respawn
  1143: 	equites_8404rule(0x92b0, 0x27d,-0x40); // 2nd jmp hi
  1144: 	equites_8404rule(0x92b6, 0x27f,-0x04); // 2nd jmp lo
  1145: 	equites_8404rule(0x92b0, 0x281,-0x50); // 1st jmp hi
  1146: 	equites_8404rule(0x92b6, 0x283,-0x05); // 1st jmp lo
  1147: 
  1148: 	equites_8404rule(0x8f06, 0x013, 0x04); // ENT
  1149: 	equites_8404rule(0x8f0c, 0x481,-0x10); // ENT jmpaddr hi
  1150: 	equites_8404rule(0x8f12, 0x483,-0x01); // ENT jmpaddr lo
  1151: 
  1152: 	equites_8404rule(0x915e, 0x017, 0x04); // EXT
  1153: 	equites_8404rule(0x9164, 0x47d,-0x20); // scroll y
  1154: 	equites_8404rule(0x916a, 0x47f,-0x02); // player y
  1155: 	equites_8404rule(0x9170, 0x481,-0x30); // exit location hi
  1156: 	equites_8404rule(0x9176, 0x483,-0x03); // exit location lo
  1157: }
  1158: 
  1159: static DRIVER_INIT( bullfgtr )
  1160: {
  1161: 	equites_id = 0x8401;
  1162: 
  1163: 	equites_init_common();
  1164: 
  1165: 	equites_8404rule(0x0e7a, 0x601, 0x00); // boot up
  1166: 	equites_8404rule(0x3da4, 0x201, 0x0c); // goal in
  1167: }
  1168: 
  1169: static DRIVER_INIT( kouyakyu )
  1170: {
  1171: 	equites_id = 0x8500;
  1172: 
  1173: 	equites_init_common();
  1174: 
  1175: 	equites_8404rule(0x5582, 0x603, 0x05); // home run
  1176: }
  1177: 
  1178: static DRIVER_INIT( splndrbt )
  1179: {
  1180: 	equites_id = 0x8510;
  1181: 
  1182: 	splndrbt_init_common();
  1183: 
  1184: 	equites_8404rule(0x06f8, 0x007, 0x04); // 8404 test
  1185: 	equites_8404rule(0x06fc, 0x049, 0x00); // 8404 test
  1186: 
  1187: 	equites_8404rule(0x12dc, 0x01b, 0x04); // guard point
  1188: 	equites_8404rule(0x12e4, 0x01f, 0x04); // guard point
  1189: 
  1190: 	equites_8404rule(0x0dc2, 0x00b, 0x04); // guard point (start race)
  1191: 	equites_8404rule(0x0dd4, 0x5e1, 0x00); // no. of addresses to look up - 1
  1192: 	equites_8404rule(0x0dd8, 0x5e3, 0x0c); // race start/respawn addr hi
  1193: 	equites_8404rule(0x0dde, 0x5e5, 0x32); // race start/respawn addr lo
  1194: 
  1195: 	equites_8404rule(0x1268, 0x023, 0x04); // guard point
  1196: 
  1197: 	equites_8404rule(0x1298, 0x25f,-0x0c); // stage number?
  1198: 
  1199: 	// game params. (180261-18027f)->(40060-4006f)
  1200: 	equites_8404rule(0x12a0, 0x261, 0x0a); // max speed hi
  1201: 	equites_8404rule(0x12a0, 0x263, 0x00); // max speed lo
  1202: 	equites_8404rule(0x12a0, 0x265, 0x00); // accel hi
  1203: 	equites_8404rule(0x12a0, 0x267, 0x10); // accel lo
  1204: 	equites_8404rule(0x12a0, 0x269, 0x0c); // max turbo speed hi
  1205: 	equites_8404rule(0x12a0, 0x26b, 0x00); // max turbo speed lo
  1206: 	equites_8404rule(0x12a0, 0x26d, 0x00); // turbo accel hi
  1207: 	equites_8404rule(0x12a0, 0x26f, 0x20); // turbo accel lo
  1208: 	equites_8404rule(0x12a0, 0x271,-0x09); // random enemy spwan list
  1209: 	equites_8404rule(0x12a0, 0x273,-0x09); // .
  1210: 	equites_8404rule(0x12a0, 0x275,-0x09); // .
  1211: 	equites_8404rule(0x12a0, 0x277,-0x09); // .
  1212: 	equites_8404rule(0x12a0, 0x279,-0x09); // .
  1213: 	equites_8404rule(0x12a0, 0x27b,-0x09); // .
  1214: 	equites_8404rule(0x12a0, 0x27d,-0x09); // .
  1215: 	equites_8404rule(0x12a0, 0x27f,-0x09); // .
  1216: 
  1217: 	equites_8404rule(0x500e, 0x281,-0x08); // power-up's (random?)
  1218: 	equites_8404rule(0x500e, 0x283,-0x08); // power-up's (random?)
  1219: 
  1220: 	equites_8404rule(0x132e, 0x285,-0xa0); // object spawn table addr hi
  1221: 	equites_8404rule(0x1334, 0x287,-0x0a); // object spawn table addr lo
  1222: 
  1223: 	equites_8404rule(0x739a, 0x289,-0xb0); // level section table addr hi
  1224: 	equites_8404rule(0x73a0, 0x28b,-0x0b); // level section table addr lo
  1225: 
  1226: 	equites_8404rule(0x0912, 0x017, 0x04); // guard point
  1227: 	equites_8404rule(0x0b4c, 0x013, 0x04); // guard point
  1228: 
  1229: 	equites_8404rule(0x0bfc, 0x00f, 0x04); // guard point (miss/no gas/end level)
  1230: 	equites_8404rule(0x0c08, 0x5e1, 0x05); // no. of addresses to look up - 1
  1231: 	equites_8404rule(0x0c0c, 0x5e3,-0x70); // game over/respawn addr hi
  1232: 	equites_8404rule(0x0c12, 0x5e5,-0x07); // game over/respawn addr lo
  1233: 	equites_8404rule(0x0c0c, 0x5e7,-0x70); // game over/respawn addr hi
  1234: 	equites_8404rule(0x0c12, 0x5e9,-0x07); // game over/respawn addr lo
  1235: 	equites_8404rule(0x0c0c, 0x5eb,-0x70); // game over/respawn addr hi
  1236: 	equites_8404rule(0x0c12, 0x5ed,-0x07); // game over/respawn addr lo
  1237: 	equites_8404rule(0x0c0c, 0x5ef,-0x70); // game over/respawn addr hi
  1238: 	equites_8404rule(0x0c12, 0x5f1,-0x07); // game over/respawn addr lo
  1239: 	equites_8404rule(0x0c0c, 0x5f3,-0x70); // game over/respawn addr hi
  1240: 	equites_8404rule(0x0c12, 0x5f5,-0x07); // game over/respawn addr lo
  1241: 	equites_8404rule(0x0c0c, 0x5f7,-0x70); // game over/respawn addr hi
  1242: 	equites_8404rule(0x0c12, 0x5f9,-0x07); // game over/respawn addr lo
  1243: }
  1244: 
  1245: static DRIVER_INIT( hvoltage )
  1246: {
  1247: 	int i;
  1248: 
  1249: #if HVOLTAGE_HACK 
  1250: 	install_mem_read16_handler(0, 0x000038, 0x000039, hvoltage_debug_r);
  1251: #endif 
  1252: 
  1253: 	equites_id = 0x8511;
  1254: 
  1255: 	splndrbt_init_common();
  1256: 
  1257: 	equites_8404rule(0x0b18, 0x007, 0x04); // 8404 test
  1258: 	equites_8404rule(0x0b1c, 0x049, 0x00); // 8404 test
  1259: 
  1260: 	for(i=0x07; i<0x47; i+=4) equites_8404rule(0x0c64, i, 0xff); // checksum
  1261: 
  1262: 	equites_8404rule(0x0df6, 0x00f, 0x04); // 1st gateway (init)
  1263: 	equites_8404rule(0x0e02, 0x247, 0x01); // no. of addresses to look up - 1
  1264: 	equites_8404rule(0x0e06, 0x249, 0x10); // addr hi
  1265: 	equites_8404rule(0x0e0c, 0x24b, 0x12); // addr lo
  1266: 	equites_8404rule(0x0e06, 0x24d, 0x19); // addr hi
  1267: 	equites_8404rule(0x0e0c, 0x24f, 0x96); // addr lo
  1268: 
  1269: 	equites_8404rule(0x10fc, 0x017, 0x04); // 2nd gateway (intro)
  1270: 	equites_8404rule(0x111e, 0x6a5, 0x00); // no. of addresses to look up - 1
  1271: 	equites_8404rule(0x1122, 0x6a7, 0x11); // addr hi
  1272: 	equites_8404rule(0x1128, 0x6a9, 0xa4); // addr lo
  1273: 
  1274: 	equites_8404rule(0x0f86, 0x013, 0x04); // 3rd gateway (miss)
  1275: 	equites_8404rule(0x0f92, 0x491, 0x03); // no. of addresses to look up - 1
  1276: 	equites_8404rule(0x0f96, 0x493,-0x60); // addr hi
  1277: 	equites_8404rule(0x0f9c, 0x495,-0x06); // addr lo
  1278: 	equites_8404rule(0x0f96, 0x497,-0x60); // addr hi
  1279: 	equites_8404rule(0x0f9c, 0x499,-0x06); // addr lo
  1280: 	equites_8404rule(0x0f96, 0x49b,-0x60); // addr hi
  1281: 	equites_8404rule(0x0f9c, 0x49d,-0x06); // addr lo
  1282: 	equites_8404rule(0x0f96, 0x49f,-0x60); // addr hi
  1283: 	equites_8404rule(0x0f9c, 0x4a1,-0x06); // addr lo
  1284: }
  1285: 
  1286: /******************************************************************************/
  1287: 
  1288: // Game Entries
  1289: 
  1290: // Equites Hardware
  1291: GAMEX( 1984, equites,  0,        equites,  equites,  equites,  ROT90, "Alpha Denshi Co.",                "Equites", GAME_UNEMULATED_PROTECTION | GAME_NO_COCKTAIL )
  1292: GAMEX( 1984, equitess, equites,  equites,  equites,  equites,  ROT90, "Alpha Denshi Co. (Sega license)", "Equites (Sega)", GAME_UNEMULATED_PROTECTION | GAME_NO_COCKTAIL )
  1293: GAMEX( 1984, bullfgtr, 0,        equites,  bullfgtr, bullfgtr, ROT90, "Alpha Denshi Co. (Sega license)", "Bull Fighter", GAME_UNEMULATED_PROTECTION | GAME_WRONG_COLORS )
  1294: GAMEX( 1985, kouyakyu, 0,        equites,  kouyakyu, kouyakyu, ROT0,  "Alpha Denshi Co.",                "The Koukouyakyuh", GAME_UNEMULATED_PROTECTION )
  1295: 
  1296: // Splendor Blast Hardware
  1297: GAMEX( 1985, splndrbt, 0,        splndrbt, splndrbt, splndrbt, ROT0,  "Alpha Denshi Co.", "Splendor Blast", GAME_UNEMULATED_PROTECTION | GAME_NO_COCKTAIL )
  1298: GAMEX( 1985, hvoltage, 0,        splndrbt, hvoltage, hvoltage, ROT0,  "Alpha Denshi Co.", "High Voltage", GAME_UNEMULATED_PROTECTION )
  1299: 
  1300: /******************************************************************************/
  1301: 
  1302: 




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